
저번에 우리가 X space에서 Z space로 공간을 이동시켰고, 이렇게 하는 방법이 kernel method라고 하였다.
이 방법을 자세히 다뤄보자.
SVM에서의 L(α) 식을 다시 떠올려보자
L(α)=n=1∑Nαn−21n=1∑Nm=1∑NynymαnαmxnTxm
이 식은 현재의 space가 X인 경우이다. 그렇다면 우리의 공간이 Z로 바뀌고 난 후의 식은,
L(α)=n=1∑Nαn−21n=1∑Nm=1∑NynymαnαmznTzm
가 될것이다.
그리고 우리가 찾은 best hypothesis를 g(x)라고 하자.
그리고 여전히 bipolar 문제에 대해서만 예시를 들어보면,
g(x)=sign(wz+b)
라고 했을때, 우리가 SVM에서 얻었던 w와 b의 식에서 x만 z로 바꿔주면 된다.
w=zn is SV∑αnynzn
b:ym(wTzm+b)=1
그렇다면 이 식들에서 얻을수 잇는 결론은 우리가 원하는 solution을 찾으려면, znTzm를 찾아야 한다.
이제 또 지금껏 그랬듯이, x의 inner product와 z의 inner product가 어떤 함수로 표현될수있다면? 하는 생각을 해보자.
Let zTz′=K(x,x′)
그리고 우리가 원하는것은 결국 inner product이므로, 하나의 scalar 값으로 나오게 된다.
한가지 예시로, 기존의 x=(x1,x2),R2→2nd-order Φ(R6) 으로 바꿔보자.
그렇다면 z=Φ(x)=(1,x1,x2,x12,x22,x1x2)이라고 한다면,
K(x,x′)=zTz′=1+x1x1′+x2x2′+x12x1′2+x22x2′2+x1x1′x2x2′
가 된다. (두 점의 inner product이므로)
그렇다면 우리가 과연 K(x,x′)를 x,x′을 변환하지 않고 계산할수 있을까??
K(x,x′)=(1+xTx′)2=(1+x1x1′+x2x2′)2=1+x12x1′2+x22x2′2+2x1x1′+2x2x2′+2x1x1′x2x2′
kernel을 우리가 저렇게 놓으면, 전개한 식이 나오게 되는데, 이는 아래 Z의 inner product로 표현된다.
zz′=(1,x12,x22,2x1,2x2,2x1x2)=(1,x1′2,x2′2,2x1′,2x2′,2x1′x2′)
The polynomial kernel
원래의 X=Rd 일때, Φ:X→Z는 legendre polynomial의 order Q로 표현이 가능하다.
위에서 보았던 kernel을 보면,
K(x,x′)=(1+xTx′)Q=(1+x1x1′+x2x2′+⋯+xdxd′)Q
이 되게되고, 어차피 우리가 Regularization에서 보았듯이, 제약조건을 걸어주기때문에 Q가 높아져도 상관없다.
그리고 위 식에 상수를 더해 다음처럼 쓸수있다.
K(x,x′)=(axTx′+b)Q
Radial Basis function
위의 polynomial kernel말고도, 아래의 kernel이 존재한다.
K(x,x′)=exp(−γ∥x−x′∥2)

Kernel in action

X에서 ,∞-dimensional Z로 변환했을때, 이때에도 Support vector의 갯수는 변하지 않는다.
원래 original space에서 solution을 찾기위해 quadratic programming으로 문제를 풀었다. (SVM-3)
여기서도 바뀌는것은 단지 x에서 kernel로만 변경해주면 된다!

따라서 우리의 최종 hypothesis는
g(x)=sign(αn>0∑αnynK(xn,x)+b)
가 되게 된다.
그런데 왜 kernel만 쓰면 모든 space가 정의될까? (Z 가 존재한다는것을 어떻게 알까?)
→ Mercer's condition
⎣⎢⎢⎢⎢⎡K(x1,x1)K(x2,x1)⋮K(xN,x1)K(x1,x2)K(x2,x2)⋮K(xN,x2)⋯⋯⋱⋯K(x1,xN)K(x2,xN)⋮K(xN,xN)⎦⎥⎥⎥⎥⎤
이 행렬은 symmetric하다.
그렇다면, Mercer's condition에 따라 항상 positive semi-definite하다.
positive semi-definite하다는 것은 H≥0이라는 뜻이다.
함수의 값은 변하지 않거나 커진다.