본문 바로가기

Data

[SVM] 1. yi(x·w+b) >= 1 도출하기




위 그래프는 두개의 그룹을 나누는 가장 최단의 경계가 되는 서포트 벡터 라인 두개와,

두 그룹의 경계가 되는 점선라인(dicision boundary)을 표현하고 있다. 


여기서  dicision boundary를 통과하는 범선 벡터 w와(파란색), 특정할 수 없는 어떤 벡터 u(주황색)가 있다.


이 둘의 내적(dot product) 값은 상수 c보다 크다고 할 수 있다고 했을때,

c를 이항하여 b(c=-b)로 치환하면 다음과 같다.



여기서 벡터 u가 decision boundary에 위치한 벡터 X중 하나라고 했을 때,

w와 X의 정의에 따라 직교하는 벡터의 내적은 0이 되므로, 아래와 같다.



나아가, w와 X의 내적과 좌표계상의 위치를 조정하는 편향값(bias, Decision Boundary 그래프가 원점에서 이동한 거리)인 상수 b를 더하고,

그 합이 0이되면 벡터 X는 decision boundary에 해당하는 좌표 (x, y)값이라고 할 수 있다.

(다시말해, 상수 b가 0이라면 decision boundary는 원점을 지나는 그래프가 된다.)

여기에 두가지 가정을 추가한다.

두가지 값이 1 이상이면 positive class로, -1 이하이면 negative vector class로 분류한다는 것이다.

값이 0이되는 식이 decision boundary의 조건식이라면,

값이 1, 혹은 -1이 되는 식은 각 클래스의 값과 최단거리 그래프가 되는 support vector 조건식이 된다.


그러나 이런 가정만으로 어떤 수학적인 법칙을 찾기에는 어려움이 있다. 이를 해소하기위해 각 항에 class값(+1, -1)인 yi를 곱한다.



이렇게 곱셈을 하면 두개의 다른 식이 하나의 부등식으로 도출된다. (마이너스 곱을 하면 우항의 값이 플러스로 변형되고 부등호의 방향이 바뀐다)



도움이 됐던 자료/강의

MIT 6.034 Artificial Intelligence, Fall 2010:  https://www.youtube.com/watch?v=_PwhiWxHK8o

Chapter 3: Support Vector machine with Math: https://medium.com/deep-math-machine-learning-ai/chapter-3-support-vector-machine-with-math-47d6193c82be

초짜 대학원생의 입장에서 이해하는 Support Vector Machine (1): http://jaejunyoo.blogspot.com/2018/01/support-vector-machine-1.html

서포트 벡터 머신 (Support Vector Machine): https://ratsgo.github.io/machine%20learning/2017/05/23/SVM/