Optimization objective

$$ h(x) = g(\theta^TX)\\ =\frac{1}{1+e^{-\theta^TX}} $$

y = 1이라면, $\theta^Tx >>0$ 일것, y = 0이라면 $\theta^Tx << 0$

$$ J(\theta) =-ylog(h_{\theta}(x)) -(1-y)log(1-h_{\theta}(x))\\= -ylog(\frac{1}{1+e^{-\theta^TX}}) -(1-y)log(1-\frac{1}{1+e^{-\theta^TX}})\\ $$

Untitled

우리는 SVM에서 이제 log를 사용하지 않고 아래의 보라색 선을 이용할 것이다. 이는 logistic regression의 cost와 비슷하면서도 계산상의 이점을 가질 수 있게 해준다 → 이를 hinge loss function이라고 한다.

$cost_1(z), cost_0(z)$라고 보라색 식을 표현한다(이는 z가 1보다 클때 1, -1보다 작을 때 0임을 의미한다, 기존 logistic은 0이 기준이었다)

SVM cost function

Untitled

기존 logistic 식에서 1) cost function이 달라지고, 또한 2) m이 제거된다(이는 cost minimization과 상관이 없기 때문, 아래 설명 참조) 3) lambda 대신 C라는 parameter가 추가되었다(동일한 역할을 함)

이제 SVM은 1과 0을 구분하는 classifier로 역할을 하게 되었다(large margin classifier)

기존에는 z가 0을 기준으로 1과 0으로 구분되었다. 하지만 SVM은 1, -1을 기준으로 구분하기때문에 extra safety factor, margin factor가 생기게 된다.

C가 매우 크다고 생각해보자. 그러면 자연스럽게 앞 항을 0으로 만들어야할 것이다. 즉, 첫항이 0이 되는 지점을 decision boundary라고 말한다.

Untitled

위의 예제를 보면 다양한 decision boundary가 존재 가능함을 확인 가능하다. SVM은 보통 검은색 그래프와 같은 decision boundary를 찾아줄 것이다. 이때 검은색이 가능한 범위를 marigin이라고 표현하며, SVM은 가능한 큰 margin을 가지려 하기에 robustness를 가진다. ⇒ SVM은 가능한 큰 marigine을 가지려고 할 것이다!

다만, C가 크다면, overfitting 문제가 생길 수 있다는 것에 유의하자(C는 $\frac{1}{\lambda}$와 같은 역할이다)

Mathematics behind SVM

Vector 내적