서포트 벡터 머신(SVM)이란?
서포트 벡터 머신(Support Vector Machine, SVM)은 통계학습 이론(statistical learning theory)에 그 뿌리를 둔 대표적인 분류 기법입니다. 손글씨 숫자 인식부터 텍스트 분류에 이르기까지 다양한 실제 응용 분야에서 우수한 성능을 입증해 왔으며, 오늘날에도 가장 널리 사용되는 머신러닝 알고리즘 중 하나로 꼽힙니다.
SVM의 핵심 특징
SVM의 가장 큰 강점 중 하나는 고차원 데이터를 효과적으로 처리할 수 있다는 점입니다. 차원이 높아질수록 모델 성능이 급격히 저하되는 소위 '차원의 저주(curse of dimensionality)' 문제를 비교적 잘 회피합니다.
또 다른 핵심 요소는 결정 경계(decision boundary)를 학습 데이터 전체가 아닌, 서포트 벡터(support vectors)라고 불리는 일부 학습 인스턴스만을 사용해 정의한다는 것입니다. 덕분에 불필요한 데이터의 영향을 최소화하고 견고한 분류기를 만들 수 있습니다.
선형 분리 가능한 데이터와 초평면
데이터셋이 선형 분리 가능(linearly separable)하다고 가정해 봅시다. 이 경우 한쪽 면에는 모든 사각형 클래스가, 반대편 면에는 모든 원형 클래스가 위치하도록 하는 초평면(hyperplane)을 찾을 수 있습니다. SVM은 이러한 초평면을 명시적으로 학습할 수 있으며, 선형으로 분리되지 않는 데이터에 대해서도 커널 기법 등을 활용해 방법론을 확장하여 적용할 수 있습니다.
결정 경계 선택과 마진(Margin)
클래스를 나누는 초평면은 무수히 많이 존재할 수 있습니다. 따라서 분류기는 테스트 데이터에 대해 가장 좋은 성능을 낼 것으로 기대되는 하나의 초평면을 결정 경계로 선택해야 합니다.
예를 들어 B1과 B2라는 두 개의 후보 결정 경계를 생각해 볼 수 있습니다. 두 경계 모두 학습 인스턴스를 오분류 없이 각자의 클래스로 나눌 수 있습니다. 각 결정 경계 Bi에는 bi1과 bi2라는 한 쌍의 평행한 초평면이 대응됩니다.
- bi1: 결정 경계에서 시작해 평행하게 이동시켜 가장 가까운 사각형(양성 클래스)에 닿을 때까지 확장한 초평면
- bi2: 같은 방식으로 가장 가까운 원형(음성 클래스)에 닿을 때까지 확장한 초평면
이 두 초평면 사이의 거리를 마진(margin), 즉 분류기의 여백이라고 부릅니다.
마진이 클수록 좋은 이유
일반적으로 마진이 큰 결정 경계는 마진이 작은 결정 경계보다 더 낮은 일반화 오차(generalization error)를 보이는 경향이 있습니다. 반대로 마진이 좁으면 결정 경계에 아주 작은 변동만 생겨도 분류 결과가 크게 달라질 수 있어, 새로운 데이터에 대한 안정성이 떨어집니다.
구조적 위험 최소화(SRM) 원리
선형 분류기의 마진과 일반화 오차 사이의 관계를 이론적으로 설명해 주는 것이 바로 구조적 위험 최소화(Structural Risk Minimization, SRM)라는 통계학습 원리입니다. SRM은 분류기의 일반화 오차(R)에 상계(upper bound)를 제공합니다. 이 상계는 학습 오차(Re), 학습 샘플 수(N), 그리고 모델 복잡도(capacity, h)의 함수로 표현됩니다.
확률 1 − η 이상에서 분류기의 일반화 오차는 최악의 경우 다음과 같습니다.
R ≤ Re + φ(h/N, log(η)/N)
여기서 φ는 모델 복잡도 h에 대한 단조 증가 함수입니다. 이 부등식은 학습 오차와 모델 복잡도 사이의 균형을 통해 일반화 오차를 설명한다는 점에서, 최소 기술 길이(Minimum Description Length, MDL) 원리와 매우 유사한 형태임을 알 수 있습니다. 요컨대 SRM은 일반화 오차를 학습 오차와 모델 복잡도 사이의 트레이드오프로 정의하는 또 다른 관점이라 할 수 있습니다.