2010-08-05 4 views
1

opencv SVM 구현은 SVM을 학습하는 데 사용되는 CVSVMParams 구조에서 사용해야하는 "SVM 유형"이라는 레이블이 붙은 매개 변수를 사용합니다. 내가 찾을 수있는 모든 설명은 다음과 같습니다OpenCV SVM 유형 매개 변수는 무엇입니까

// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };

사람은 서로 다른 값이 무엇을 나타내는 지 알아? 일반적

답변

6

:

  • (또한, C-SVM 분류로 알려진) 분류 SVM 타입 1
  • 분류 (또한 뉴 SVM 분류로 알려진) SVM 유형 2
  • 회귀 SVM 타입 1 (또한 SVM 엡실론 - 회귀)로 알려진
  • 회귀 SVM 2 형 (또한 뉴 SVM 회귀라고도 함)

상세 될 수 페이지에서 찾았습니다 SVM

+1

한 클래스는 어떻습니까? – petersaints

9

그들은 SVM의 다른 공식입니다. SVM의 핵심은 수학 최적화 문제입니다. 이 문제는 다른 방법으로 설명 할 수 있습니다.

C-SVM은 마진의 크기와 잘못 분류 된 학습 점의 수 사이의 트레이드 오프 매개 변수로 C를 사용합니다. C는 숫자이며 유용한 범위는 데이터 집합에 따라 다르며 데이터에 따라 매우 작게 (10-5)에서 매우 크게 (10^5와 같이)까지 다양합니다.

nu-SVM은 C 대신 nu를 사용합니다. nu는 대략 지원 벡터로 끝나는 교육 포인트의 백분율입니다. 지원 벡터가 많을수록 마진이 넓을수록 더 많은 교육 포인트가 잘못 분류됩니다. 뉴는 0.1에서 0.8 사이의 범위 - 0.1에서 대략 10 %의 트레이닝 포인트는 0.8에서 80 %와 비슷한 지원 벡터가됩니다. 나는 그 방식이 단지 그 상관 관계가 있기 때문에 대략 말합니다 - 정확하지 않습니다.

엡실론 -SAR 및 nu-SVR은 회귀 분석을 위해 SVM을 사용한다. 최대 마진 초평면을 찾아서 이진 분류를하는 대신, 미래 모델을 예측하기 위해 데이터를 가장 잘 맞는 하이퍼 튜브를 찾는 데 개념이 사용됩니다. 그것들은 매개 변수화 된 방식이 다릅니다 (nu-SVM과 C-SVM이 다릅니다).

1 클래스 SVM은 신규성 감지입니다. 바이너리 분류 또는 값 예측 대신 SVM에 교육 세트를 제공하고 미래 인스턴스가 클래스의 일부로 또는 클래스 외부로 분류 될 수 있도록 해당 세트를 랩핑하도록 모델을 학습하려고 시도합니다 (소설 또는 국외자).

관련 문제