支持向量机的求解过程

电子说

1.2w人已加入

描述

一、支持向量机的求解过程  

个人理解:下文所有下标i、j均可相互替换,c和C表示同一常数。  

支持向量机的对偶问题为: 最大化:θ(α,β)=∑αi-1/2∑∑yiyjαiαjφ(Xi)Tφ(Xj);  

限制条件:(1)0≤αi≤C,i=1~N;(2)∑αiyi=0,i=1~N。  

因为φ(Xi)Tφ(Xj)=K(Xi,Xj)(K(Xi,Xj)为核函数,详见),所以只需知道核函数K(Xi,Xj)即可求解该对偶问题。该对偶问题解的结构为一组αi的值(个人理解:αi的值同时也为αj的值),其中i=1~N。  

解得αi的值后可根据ω=∑αiyiφ(Xi)求解ω的值(支持向量机问题需解得超平面ωTφ(X)+b=0中的ω和b的值),但因为φ(Xi)不一定具有显式表达式,所以ω不一定具有显式表达式。  

虽然ω不一定具有显式表达式,但ωTφ(X)+b的形式可以通过核函数K(X1,X2)求得,下文介绍具体求解过程:  

因为ω=∑αjyjφ(Xj),所以ωTφ(Xj)=∑αjyjφ(Xj)Tφ(Xi)=∑αjyjK(Xj,Xi)。

根据KKT条件(KKT条件见机器学习相关介绍(12)——支持向量机(原问题和对偶问题)),且持向量机的对偶问题的另一个形式为: 最大化:θ(α,β)=inf{1/2||ω||2-C∑βiδi+∑αi[1+δi-yiωTφ(Xi)-yib]}; 限制条件:(1)αi≥0,i=1~N;(2)βi≥0,i=1~N。  

可得:对所有的i=1~N,βiδi=0且αi[1+δi-yiωTφ(Xi)-yib]=0。  

根据βiδi=0可得(c-αi)δi=0(个人理解:此步骤也需根据机器学习相关介绍(13)——支持向量机(转化为对偶问题)中求偏导得出的等式αi+βi=C)  

若对某个i,αi≠0且αi≠c,则根据KKT条件,则有δi=0且1+δi-yiωTφ(Xi)-yib=0。

又因为yiωTφ(Xi)=∑αiyjyiK(Xj,Xi),所以只需使用一个满足0<αi<c的αi值,即可通过下式求得b: b=(1-∑αjyjyiK(Xj,Xi))/yi  

综上,ωTφ(X)+b=∑αiyiK(Xi,X)+b,即在不知道φ(X),只知道K(X1,X2)的情况下,ωTφ(X)+b的表达式也可被求出。该结论被称为“核函数戏法”(KERNEL TRICK)。  

最终,支持向量机的判别标准为: 若∑αiyiK(Xi,X)+b≥0,则X∈C1; 若∑αiyiK(Xi,X)+b<0,则X∈C2。    

二、支持向量机的算法流程  

(1)训练过程  

输入训练数据{(Xi,yi)},i=1~N,其中,yi=±1。并求解: 最大化:θ(α,β)=∑αi-1/2∑∑yiyjαiαjφ(Xi)Tφ(Xj);  

限制条件:

(1)0≤αi≤C,i=1~N;(2)∑αiyi=0,i=1~N。  

得出一组αi的值,再通过一个满足0<αi<c的αi值,根据下式求b: b=(1-∑αjyjyiK(Xj,Xi))/yi  

求解出αi和b后,支持向量机的训练过程完成。  

(2)测试过程  

考察测试数据X,预测其类别y: 若∑αiyiK(Xi,X)+b≥0,则y=+1(X∈C1); 若∑αiyiK(Xi,X)+b<0,则y=-1(X∈C2)。            





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分