Support Vector Machine에 적합한 학습 문제는 무엇입니까?


16

서포트 벡터 머신을 사용하여 특정 학습 문제를 해결할 수 있음을 나타내는 특징 또는 특성은 무엇입니까?

다시 말해서, 학습 문제를 볼 때 신경망이나 의사 결정 트리 또는 그 밖의 어떤 것보다 "오, 나는 이것을 위해 반드시 SVM을 사용해야한다"고하는 것은 무엇입니까?


supervised learningSVM이지도 되지 않은 학습 문제 에서도 사용될 수 있으므로 태그가 제거 되었습니다 .
Dawny33

감독되지 않은 문제에 svm을 사용하는 방법과이를 구현하는 패키지를 설명 할 수 있습니까?
GeorgeOfTheRF

@ML_Pro 댓글에 포함 된 링크를 통해 이동하십시오.
Dawny33

3
@ Dawny33, 비지도 학습에 SVM을 적용하는 것은 예외가 아니라 규칙입니다. SVM은 감독 학습 방법입니다.
AN6U5

1
@ AN6U5 알려 주셔서 감사합니다 exception.
Dawny33

답변:


7

SVM은 분류 (여러 그룹 또는 클래스를 구별) 및 회귀 (수학 모델을 통해 무언가를 예측)에 사용할 수 있습니다. 선형 및 비선형 문제에 모두 적용 할 수 있습니다.

2006 년까지는 머신 러닝을위한 최고의 범용 알고리즘이었습니다. svm, 신경망, 나무 등 가장 알려진 알고리즘의 많은 구현을 비교 한 논문을 찾으려고했습니다. 미안하지 못했습니다 (나를 믿어야 할 것입니다). 이 논문에서 라이브러리 libsvm과 함께 최고의 성능을 얻은 알고리즘은 svm이었습니다.

2006 년 Hinton은 딥 러닝과 신경망을 생각해 냈습니다. 그는 현재의 최첨단 기술을 30 % 이상 개선했는데 이는 대단한 발전입니다. 그러나 딥 러닝은 방대한 트레이닝 세트에 대해서만 우수한 성능을 얻습니다. 작은 훈련 세트가 있다면 svm을 사용하는 것이 좋습니다.

또한 여기에서 scikit-learn을 통해 다른 기계 학습 알고리즘을 사용 하는 시기에 대한 유용한 인포 그래픽을 찾을 수 있습니다 . 그러나 내가 아는 한, 문제가 X, Y 및 Z 기능이 있는지 svm을 사용하는 것이 더 낫다는 것에 대해 과학계에서는 합의가 없습니다. 다른 방법을 시도해 볼 것을 제안합니다. 또한 svm 또는 신경망은 단지 모델을 계산하는 방법이라는 것을 잊지 마십시오. 사용하는 기능뿐만 아니라 매우 중요합니다.


1
@HoapHumaboid 저는 SVC와 SVR에 대해 알고 있으며 커널을 사용하여 SVM을 NLP에 적용 할 수 있으며 SVM을 다른 학습 알고리즘과 비교하는 논문을 알고 있습니다. SVM으로 다루어야한다는 것이 분명합니다. 다시 말해, 학습 문제로 인해 NN이나 의사 결정 트리 또는 그 밖의 다른 것보다는 "이에 SVM을 사용해야합니다"
Ragnar

@Ragnar 내 편집 된 응답을 참조하십시오
hoaphumanoid

2

우리가 분류 설정에 있다고 가정 해 봅시다.

들어 svm기능 엔지니어링 초석입니다 :

  • 세트는 선형으로 분리 가능해야합니다. 그렇지 않으면 데이터를 변환해야합니다 (예 : 커널 사용). 이것은 algo 자체에서 수행되지 않으며 기능 수를 날려 버릴 수 있습니다.
  • svm다른 방법론 (트리 앙상블)보다 차원 수를 빠르게 늘리면 성능이 저하 된다고 말하고 싶습니다 . 이는 제한적인 최적화 문제로 인해 발생합니다 svm. 때로는 기능 축소가 가능할 수도 있고 때로는 그렇지 않을 수도 있습니다. 실제로 효과적인 사용을위한 길을 열 수 없습니다.svm
  • svm지형지 물의 수가 관측치의 수보다 훨씬 많은 데이터 세트로 인해 어려움을 겪을 수 있습니다. 이것은 제한된 최적화 문제를 살펴보면 다시 이해할 수 있습니다.
  • 범주 형 변수는 svm알고리즘에 의해 즉시 처리되지 않습니다 .
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.