원 문제(primal problem) : 제약 있는 최적화 문제
→ 쌍대 문제(dual problem)라고 하는 깊게 관련된 다른 문제로 표현 가능
*일반적으로 쌍대 문제의 해는 원 문제 해의 하한값
But!! 어떤 조건 하에서는 원 문제와 똑같은 해 제공함.
→ SVM에서 이 조건 만족
→ 원 문제 또는 쌍대 문제 중 선택(골라골라~)
선형 SVM 목적 함수의 쌍대 형식
b^=ns1i=1∑m(t(i)−w^Tx(i))α^(i)>0
커널 SVM
- 2차 다항식 매핑 함수
Equation 5-8. Second-degree polynomial mapping
ϕ(x)=ϕ((x1x2))=⎝⎜⎛x122x1x2x22⎠⎟⎞
Equation 5-9. Kernel trick for a 2^{nd}-degree polynomial mapping
ϕ(a)Tϕ(b)=⎝⎜⎛a122a1a2a22⎠⎟⎞T⎝⎜⎛b122b1b2b22⎠⎟⎞=a12b12+2a1b1a2b2+a22b22
=(a1b1+a2b2)2=(a1a2)T(b1b2)2=(aTb)2
결론 : ϕ가 2차 다항식 변환이라면 백터 접곱을 간단하게 바꿀 수 있음
→ 실제로 후련 샘플 변환할 필요 X
장점 : 계산 측에서 효율적
2차 다항식 커널 : K(a,b)=(aTb)2
커널
머신러닝에서 커널은 변환 ϕ를 계산하지 않고도 또는 아예 모르더라도
원래 벡터에 기반하여 점곱을 계산할 수 있는 함수다.
일반적인 커널들
Equation 5-10. Common kernels
-
Linear: 선형
K(a,b)=aTb
-
Polynomial: 다항식
K(a,b)=(γaTb+r)d
-
Gaussian RBF: 가우스 RBF
K(a,b)=exp(−γ∥a−b∥2)
-
Sigmoid: 시그모이드
K(a,b)=tanh(γaTb+r)
커널 SVM으로 예측
Equation 5-11. Making predictions with a kernelized SVM
hw^,b^(ϕ(x(n)))=w^Tϕ(x(n))+b^=(i=1∑mα^(i)t(i)ϕ(x(i)))Tϕ(x(n))+b^
=i=1∑mα^(i)t(i)(ϕ(x(i))Tϕ(x(n)))+b^
=i=1∑mα^(i)t(i)K(x(i),x(n))+b^for α^(i)>0
커널 트릭으로 사용한 편향 계산
Equation 5-12. Computing the bias term using the kernel trick
b^=ns1i=1∑m(t(i)−w^Tϕ(x(i)))α^(i)>0=ns1i=1∑m⎝⎜⎛t(i)−(j=1∑mα^(j)t(j)ϕ(x(j)))Tϕ(x(i))⎠⎟⎞α^(i)>0
=ns1i=1∑m(t(i)−j=1∑mα^(j)t(j)K(x(i),x(j)))α^(i)>0