SVM之对偶问题

原文地址:http://www.cnblogs.com/dreamvibe/p/4356897.html

前一篇SVM之问题形式化中将最大间隔分类器形式化为以下优化问题:{minw,b12w2s.t.yi(wTxi+b)1

容易发现这是一个凸优化问题,而凸优化问题问题一般而言是满足Slater条件的(具体证明我也不懂),所以可以等价地求解其对偶问题。转而求解其对偶问题,是因为它的对偶问题有很好的形式(向量内积形式),可以为SVM很方便的引人核函数。关于对偶问题的基本概念在写在SVM之前——凸优化与对偶问题一文中已做粗略介绍。现在,写出以上优化问题的对偶形式。

首先,将(1)化为标准形式{minw,b12w2s.t.1yi(wTxi+b)0

构建拉格朗日函数:L(w,b,α)=12w2+iαi(1yi(wTxi+b))

θD(α)=minw,bL(w,b,α),则(2)的对偶问题可以写成maxαminw,bL(w,b,α)=maxαθD(α)

首先求出θD(α)θD(α)是函数L(w,b,α)关于变量(w,b) 的最小值,且容易发现L(w,b,α)是关于(w,b)的凸函数,所以可以直接求偏导数并令其为0得到解。

L(w,b,α) 关于w 求偏导:

L(w,b,α)w=[12w2+iαi(1yi(wTxi+b))]w=[12wTw+iαi(1yi(wTxi+b))]w=wiαiyixi

令其为0,得到w=iαiyixi

L(w,b,α) 关于b 求偏导:

L(w,b,α)b=[12w2+iαi(1yi(wTxi+b))]b=iαiyi

令其为0,得到iαiyi=0

现在,将(5) 代回(3),得到

θD(α)=12w2+iαi(1yi(wTxi+b))=12wTw+iαi(1yi(wTxi+b))=12i,jαiαjyiyj(xi)Txj+iαii,jαiαjyiyj(xi)Txjbiαiyi=iαi12i,jαiαjyiyj(xi)Txjbiαiyi

再根据(6),得到 θD(α)=iαi12i,jαiαjyiyj(xi)Txj=iαi12i,jαiαjyiyj<xi,xj>

这便求出了θD(α),而对偶问题是maxαθD(α)。加上约束条件,对偶问题就可以写成

{maxαiαi12i,jαiαjyiyj<xi,xj>s.t.{αi0iαiyi=0

其中约束αi0是拉格朗日对偶问题本身的要求,约束iαiyi=0代表L(w,b,α)b=0的结果。

现在,对偶问题就得到了。对偶问题求解的结果是得到α 的取值。当α得到解后,就可以根据w=iαiyixi解出w 。w确定了分类超平面的方向,b 使得超平面有一个平移,根据最大间隔分类器的准则,最优超平面是穿过两类样本“最中间”的一个平面,所以b并不难确定b=maxi:yi=1wTxi+mini:yi=1wTx2

(w,b) 确定后,分类器就确定了,就是超平面wTx+b=0 ,对于新的输入样本x ,如果wTx+b>0则判别它样本类别为1,否则判别它样本类别为-1。

现在不求解w ,而是将w=iαiyixi 带入判别式wTx+b 中,得wTx+b=iαiyi<xi,x>+b

上式将判别式写成了向量内积的形式,看似需要计算输入x与所有训练样本的内积,但实际上还可以简化。

回顾写在SVM之前——凸优化与对偶问题一文提到的KKT条件αigi(x)=0 ,只有gi(x)=0αi 才可能不为0。对应到现在的分类器:x(w,b),gi(x)gi(w,b)=1yi(wTxi+b) (注意这里的x 是优化问题形式化中的优化变量,不要与上文中的新输入样本x 混淆)。所以只有当1yi(wTxi+b)=0时,对于的αi才可能不为0,那么(11)的计算实际上只需计算了部分训练样本与新输入样本的内积,这部分1yi(wTxi+b)=0的训练样本称为支持向量,这也是SVM——支持向量机名字的来源。

考虑支持向量满足1yi(wTxi+b)=0,所以yi(wTxi+b)=1,而yi(wTxi+b)正是样本函数间隔的定义,也就是说,支持向量就是函数间隔为1的样本,它们也是所有样本中函数间隔最小的样本。

 

上图标出来最优分类超平面(红色)和对于的函数间隔为1的样本(两条黑线上的样本),对左侧黑线上的支持向量有wTxl+b=1 ,对于右侧黑线上的支持向量有wTxr+b=1,根据KKT条件,这两个样本可以根据αl>0 和αr>0找到,两个式子联立起来得到b=wTxl+wTxr2 ,与(10)的是一致的。其实从这里就可以看出,只需要一个样本就可以确定b了,根据wTxr+b=1,就可以解出b,b=wTxl+wTxr2和(10)比较直观的说明分类超平面穿过两类样本正中间而已。

现在,分类器的内容似乎已经完整了,但不要忘了,这都是在样本可分的情况下进行的,还没有考虑样本不可分的情况。

核函数在一定程度上解决了样本不可分问题,观察优化问题(9)和判别函数(11),其中都存在向量的内积形式,核函数正是在这上面做文章的。下一篇SVM之核函数将讨论这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值