7.2.7 서포트 벡터 머신 알고리즘
서포트 벡터 머신(Support Vector Machine, SVM)은 두 클래스 간의 마진(margin)을 최대화하는 최적의 초평면(hyperplane)을 찾는 분류 모델입니다. 따라서 SVM의 최적화 목표는 마진을 최대화하는 것입니다. 마진이란 클래스 사이의 결정 경계를 의미하는 초평면과, 서포트 벡터(support vector)라는 초평면에 가장 가까운 훈련 샘플들 사이의 거리를 의미합니다. 두 개의 차원 X1과 X2로 간단한 사례를 들어 보겠습니다. 다음 그림처럼 O과 +를 분리하는 선을 긋고자 합니다.
▲ 그림 7-7 간단한 SVM 알고리즘 사례
세 직선 모두 O과 +를 완벽하게 분리해냈습니다. 그러나 이들을 분리하는 최적의 직선은 단 하나여야 합니다. 각 클래스로부터의 거리가 같은 직선을 그으면 양쪽에 모두 여유가 생기는 최적의 직선이 만들어집니다.
▲ 그림 7-8 SVM 알고리즘