[机器学习]SVM的推导(2)

硬间隔SVM的SMO序列优化算法

上一篇文章(1)我们讨论了硬间隔SVM的推导及其对偶形式,其对偶问题可以化简成以下形式:

minαs.t.12i=1Nj=1Nαiαjyiyjxixji=1Nαii=1Nαiyi=0αi0i=1,2,...,N 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

该问题可以看作是一个以 α α 为优化变量的二阶规划问题,二阶规划问题有很多成熟的解法,针对SVM的优化有一种最为高效的SMO序列优化算法。

SMO序列优化算法

SMO序列优化算法先将 α α 的所有变量进行初始化,比如令 α1,α2,...,αN=0 α 1 , α 2 , . . . , α N = 0 , 再将 α α 的其中两个分量看作变量,比如 α1,α2 α 1 , α 2 (在选取两个分量 αi,αj α i , α j 的时候,通常先取违反上文中KKT条件最严重的为 αi α i ,然后选取离 xi x i 间隔最远的 xj x j 对应的 αj α j 为第二个变量),其余的 α3,α4,...,αN α 3 , α 4 , . . . , α N 固定住,则根据约束条件 Ni=1αiyi=0 ∑ i = 1 N α i y i = 0 可以得到 α1=y1Ni=2αiyi α 1 = − y 1 ∑ i = 2 N α i y i 。上述问题即可以化为两个变量的二次规划问题(令 Kij=xixj K i j = x i ⋅ x j ):

minα1,α2W(α1,α2)=s.t.12K11α21+12K22α22+y1y2K12α1α2(α1+α2)+y1α1i=3NyiαiKi1+y2α2i=3NyiαiKi2α1y1+α2y2=i=3Nyiαi=ζα1,α20 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

在上述二次规划问题中,由于 α1y1+α2y2=ζ α 1 y 1 + α 2 y 2 = ζ ,那么可以得到 α1=(ζy2α2)y1 α 1 = ( ζ − y 2 α 2 ) y 1 ,将该约束条件代入 W(α1,α2) W ( α 1 , α 2 ) 中即可以得到单变量的二次规划问题,如果先不考虑不等式约束条件,则可以直接得到解析解,不必利用数值计算的方式求解,这样可以大大提升计算速度。

vi=Nj=3αjyjK(xi,xj) v i = ∑ j = 3 N α j y j K ( x i , x j ) ,则将 α1=(ζy2α2)y1 α 1 = ( ζ − y 2 α 2 ) y 1 代入 W(α1,α2) W ( α 1 , α 2 ) 可以得到:

W(α2)=12K11(ζα2y2)2+12K22α22+y2K12(ζα2y2)α2(ζα2y2)y1α2+v1(ζα2y2)+y2v2α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α2=0 ∂ W ∂ α 2 = 0 ,那么可以得到 α2 α 2 的解析解为 α^2=α2+y2(E1E2)η α ^ 2 = α 2 + y 2 ( E 1 − E 2 ) η ,其中 Ei=Nj=1αjyjKij+byi E i = ∑ j = 1 N α j y j K i j + b − y i η=K11+K222K12 η = K 11 + K 22 − 2 K 12 。此时得到的 α^2 α ^ 2 还没有考虑不等式约束 α1,α20 α 1 , α 2 ≥ 0 ,由 α1=(ζy2α2)y10 α 1 = ( ζ − y 2 α 2 ) y 1 ≥ 0 α20 α 2 ≥ 0 可以解不等式得到 α2 α 2 的上界 H H 与下界L,即经过剪辑可以得到 α2 α 2 的解析解为:

α2=H,α^2>Hα^2,Lα^2HL,α^2<L α 2 ∗ = { H , α ^ 2 > H α ^ 2 , L ≤ α ^ 2 ≤ H L , α ^ 2 < L

另外根据 α1=(ζy2α2)y1 α 1 ∗ = ( ζ − y 2 α 2 ∗ ) y 1 则可以得到 α1 α 1 ∗ ,这样便完成了SMO算法的一组变量的更新。重复进行变量选择,解析求解,变量剪辑的过程,直到 α α 的所有变量都能满足文章(1)中的KKT条件为止,然后再根据文章(1)中 w w b的计算公式便可以得到训练好的超平面,这样便完成了硬间隔SVM的数学推导过程,后面的文章还会继续介绍软间隔SVM的推导与核方法的应用。To be continue…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值