Chapter 15 지지 벡터 기계와 기계 학습
이 글은 최신 정보검색론 을 읽고 정리 한 내용입니다.
Chapter 15 에서는 분류 모델 중 하나인 지지 벡터 기계 (SVM) 에 대해 알아보겠습니다.
SVM 의 기본적인 아이디어는 두 범주의 경계를 가장 넓게 하는 경계를 찾는 것 입니다. 주로 2-Class 분류에 많이 쓰이며, 필요에 따라 회귀나 다범주 분류에도 쓰입니다.
15.1 선형 분류 문제
선형분류란 위의 별과 동그라미 자료를 구분하는 선을 찾는 문제로 볼 수 있습니다.
A 와 B 가 둘 다 선형 분류인데, 이 중 어떤 선이 더 좋은 분류기일까요?
답은 B입니다. SVM 은 두 범주의 경계를 가장 넓게, 즉 가장 확실하게 분류하는 분류기를 찾는 것이 목적이기 때문입니다.
여기서 분류기를 결정하는 점 (노란색으로 표시된 점) 을 Support Vector 라고 합니다.
15.2 SVM 의 확장
1) soft margin SVM
SVM 분류기는 B’ 나 B’’ 선 바깥쪽으로 어떠한 데이터가 추가되어도 분류기가 바뀌지 않습니다. Support Vector 만이 분류기를 결정하기 때문입니다.
문제는 B’ 와 B’’ 사이나 근처에 데이터가 추가되는 경우입니다. 그 사이에 데이터가 추가되면 분류기가 바뀔 수도 있고, 만약의 경우 이상치가 들어온다면 이상치에 의해 분류기가 결정될 수 있기 때문입니다.
이런 이상치에 대비하기 위해서 우리는 보다 유연한 모델이 필요합니다. 선형 SVM 모델 보다 이상치에 유연한 모델을 soft margin모델 이라고 합니다. (수식은 뒤에서 설명하겠습니다.)
앞의 기본 SVM 모델 (hard margin) 에서 파라미터 $C$를 추가하면 soft margin 모델을 고려할 수 있는데, 이 $C$값에 따라 이상치를 얼마나 허용할 지 결정하게 됩니다.
$C$ 값이 작을수록 이상치를 많이 허용하고, $C$ 값이 클수록 이상치를 적게 허용합니다. 즉, $C$ 가 작을수록 과소적합, $C$ 가 클수록 과대적합이 될 위험이 높기 때문에 적절한 파라미터 값을 찾는 과정이 필요합니다.
2) 비선형 SVM
이제까지는 선형 SVM 모델만 보았습니다. 하지만 실제 데이터에서는 아무리 선형으로 분류하려고 해도 되지 않는 경우가 더 많습니다. 이런 경우에도 우리는 커널 이라는 개념을 통해 선형 분류기를 사용할 수 있습니다.
좌측의 Input Space 에서는 선형 분류기를 사용할 수 없지만, 차원을 높여 우측의 모양으로 만들어 선형 분류기 (초평면) 을 정의할 수 있습니다.
이처럼 저차원 공간을 고차원 공간으로 사상하는 방법을 커널 이라고 합니다.
이 커널에는 많은 종류가 있지만, 많이 사용하는 가우시안 RBF 커널의 개념에 대해서 주로 설명을 하겠습니다.
RBF 커널은 gamma 를 파라미터로 사용합니다. 위의 그림은 gamma 값에 따른 RBF 커널의 표준편차 를 나타냅니다. gamma 가 클수록 표준편차가 작습니다. 즉, gamma가 클수록 한 데이터 포인터들이 영향력을 행사하는 거리가 짧아지는 반면, gamma가 낮을수록 커진다고 볼 수 있습니다.
soft margin SVM 모델에 RBF 커널을 사용한다고 하면, C와 gamma 총 두 개의 파라미터를 최적화 하는 작업이 필요합니다.
C 값이 커질수록 이상치를 적게 허용 하고 있는 것을 확인할 수 있고, gamma 값이 커질수록 경계가 더 구체적으로 변하는 것을 확인할 수 있습니다. 이러한 성질들을 고려해 적절한 파라미터를 정하는 것이 중요합니다.
+) 수식
수식적으로 분류기를 구하면 다음과 같습니다.
초평면의 절편을 $b$, 초평면에 직교하는 법선 벡터 (가중치 벡터) 를 $ \vec{w} $ 라고 하면, 초평면 상의 모든 점 $\vec{x}$는
$\vec{w}^T\vec{x} = -b$를 만족합니다.