2013-05-29 7 views
4

LIBSVM 패키지를 처음 사용합니다. 나는 매개 변수의 조정이 중요하다는 것을 알고 있지만 몇 가지 질문이 있습니다.libsvm을 사용하여 svm 조정

올바른 커널을 선택하는 방법은 무엇입니까? 나는 직선이 가장 빠르다는 것을 압니다, 그러나 우리는 언제 다른 것을 사용해야합니까? 정확도가 너무 낮거나 올바른 커널의 자동 선택을 프로그램하는 다른 방법이 있습니까?

둘째, MATLAB에서 SVM을 조정하는 효율적인 방법이 있습니까? 내가 생각할 수있는 것은 테스트 할 각 매개 변수에 대해 중첩 된 for -loops를 만든 다음 분류자를 사용하여 훈련하고 예측하는 것입니다. 그것은 아주 기본적인 코드를위한 것입니다. ...

답변

2

올바른 커널을 선택하는 방법은 무엇입니까? 나는 직선이 가장 빠르다는 것을 압니다, 그러나 우리는 언제 다른 것을 사용해야합니까? 정확도가 너무 낮거나 올바른 커널의 자동 선택을 프로그램하는 다른 방법이 있습니까?

가장 좋은 방법은 항상 선형 커널로 ​​시작하는 것입니다. 대규모 데이터 세트 (수천 개의 차원에서 수십만 개의 인스턴스)를 처리하는 경우 특수 선형 패키지 (예 : LIBLINEAR) 또는 앙상블 메소드 (EnsembleSVM)를 사용하는 것이 좋습니다. 후자에는 아직 적절한 인터페이스가 없다는 점에 유의하십시오.

고차원의 희소 데이터가있는 경우 선형 커널은 보통보다 복잡한 커널과 비교해도 매우 잘 수행됩니다.

일반적으로 선형 커널의 정확성만으로 충분하지 않으면 RBF 커널을 사용하는 것이 가장 좋습니다. 대부분의 데이터 세트에서 매우 잘 수행됩니다. RBF 커널로 전환 할 때 커널 매개 변수 gamma을 조정해야합니다.

둘째, MATLAB에서 SVM을 조정하는 효율적인 방법이 있습니까?

예! LIBSVM은 훈련 도중 -v k 플래그를 사용하여 k- 배 교차 검증을 제공합니다. 이 옵션을 제공하면 모델 대신 교차 유효성 검사 정확도 (분류) 또는 mse (회귀)가 산출됩니다. 그래도 매개 변수 튜플을 반복해야합니다.

+0

나는 당신이 언급 한 플래그에 대해 잘 몰랐습니다. 감사. –

+1

또한 grid.py를 사용하여 'C'및 'gamma'매개 변수를 미세 조정할 수 있습니다. –

관련 문제