硬间隔 SVM 的推导及其对偶形式,其对偶问题可以化简成以下形式:
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 = 1 N α i y i = 0 α i ≥ 0 i = 1 , 2 , . . . , N \begin{align*}
min_ \alpha\quad &\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}x_{i}\cdot x_{j}-\sum_{i=1}^{N}\alpha_{i}\\
s.t.\quad &\sum_{i=1}^{N}\alpha_{i}y_{i}=0\\
&\alpha_{i}\ge 0\\
&i=1,2,...,N
\end{align*} mi n α s . t . 2 1 i = 1 ∑ N j = 1 ∑ N α i α j y i y j x i ⋅ x j − i = 1 ∑ N α i i = 1 ∑ N α i y i = 0 α i ≥ 0 i = 1 , 2 , ... , N
该问题可以看作是一个以α \alpha α 为优化变量的二阶规划问题,二阶规划问题有很多成熟的解法,针对 SVM 的优化有一种最为高效的 SMO 序列优化算法。
SMO 序列优化算法
SMO 序列优化算法先将α \alpha α 的所有变量进行初始化,比如令α 1 , α 2 , . . . , α N = 0 , \alpha_{1},\alpha_{2},...,\alpha_{N}=0, α 1 , α 2 , ... , α N = 0 , 再将α \alpha α 的其中两个分量看作变量,比如α 1 , α 2 \alpha_{1},\alpha_{2} α 1 , α 2 (在选取两个分量α i , α j \alpha_{i},\alpha_{j} α i , α j 的时候,通常先取违反上文中 KKT 条件最严重的为α i \alpha_{i} α i ,然后选取离x i x_{i} x i 间隔最远的x j x_{j} x j 对应的α j \alpha_{j} α j 为第二个变量),其余的α 3 , α 4 , . . . , α N \alpha_{3},\alpha_{4},...,\alpha_{N} α 3 , α 4 , ... , α N 固定住,则根据约束条件∑ i = 1 N α i y i = 0 \sum_{i=1}^{N}\alpha_{i}y_{i}=0 ∑ i = 1 N α i y i = 0 可以得到α 1 = − y 1 ∑ i = 2 N α i y i \alpha_{1}=-y_{1}\sum_{i=2}^{N}\alpha_{i}y_{i} α 1 = − y 1 ∑ i = 2 N α i y i 。上述问题即可以化为两个变量的二次规划问题(令K i j = x i ⋅ x j K_{ij}=x_{i}\cdot x_{j} K ij = x i ⋅ x j ):
m i n α 1 , α 2 W ( α 1 , α 2 ) = 1 2 K 11 α 1 2 + 1 2 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 ∑ i = 3 N y i α i K i 1 + y 2 α 2 ∑ i = 3 N y i α i K i 2 s . t . α 1 y 1 + α 2 y 2 = − ∑ i = 3 N y i α i = ζ α 1 , α 2 ≥ 0 \begin{align*}
min_{\alpha_{1},\alpha_{2}}\quad W(\alpha_{1},\alpha_{2})=&\frac{1}{2}K_{11}\alpha_{1}^{2}+\frac{1}{2}K_{22}\alpha_{2}^{2}+y_{1}y_{2}K_{12}\alpha_{1}\alpha_{2}\\
&-(\alpha_{1}+\alpha_{2})+y_{1}\alpha_{1}\sum_{i=3}^{N}y_{i}\alpha_{i}K_{i1}+y_{2}\alpha_{2}\sum_{i=3}^{N}y_{i}\alpha_{i}K_{i2}\\
s.t.\quad &\alpha_{1}y_{1}+\alpha_{2}y_{2}=-\sum_{i=3}^{N}y_{i}\alpha_{i}=\zeta\\
&\alpha_{1},\alpha_{2}\ge0
\end{align*} mi n α 1 , α 2 W ( α 1 , α 2 ) = s . t . 2 1 K 11 α 1 2 + 2 1 K 22 α 2 2 + y 1 y 2 K 12 α 1 α 2 − ( α 1 + α 2 ) + y 1 α 1 i = 3 ∑ N y i α i K i 1 + y 2 α 2 i = 3 ∑ N y i α i K i 2 α 1 y 1 + α 2 y 2 = − i = 3 ∑ N y i α i = ζ α 1 , α 2 ≥ 0
在上述二次规划问题中,由于α 1 y 1 + α 2 y 2 = ζ \alpha_{1}y_{1}+\alpha_{2}y_{2}=\zeta α 1 y 1 + α 2 y 2 = ζ ,那么可以得到α 1 = ( ζ − y 2 α 2 ) y 1 \alpha_{1}=(\zeta-y_{2}\alpha_{2})y_{1} α 1 = ( ζ − y 2 α 2 ) y 1 ,将该约束条件代入W ( α 1 , α 2 ) W(\alpha_{1},\alpha_{2}) W ( α 1 , α 2 ) 中即可以得到单变量的二次规划问题,如果先不考虑不等式约束条件,则可以直接得到解析解,不必利用数值计算的方式求解,这样可以大大提升计算速度。
令v i = ∑ j = 3 N α j y j K ( x i , x j ) v_{i}=\sum_{j=3}^{N}\alpha_{j}y_{j}K(x_{i},x_{j}) v i = ∑ j = 3 N α j y j K ( x i , x j ) ,则将α 1 = ( ζ − y 2 α 2 ) y 1 \alpha_{1}=(\zeta-y_{2}\alpha_{2})y_{1} α 1 = ( ζ − y 2 α 2 ) y 1 代入W ( α 1 , α 2 ) W(\alpha_{1},\alpha_{2}) W ( α 1 , α 2 ) 可以得到:
W ( α 2 ) = 1 2 K 11 ( ζ − α 2 y 2 ) 2 + 1 2 K 22 α 2 2 + y 2 K 12 ( ζ − α 2 y 2 ) α 2 − ( ζ − α 2 y 2 ) y 1 − α 2 + v 1 ( ζ − α 2 y 2 ) + y 2 v 2 α 2 W(\alpha_{2})=\frac{1}{2}K_{11}(\zeta-\alpha_{2}y_{2})^{2}+\frac{1}{2}K_{22}\alpha_{2}^{2}+y_{2}K_{12}(\zeta-\alpha_{2}y_{2})\alpha_{2}-(\zeta-\alpha_{2}y_{2})y_{1}-\alpha_{2}+v_{1}(\zeta-\alpha_{2}y_{2})+y_{2}v_{2}\alpha_{2} W ( α 2 ) = 2 1 K 11 ( ζ − α 2 y 2 ) 2 + 2 1 K 22 α 2 2 + y 2 K 12 ( ζ − α 2 y 2 ) α 2 − ( ζ − α 2 y 2 ) y 1 − α 2 + v 1 ( ζ − α 2 y 2 ) + y 2 v 2 α 2
直接令∂ W ∂ α 2 = 0 \frac{\partial W}{\partial\alpha_{2}}=0 ∂ α 2 ∂ W = 0 ,那么可以得到α 2 \alpha_{2} α 2 的解析解为α ^ 2 = α 2 + y 2 ( E 1 − E 2 ) η \hat\alpha_{2}=\alpha_{2}+\frac{y_{2}(E_{1}-E_{2})}{\eta} α ^ 2 = α 2 + η y 2 ( E 1 − E 2 ) ,其中E i = ∑ j = 1 N α j y j K i j + b − y i E_{i}=\sum_{j=1}^{N}\alpha_{j}y_{j}K_{ij}+b-y_{i} E i = ∑ j = 1 N α j y j K ij + b − y i ,η = K 11 + K 22 − 2 K 12 \eta=K_{11}+K_{22}-2K_{12} η = K 11 + K 22 − 2 K 12 。此时得到的α ^ 2 \hat\alpha_{2} α ^ 2 还没有考虑不等式约束α 1 , α 2 ≥ 0 \alpha_{1},\alpha_{2}\ge 0 α 1 , α 2 ≥ 0 ,由α 1 = ( ζ − y 2 α 2 ) y 1 ≥ 0 \alpha_{1}=(\zeta-y_{2}\alpha_{2})y_{1}\ge0 α 1 = ( ζ − y 2 α 2 ) y 1 ≥ 0 与α 2 ≥ 0 \alpha_{2}\ge0 α 2 ≥ 0 可以解不等式得到α 2 \alpha_2 α 2 的上界H H H 与下界L L L ,即经过剪辑可以得到α 2 \alpha_{2} α 2 的解析解为:
α 2 ∗ = { H , α ^ 2 > H α ^ 2 , L ≤ α ^ 2 ≤ H L , α ^ 2 < L \alpha_{2}^{*}=
\begin{cases}
H,\quad \hat\alpha_{2}>H\\
\hat\alpha_{2},\quad L\le\hat\alpha_{2}\le H\\
L,\quad \hat\alpha_{2}<L
\end{cases} α 2 ∗ = ⎩ ⎨ ⎧ H , α ^ 2 > H α ^ 2 , L ≤ α ^ 2 ≤ H L , α ^ 2 < L
另外根据α 1 ∗ = ( ζ − y 2 α 2 ∗ ) y 1 \alpha_{1}^{*}=(\zeta-y_{2}\alpha_{2}^{*})y_{1} α 1 ∗ = ( ζ − y 2 α 2 ∗ ) y 1 则可以得到α 1 ∗ \alpha_{1}^{*} α 1 ∗ ,这样便完成了 SMO 算法的一组变量的更新。重复进行变量选择,解析求解,变量剪辑的过程,直到α \alpha α 的所有变量都能满足文章(1)中的 KKT 条件为止,然后再根据文章(1)中w w w 与b b b 的计算公式便可以得到训练好的超平面,这样便完成了硬间隔 SVM 的数学推导过程,后面的文章还会继续介绍软间隔 SVM 的推导与核方法的应用。To be continue...