답변:
감독 및 비 감독 문제에 커널 방법을 사용할 수 있습니다. 잘 알려진 예는 각각 지원 벡터 시스템 과 커널 스펙트럼 클러스터링 입니다.
커널 방법은 변환 된 형상 공간에서 선형 알고리즘을 사용하는 구조적 방법을 제공합니다. 변환 된 공간은 일반적으로 비선형 (및 더 높은 차원 공간)입니다. 이 소위 커널 트릭이 갖는 주요 이점은 합리적인 계산 비용 으로 비선형 패턴을 찾을 수 있다는 것 입니다.
나는 계산 비용이 합리적이지만 무시할 수는 없다고 말했다. 커널 메소드는 일반적으로 개의 트레이닝 인스턴스를 사용 하여 커널 행렬 을 구성 합니다. 따라서 커널 메소드의 복잡성은 입력 차원 수가 아니라 훈련 인스턴스 수의 함수입니다. 예를 들어, 서포트 벡터 머신은 ~ 사이의 학습 복잡성을 가지고 있습니다 . 매우 큰 대한 문제의 경우 , 현재 이러한 복잡성은 엄청나 다.
이것은 차원의 수가 많고 샘플의 수가 상대적으로 적을 때 (즉, 백만 미만) 계산적 관점에서 커널 방법을 매우 흥미롭게 만듭니다.
관련 : 지원 벡터 머신에 대한 선형 커널과 비선형 커널?
들어 매우 같은 높은 차원의 문제, 10000
당신이 질문에 언급 치수, 더 높은 차원 특징 공간에 매핑 할 필요는 종종 없다. 입력 공간이 이미 충분합니다. 이러한 문제에 대해 선형 방법은 거의 동일한 예측 성능 으로 수십 배 더 빠릅니다. 이러한 방법의 예는 LIBLINEAR 또는 Vowpal Wabbit 에서 찾을 수 있습니다 .
높은 차원의 입력 공간에 많은 샘플이있을 때 선형 방법이 특히 흥미 롭습니다. 당신은 단지이있는 경우 (이후 또한 싼 것 비선형 커널 방법을 사용하여 샘플을 작은). 예를 들어 차원의 샘플 이 있다면 커널 방법을 사용할 수 없습니다.
많은 훈련 사례 (소위 큰 작은 문제)가있는 저 차원 문제의 경우 선형 방법으로 예측 정확도가 떨어질 수 있습니다. 이러한 문제에 대해 EnsembleSVM 과 같은 앙상블 방법 은 표준 SVM에 비해 계산 비용을 크게 줄인 비선형 결정 경계를 제공합니다.
gamma
RBF 커널에 대한 모든 매개 변수를 조정하는 것이 매우 중요합니다 . 최적의 값 gamma
은 입력 차원의 수와 관련이 있습니다. 가장 일반적인 튜닝 방법은 교차 유효성 검사입니다. gamma
차원 축소와 함께 또는 축소없이 동일한 값을 사용하면 실수를 한 것일 수 있습니다.
grid.py
in libsvm
패키지를 사용합니다 . 대부분의 경우 높은 차원의 데이터의 경우이 수준 gamma
과 같이 항상 매우 작습니다 0.00001
.
EnsembleSVM
를 확인했습니다. 교차 유효성 검사 절차를 멀티 스레딩해야합니까? 그리고 예측 단계에서 대량의 데이터를 배치 및 멀티 스레딩 또는 멀티 머신으로 예측하는 것이 좋을까요?
esvm-train
and 에서 활성화되어 esvm-predict
있습니다. 멀티 스레딩을 비활성화하려면 해당 도구에서 다음 플래그를 사용하십시오 -threads 1
.
RBF
커널을 사용하면libsvm
항상 과적 합하므로 분류기는 테스트 세트에서 정확도는 높지만 정확도는 낮습니다. 그리고 분류기보다 치수 축소를 수행하고 축소 치수가 훈련 샘플 수에 가깝다면 분류 기가 훈련과 테스트 세트 사이에서 좋은 이익을 얻을 수 있습니다. 결과가 가장 경험적인 결과에 적합합니까? 감사.