关闭

关于SVM中SMO算法第一个向量选择的问题

标签: svm统计学李航SMO-KKT
404人阅读 评论(2) 收藏 举报
分类:

在看李航编写的《统计学习方法》一书中第128页时,涉及到SMO算法中第一个变量的选择,然后作者指出选择不满足KKT条件的变量作为第一个变量,然后突然给出了如下三个KKT条件:

αi=0yig(xi)1(1)
0<αi<Cyig(xi)=1(2)
αi=Cyig(xi)1(3)

其中g(xi)=Nj=1αjyjK(xi,xj)+b,其实就是g(xi)=wxi+b
看到这三个公式真是一头雾水啊,跟我看的KKT条件不一样,因为至少应该涉及到 ξ 啊。该书中给的KKT条件中有αiyig(xi)=0yig(xi)1。但是上述第三个式子竟然出现yig(xi)1。一开始真是百思不得其解啊。后来经过仔细研究才发现,得利用该书110页提到的一个公式
Cαiμi=0(4)
该式子是非常重要的(μi是松弛变量ξi对应的拉格朗日乘子)。现在来重新分析上述公式(1)-(3)是怎么得到的。
如果αi=0,那么由公式(4)可得μi=C,由KKT条件μiξi=0可知,ξi=0。又由KKT条件可知αi[yig(xi)(1ξi)]=0yig(xi)1ξi,因为ξi=0,所以就变成αi[yig(xi)1]=0,又因为αi=0,所以yig(xi)1,因此就得到了公式(1)。
同理可得第二个公式。因为0<αi<C,所以由公式(4)可知μi0,因此同样得到ξi=0,又因为αi0,若要使KKT条件成立,只能yig(xi)(1ξi)=0,因此yig(xi)=(1ξi),进而根据ξi=0,有yig(xi)=1,这样就得到了公式(2)。
关于公式(3),因为αi=C,由公式(4)可知μi=0,由KKT条件μiξi=0可知,ξi0。因为0<αi<C,所有约束条件只能等于0,即yig(xi)(1ξi)=0,也即yig(xi)=(1ξi)。因为ξi0,所以yig(xi)=(1ξi)1,得到公式(3)。

2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6080次
    • 积分:199
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:1篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论