2014-01-27 2 views
4

Documentation here을 배우십시오.scikit svc coef0 파라미터 범위

coef0 매개 변수가 다항식 및 시그 모이 드 커널에서 SVC 용으로 얼마나 중요한지 궁금합니다. 제가 이해할 수 있듯이, 그것은 절편입니다. 함수는 0에서 함수를 상쇄하기위한 선형 회귀와 같은 상수입니다. 그러나 내 지식으로는 SVM (scikit은 libsvm을 사용합니다)이 값을 찾아야합니다.

테스트 할 좋은 일반 범위는 무엇입니까? 예를 들어 일반적으로 C을 사용하는 경우 안전한 선택은 10^-5 ... 10^5이며 지수 단계로 올라갑니다.

그러나 coef0의 경우이 값은 데이터 의존도가 높고 각 데이터 집합에서 각 그리드 검색에 적합한 범위를 선택하는 방법을 자동화하는 방법을 잘 모르겠습니다. 어떤 포인터?

답변

3

먼저 시그 모이 드 함수는 거의 커널이 아닙니다. 사실, 거의 에 대해 매개 변수의 값은 (Mercer의 관점에서) 유효한 커널을 유도하는 것으로 알려져 있습니다.

둘째, coef0은 절편 용어가 아니며 커널 투영의 매개 변수이며 다항식 커널의 중요한 문제 중 하나를 극복하는 데 사용할 수 있습니다. 일반적으로 coef0 = 0을 사용하는 것만으로도 괜찮지 만 다항식 커널은 p->와 함께 하나의 이슈를 가지므로 <x,y>이 1보다 작고 더 큰 값을 가진 <a,b> 인 점 쌍이 점점 더 많이 분리됩니다. 이것은 하나보다 작은 값의 힘이 0에 더 가깝고 더 가깝기 때문에, 하나보다 큰 동일한 값의 힘이 무한대로 증가하기 때문입니다. coef0을 사용하여 데이터를 "스케일링"하여 그러한 구분이 없으므로 1-min <x,y>을 추가 할 수 있으므로 1보다 작은 값은 없습니다. 이 매개 변수를 조정할 필요가 실제로 느껴지면 [min (1-min, 0), max (<x,y>)]의 범위에서 검색을 제안합니다. 여기서 max는 모든 교육 집합을 통해 계산됩니다.

+0

첫 번째 문장을 완전히 이해하지 못했습니다. 시그마 이드 커널에 대해 최적화하기에 쓸모없는 매개 변수라고 말하고 있습니까? 그리고 나머지 의견에서 값 <1을 피하기 위해 항상 다항식 커널에 1을 사용하는 것이 합리적이라고 말할 수 있습니까? – lollercoaster

+1

Sigmoid **는 대부분의 매개 변수에 대해 ** 커널이 아닙니다. 튜닝에 관한 것이 아니고 일반적으로 ** 커널 머신과 함께 사용하는 잘못된 기능입니다 **. 그것은 신경망 공동체가 svms에 더 익숙하게하기 위해 도입되었지만 좋은 생각은 아닙니다. 폴리 들어, 내가 coef0 값을 0과 1을 확인하기 위해 저장 말할 것입니다. 둘 다 좋은 속성을 가질 수 있지만 다른 값을 확인하는 것입니다. – lejlot

+1

저는 Sigmoid가 잘못된 커널이라는 일반적인 주장에 동의하지 않습니다. 모든 것은 데이터에서부터 시작됩니다. 데이터가 S 자형과 잘 매핑되면 S 자형이 선택됩니다. Sigmoid가 내 데이터를 모델링하는 올바른 기능으로 판명 된 사례가있었습니다. –