Support Vector Machine은 여전히 ​​틈새 시장에서 "최신 기술"로 간주됩니까?


58

이 질문은 다른 질문에 대한 의견에 대한 답변입니다.

이 의견은 Coursera의 머신 러닝 과정 강의 계획서에 관한 것이며 "현재 SVM은 그렇게 많이 사용되지 않습니다"라는 문구를 따라 진행되었습니다.

방금 관련 강의를 마쳤으며 SVM에 대한 이해는 강력하고 효율적인 분류 알고리즘이며, 커널을 사용할 때 10 ~ 1000 개 정도의 기능을 다루는 "틈새"가 있으며 훈련 샘플 수는 아마도 100에서 10,000 사이입니다. 훈련 샘플의 한계는 핵심 알고리즘이 원래의 특징이 아니라 훈련 샘플의 수를 기반으로 한 차원으로 정사각 행렬에서 생성 된 결과를 최적화하는 것입니다.

내가 본 의견은 과정이 이루어진 이후로 약간의 변화가 있었으며, 그렇다면 그 변화는 무엇입니까? ? 아니면 댓글 작성자의 의견이나 개인적인 경험일까요?

예를 들어 "패션 벡터 시스템을 지원하지 않습니다"라는 검색을 시도했지만 다른 것을 선호한다는 말은 없었습니다.

그리고 Wikipedia에는 http://en.wikipedia.org/wiki/Support_vector_machine#Issues가 있습니다. . . 주요 고착 점은 모델을 해석하는 데 어려움이있는 것으로 보입니다. 블랙 박스 예측 엔진에는 SVM이 적합하지만 통찰력 생성에는 적합하지 않습니다. 나는 중요한 문제로서, 훈련 데이터 및 학습 과제 등의 특성과 함께 작업에 적합한 도구를 선택할 때 고려해야 할 또 다른 사소한 일이라고 생각하지 않습니다.



6
나는 그것을 얻지 못한다-이것이 CrossValidated에 게시되어야하는 질문이 아닌가? DataScience와 CrossValidated의 차이점에 대해 계속 혼란스러워합니다.
fnl

@ fnl : svms는 수학적으로 덜 순수한 "솔루션"엔지니어링 솔루션의 분류 기준으로 경쟁이 치열하므로 DataScience가 여기에서 비교하기에 더 나은 위치에 있다고 생각합니다. 나는 당신의 혼란을 공유하지만!
Neil Slater

답변:


46

SVM은 강력한 분류기입니다. 그것은 좋은 장점이 있습니다 (그 인기에 책임이 있다고 생각합니다) ... 이들은 다음과 같습니다.

  • 효율성 : 서포트 벡터 만 분류 경계를 결정하는 역할을합니다. 트레이닝 세트의 다른 모든 포인트는 메모리에 저장할 필요가 없습니다.
  • 소위 커널의 힘 : 적절한 커널을 사용하면 피처 공간을 더 큰 차원으로 변환하여 선형으로 분리 할 수 ​​있습니다. 커널 개념은 내부 제품의 도움으로 유사성의 개념을 정의 할 수있는 임의의 개체와 함께 작동하므로 SVM은 트리, 그래프 등과 같은 임의의 개체를 분류 할 수 있습니다.

몇 가지 중요한 단점도 있습니다.

  • 모수 민감도 : 성능은 정규화 모수 C의 선택에 매우 민감하여 모델에 약간의 차이가있을 수 있습니다.
  • 가우스 커널의 추가 매개 변수 : 가우스 커널의 반경은 분류기 정확도에 큰 영향을 줄 수 있습니다. 최적의 매개 변수를 찾으려면 일반적으로 그리드 검색을 수행해야합니다. LibSVM은 그리드 검색을 지원합니다.

SVM은 일반적으로 "Sparse Kernel Machines"클래스에 속합니다. SVM의 경우 희소 벡터는 최대 마진 기준에서 선택한 지원 벡터입니다. RVM ( Relevance Vector Machine) 과 같은 다른 희소 벡터 시스템 은 SVM보다 성능이 우수합니다. 다음 그림은이 둘의 비교 성능을 보여줍니다. 그림에서 x 축은 두 클래스 y = {0,1}의 1 차원 데이터를 보여줍니다. 혼합 모형은 P (x | y = 0) = Unif (0,1) 및 P (x | y = 1) = Unif (.5,1.5) (Unif는 균일 분포를 나타냄)로 정의됩니다. 이 혼합물로부터 1000 포인트를 샘플링하고, 후방을 추정하기 위해 SVM 및 RVM을 사용 하였다. SVM의 문제점은 예측 된 값이 실제 로그 확률과 거리가 멀다는 것입니다.

RVM 대 SVM

요즘 매우 인기있는 매우 효과적인 분류기는 Random Forest 입니다. 주요 장점은 다음과 같습니다.

  • 조정할 하나의 매개 변수 (예 : 숲의 나무 수)
  • 완전히 매개 변수에 민감하지 않음
  • 여러 클래스로 쉽게 확장 가능
  • 확률 론적 원칙을 기반으로 함 (의사 결정 트리의 도움으로 상호 정보 획득 극대화)

4
지나치게 중요하다는 의미는 아니지만 SVM은 효율적이지 않습니다. 대부분의 경우 입방체 복잡성이 있기 때문에 많은 페이징이 발생합니다.
indico

2
예, 표준 수렴 방법에는 O (n ^ 3)가 필요합니다.하지만 O (n ^ 2)로 줄어든 곳 (T. Joachims의 홈 페이지 일 수 있음)을
보았습니다

4
대부분의 실제 문제에 대한 @indico 커널 SVM 교육의 복잡성은 2 차에 가깝습니다. Platt의 큐빅 SMO는 꽤 오랫동안 사용되지 않았습니다. 실제로 큰 데이터 세트에는 여전히 너무 높지만 묘사하는 것만 큼 나쁘지는 않습니다. 선형 SVM은 하위 선형 복잡성으로 효율성이 높습니다.
Marc Claesen

SVM의 다른 장점 : 1) 내부 분석은 데이터 분석에 익숙하지 않은 사람들이 잘 이해할 수 있습니다. (그리고 덜 : 2) (데이터 과학이 아닌) 전문가의 실시간 대화 형 피드백이 필요한 경우 선형 SVM은 더 빠른 옵션이 될 수 있으며 전문가의 교육이 향상 될 수 있습니다.]
tsttst September

2
랜덤 포레스트에는 일반적으로 트리 당 최대 피처 수 및 최대 깊이와 같은 다른 하이퍼 파라미터가 있습니다. 또한 SVM은 리소스가 제한된 환경에서 프로덕션 환경에 쉽게 배치 할 수 있습니다. 모델을 평가하는 데 많은 메모리가 필요하지 않습니다.
David Anderson

8

이 질문에 대한 대답에서 우리가 할 한 가지 중요한 차이점은 우리가 선형 지원 벡터 머신 ( Linear Support Vector Machine) 에 대해 이야기하는지 , 비선형 (즉, 커널 화 된 지원 벡터 머신)인지에 대한 것입니다.

선형 SVM

선형 SVM은 이론상이며 기능의 선형 관계에 의해 데이터를 설명 할 수있을 때 아주 좋은 모델입니다. 입력 데이터의 작은 변동이 모델에서 큰 변화를 일으키지 않는다는 점에서 견고 하기 때문에 선형 (일명 최소 제곱) 회귀와 같은 고전적인 방법보다 우수 합니다. 이것은 데이터 포인트 사이 의 여백 을 최대화하는 선 (하이퍼 플레인)을 찾으려고함으로써 달성됩니다 . 이 최대 마진 하이퍼 플레인은 다른 머신 러닝 방법이 부족한 이론적 속성 인 보이지 않는 데이터 포인트에 대한 모델의 일반화 기능을 보장하는 것으로 나타났습니다.

각 입력 피처에는 모델 출력에 직접 영향을 미치는 가중치가 있으므로 선형 SVM은 다른 선형 모델로 해석 할 수 있습니다.

또한 선형 SVM은 훈련 속도매우 빠르기 때문에 대규모 데이터 세트에 대한 부분적인 훈련 시간을 보여줍니다. 이것은 현재의 딥 러닝 방법의 방식으로 확률 론적 경사 하강 기법을 사용함으로써 달성됩니다.

비선형 SVM

비선형 SVM은 여전히 ​​선형 모델이며 동일한 이론적 이점을 자랑하지만 소위 커널 트릭 을 사용하여이 공간을 확장 된 공간에 구축합니다. 눈에 띄는 결과는 결과 모델이 데이터에 대해 비선형 결정을 내릴 수 있다는 것입니다. 데이터 포인트간에 사용자 정의 커널 인코딩 유사성을 제공 할 수 있으므로 문제 지식을 사용하여 문제의 관련 부분에 이러한 커널 초점을 맞출 수 있습니다. 그러나이를 효과적으로 수행하는 것은 어려울 수 있으므로 일반적으로 거의 모든 사람이 플러그 앤 플레이 가우스 커널을 사용합니다.

비선형 SVM은 예측에 관련된 훈련 데이터와 그렇지 않은 훈련 데이터를 알려주기 때문에 부분적으로 해석 할 수 있습니다. 랜덤 포레스트 또는 딥 네트워크와 같은 다른 방법으로는 불가능합니다.

불행히도 비선형 SVM은 느립니다. 최첨단 알고리즘은 Sequential Minimal Optimization으로 2 차 성능을 보여 주며 수많은 머신 러닝 라이브러리 (scikit-learn 포함)에서 LIBSVM 라이브러리를 통해 널리 구현 됩니다.

이 방법의 인기

SVM이 예전처럼 인기가 높지 않은 것은 사실입니다. SVM과 랜덤 포레스트 또는 딥 러닝 방법에 대한 연구 논문이나 구현을 인터넷 검색하여 확인할 수 있습니다. 그래도 일부 실제 설정, 특히 선형 경우에 유용합니다.

또한, 무료 점심 식사 정리 로 인해 어떤 기계 학습 방법도 모든 문제에서 다른 어떤 것보다 우수하다는 것을 보여줄 수 없다는 것을 명심하십시오 . 일부 방법은 일반적으로 더 잘 작동하지만 일반적이지 않은 방법으로 더 나은 결과를 얻을 수있는 데이터 집합을 항상 찾을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.