서포트 벡터 머신(SVM)은 Decision Boundary, 결정 경계선의 기준을 찾는 모델이다. 그 말인 즉, 결정 경계선의 위치가 모델의 성능을 결정한다는 뜻!
SVM은 최적의 결정 경계를 찾는 알고리즘이라고 할 수 있다.
위 그림처럼 결정 경계(Separating Hyperplane)을 찾으려면 최소 세개의 점(vector)을 찾아야 한다. 세개의 점이 결정 경계를 Support(지지) 하고 있다고 해서 붙여인 이름이라고 한다.
위 수식으로 Seperating Hyperplane을 만들 수 있다. 앞선 그림처럼 Support Vector와 Separating Hyperplane과의 거리가 생기는데 이 거리를 Margin이라고 정의한다.
직관적으로 보면 +, - 두 클래스를 구별하는 선을 그리라고 했을 때, +, - 샘플 사이의 거리를 가장 넓게 쓸 수 있는 선을 그릴 것이다.
즉 margin을 최대화 시키는게 SVM의 목적이다.
Margin distance를 계산을 해보면
Separating hyperplane : ,
양의 방향으로 a 만큼 이동한 파란선 : ,
hyperplane의 양의 방향에 있는 임의의 vector : ,
Separating hyperplane로 수선의 발을 내려 만나는 점 vector :
가 있다고 하자.
는 를 vector w 방향으로 r 만큼 진행시킨 vector 라고 말할 수 있다. 즉 수식으로 표현
위 를 식 에 대입을 해서 정리하면 (정리 생략)
로 margin을 알 수 있게 된다.