问题:在SVM原问题转化为对偶问题后,如何由下式求得最优解
α
∗
\alpha^*
α∗
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
N
α
i
s
.
t
.
α
i
>
=
0
,
∑
i
=
1
N
α
i
y
i
=
0
min_{\alpha}\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)-\sum_{i=1}^N\alpha_i \\s.t.\;\alpha_i>=0\;,\;\\\sum_{i=1}^N\alpha_iy_i=0
minα21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.αi>=0,i=1∑Nαiyi=0
求解:SMO(Sequential Minimal Optimization)算法,即序列最小优化算法
SMO核心思想:每次只优化一个参数,其它参数先固定住,仅求当前这个优化参数的极值。
具体步骤:
(1)选择两个需要更新的参数
α
i
\alpha_i
αi和
α
j
\alpha_j
αj,固定其他参数。于是约束为:
α
i
>
=
0
α
j
>
=
0
α
i
y
i
+
α
j
y
j
=
c
\alpha_i>=0\;\;\alpha_j>=0 \\\alpha_iy_i+\alpha_jy_j=c
αi>=0αj>=0αiyi+αjyj=c
其中
c
=
−
∑
k
≠
i
,
j
α
k
y
k
c=-\sum_{k≠i,j}\alpha_ky_k
c=−∑k=i,jαkyk,有
α
j
=
c
−
α
i
y
i
y
j
\alpha_j=\frac{c-\alpha_iy_i}{y_j}
αj=yjc−αiyi。
(2)这样优化目标就相当于只对 α i \alpha_i αi求偏导即可,令导数为0,求得变量值 α i n e w \alpha_i^{new} αinew,进而得到 α j n e w \alpha_j^{new} αjnew
(3)多次迭代直至收敛。