原文
www.blogjava.net/zhenandaci/…
blog.csdn.net/a738779675/…
blog.csdn.net/v_july_v/ar…
#内容
##定义
1.分类超平面:
wTx+b=0,令g(x)=wTx+b,w、x通通都是向量,b为一个数。
2.样本点、点:
Di=(xi,yi)
说明:xi为向量,yi为类别标记,二元的线性分类中,标记只有两个值,+1(正类)和-1(负类),
3.样本点与超平面关系:
wTxi+b>0表示按照超平面分,xi属于正类;反之yi属于负类。
在样本完全可分的条件下,存在超平面使得yi(wTxi+b)总是大于0,yi(wTxi+b)>0恒成立,等于0拒绝判断。
4.间隔:
对于样本点Di=(xi,yi),δi=∣g(x)∣=yi(wTxi+b)
5.几何间隔:
对于样本点Di=(xi,yi),δi′=∣∣w∣∣1∣g(x)∣,即点到面距离。
6.支撑向量、支撑点:离分类超平面最近的样本点。
##SVM优化目标
1.口语化:
支撑点确定的条件下,最大化几何间隔,即离分类超平面最近的样本与分类超平面的距离尽量远。
假设离分割线最近的样本(支撑向量、支撑点)为(xk,yk),过支撑点的且与分类超平面平行的面为 yk(wTxk+b)=K,不存在比(xk,yk)距离,
超平面wTx+b=0更近的点,即yi(wTxi+b)<K不成立。
2.形式化表述:
设支撑点为(xk,yk)。
优化目标为:
maxw,b∣∣w∣∣yk(wTxk+b) (1)s.t. yi(wTxi+b)≥K i=1,2,..,n
maxw,b∣∣w∣∣Ks.t. yi(wTxi+b)≥K i=1,2,..,n
解释:之所以加上约束条件,是因为没有比(xk,yk)这个支撑点距离超平面wTx+b=0更近的点了。
有的地方写:
maxw,b{∣∣w∣∣yk(wTxk+b)mink[yi(wTxi+b)]}
这是一样的,这把支撑点的寻找也算进去了。
3.化简变换
令
w′=Kw
b′=Kb
将其带入(1)得:
maxKw′T,Kb′K∣∣w′∣∣yk(Kw′Txk+Kb′)s.t. yi(Kw′Txi+Kb′)≥K i=1,2,..,n
maxKw′,Kb′∣∣w′∣∣yk(w′Txk+b′)s.t. yi(w′Txi+b′)≥1 i=1,2,..,n
maxw′,b′∣∣w′∣∣yk(w′Txk+b′)s.t. yi(w′Txi+b′)≥1 i=1,2,..,n
maxw′,b′∣∣w′∣∣1s.t. yi(w′Txi+b′)≥1 i=1,2,..,n
这是把所谓的间隔δi=∣g(x)∣=yi(wTxi+b)固定为1的推导?
去掉'得:
maxw,b∣∣w∣∣1s.t. yi(wTxi+b)≥1 i=1,2,..,nminw,b∣∣w∣∣
minw,b21∣∣w∣∣2 (2)s.t. yi(wTxi+b)≥1 i=1,2,..,n
至此得出(2)为我们熟悉的SVM优化目标.
疑问:支撑点如何确定?
SVM求解
运用拉格朗日乘子法,定义拉格朗日函数如下:
L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)s.t. αi≥0 yi(wTxi+b)>=1 i=1,2,..,n
若(xi,yi)是支撑向量,则∑i=1nαi(yi(wTxi+b)−1)为0,因为支撑向量的间隔为1。
目标:(1)既要对对乘子α最大化L,maxαL(w,b,α) (2)又要对参数(w,b)最小化L(解SVM要求),minw,bL(w,b,α)。(1)(2)是有顺序的
结合一下得:
minw,b{maxαL(w,b,α)}s.t. αi≥0 ,yi(wTxi+b)>=1 i=1,2,..,n
为什么αi≥0?,若αi<0,∑i=1nαi(yi(wTxi+b)−1)恒小于0,求maxαL(w,b,α),α尽量小就行了,maxαL(w,b,α)无穷大,求个毛的最大值。
一正(21∣∣w∣∣2≥0)一负(∑i=1nαi(yi(wTxi+b)−1)≤0)才好求极值。
在minw,b{maxαL(w,b,α)}中需要先求maxαL(w,b,α),再求minw,bL(w,b,α)。由于α是有约束的,无法先求maxαL(w,b,α)。能不能先求minw,bL(w,b,α)再求maxαL(w,b,α)?
即把minw,b{maxαL(w,b,α)}变为 maxα{minw,bL(w,b,α)}?即变成先求minw,bL(w,b,α),再求maxαL(w,b,α)。
答案是可以的。
证明如下:
任取α′,显然有maxαL(w,b,α)≥L(w,b,α′),因此,有:
minw,bmaxαL(w,b,α)≥minw,bL(w,b,α′) (3)
又因为α′是任取的,也就是说:
minw,bmaxαL(w,b,α)≥maxα′minw,bL(w,b,α′) (4)
α′是任取的,当然也可以去掉那一撇。(3)转化为(4)的口语化表达是:a大于等于任意的b,则a大于等于b的最大值,maxαL(w,b,α)是a,minw,bL(w,b,α′)为任意的b,maxa′minw,bL(w,b,α′)为b的最大值。
以上过程对应弱对偶性,即对偶问题(不等式右边)是原问题(不等式左边)的下界。
事实上(3)中左边和右边满足强对偶性,minw,bmaxαL(w,b,α)=maxαminw,bL(w,b,α)。
若原始问题(对偶问题)有一个确定的最优解,那么对偶问题(原始问题)也有一个确定的最优解,而且这两个最优解所对应的目标函数值相等,这就是强对偶性
证明如下:
minw,b{maxαL(w,b,α)}=minw,b{maxα{21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)}}=minw,b21∣∣w∣∣2−maxα{minw,bi=1∑nαi(yi(wTxi+b)−1)}=minw,b21∣∣w∣∣2根据条件显然后面那个式子等于0=maxα{minw,bL(w,b,α)}
优化目标变为:
maxα{minw,bL(w,b,α)}s.t. αi≥0yi(wTxi+b)>=1 i=1,2,..,n
此时,先求里层的minw,bL(w,b,α),只需让L(w,b,α)分别对w,b求偏导,再令其为0就可以。
∂w∂L=w−i=1∑nαiyixi=0∂b∂L=−i=1∑nαiyi=0w=i=1∑nαiyixi (5)i=1∑nαiyi=0 (6)
将(5)(6)带入格朗日函数L得:
minw,bL(w,b,α)=i=1∑nαi−21i=1∑nj=1∑n(αiαjyiyj<xi•xj>)
< • >表示内积。
推导过程如下:
L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)=21wTw−wTi=1∑nαiyixi−bi=1∑nαiyi+i=1∑nαi=21wTi=1∑nαiyixi−wTi=1∑nαiyixi−b∗0+i=1∑nαi
将(5),(6)带入
=i=1∑nαi−21wTi=1∑nαiyixi=i=1∑nαi−21(j=1∑nαjyjxj)Ti=1∑nαiyixi
将(5)带入
=i=1∑nαi−21i=1∑nj=1∑n(αiαjyiyj<xi•xj>)
此时优化目标变为:
maxα{i=1∑nαi−21i=1∑nj=1∑n(αiαjyiyj<xi•xj>)}s.t. αi≥0 ,i=1∑nαiyi=0 i=1,2,..,n
这个式子可以通过SMO等算法进行求解α。
求出α后,根据
w=∑i=1nαiyixi (7)
b=−2maxi:yi=−1wTxi+mini:yi=1wTxi (8)
求出w、b。
(8)的意思是,分别找出正类的支撑向量(mini:yi=1)与负类的支撑向量maxi:yi=−1,求出各自的b,然后求平均。
对于正类支撑向量xm,过xm且与分类超平面平行的平面H1为wTxm+bm=0,bm=−wTxm
对于正类支撑向量xn,过xn且与分类超平面平行的平面H2为wTxn+bn=0,bn=−wTxn
超平面正好夹在H1、H2中间,b=−2bm+bn
上述公式其实是一般的求法,包括了线性可分与线性不可分的情况,