서포트 벡터 머신 (Support Vector Machine, SVM)
서포트 벡터 머신은 Linear Classification, 즉 선형 분류 중 하나 입니다. 위의 그림과 같이 별모양과 동그라미가 있을 때 두 도형을 나누는 가장 좋은 boundary 를 찾아야 한다고 할 때 사용되는 머신 러닝 기법 중 하나 입니다. 그림 처럼 2차원일 경우 이 boundary 를 선으로 표현할 수 있지만 더 고차원으로 가게 될 경우 단순히 선형이라 표현하지 않고 hyperplane 이라 부르게 됩니다.
서포트 벡터 머신을 알기 위해서 중요한 기본 개념으로 3가지와 이에 따르는 몇가지 서브 개념들이 있습니다.
1. Margin ( VC Dimension, Shattering, Dichotomy )
2. Support Vector
3. Kernel
Margin - VC Dimension, Shattering, Dichotomy
Shattering 은 SVM 분류기가 Dichotomy 를 모두 표현할 수 있느냐 입니다. 위의 그림 중 마지막 그림을 보시면 + 와 - 를 나누는 선 하나를 표현할 수 있는 방법은 없습니다. 해당 경우의 Dichotomy 는 표현할 수 없는 것 입니다.
결론적으로 VC Dimension, 즉 SVM 분류기가 얼마나 복잡한 데이터를 표현할 수 있느냐의 여부는 Shattering 할 수 있는 가장 많은 데이터의 갯수라고 보실 수 있을 것 같습니다.
일반적으로 N 차원의 hyperplane 의 VC Dimension 은 N+1 이라고 합니다. 또한 VC Dimension 이 높으면 안 좋다고 합니다. 그리고 Margin 을 최대화 한다는 말의 동치는 VC Dimension 을 줄인다는 말과 동일하다고 합니다.
이상 이론적인 부분에서의 SVM 의 Margin 에 관련된 부분들을 살펴 보았습니다. 다음 글에서 그럼 어떻게 Maximum Margin 을 찾을 수 있을지에 대해서 살펴보도록 하겠습니다.
'ML' 카테고리의 다른 글
ML101 : 나이브 베이즈 (Naive Bayes) : 분류 (1) | 2017.03.13 |
---|---|
ML101 : 나이브 베이즈 (Naive Bayes) : 베이즈 정리 (0) | 2017.03.09 |
ML101 : weka practical exercise / 의사결정트리 (2) (0) | 2017.02.28 |
ML 101 : weka practical exercise / 의사결정트리 (1) (0) | 2017.02.15 |
ML 101 : 머신러닝 무료 강의 모음 (1) | 2017.02.07 |