Gurugail Algorithm/SVM
Algorithm

SVM

I. 개요

SVM(Support Vector Machine)은 너저분한 패턴들의 분포들을 가장 잘 분류할 수 있는 기준선(평면)을 찾아내는 알고리즘이며, 이를 다차원 백터(패턴) 경우까지를 확장할 수 있도록 체계화 시킨 것이다. 복잡하게는 음성 인식에도 사용되기도 한다. 먼저 직관적인 이해를 돕기 위해 아래의 그림을 살펴보자. 2차원 평면 내 여러 개의 점들이 분포되어 있는 것을 확인할 수 있으며 이런 점(패턴)들을 분류할 수 있는(classification) 몇 개의 선들이 있다. 관건은 다차원 공간에서 분류의 기준이 되는 선(이름하여 Support vector)들을 어떻게 찾아낼 것인가라는 것이다. SVM은 바로 그 해답을 제시하는 알고리즘이다. 어떻게 보면 결정 트리(Decision tree)는 레벨이나 깊이 위주로 분류의 기준을 찾아내는 데 반해, SVM은 패턴들이 분표되어 있는 다차원 공간 상에서의 분류 기준을 찾아내는 것으로 유사하다고도 볼 수 있다.

용어

  • hyperplane : 패턴들을 분류할 수 있는 기준 평면들을 가리킴
  • maximum-margin hyperplane : 가장 잘 분류할 수 있는 평면

특징

  • SVM은 현재 알려져 있는 많은 알고리즘 중에서 가장 인식 성능이 뛰어난 학습 모델 중 하나이며, 그 이유는 미학습 데이터에 대해서 높은 식별 성능을 얻기 위한 2 클래스 분류를 기반으로 학습하기 때문임
  • 1990년대가 되어 비선형 분류 수법으로도 확장 적용됨.