一、支持向量机的求解过程
个人理解:下文所有下标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)。
审核编辑:刘清
-
向量机
+关注
关注
0文章
166浏览量
20875 -
机器学习
+关注
关注
66文章
8414浏览量
132601
原文标题:机器学习相关介绍(14)——支持向量机(算法流程)
文章出处:【微信号:行业学习与研究,微信公众号:行业学习与研究】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论