频道栏目
首页 > 资讯 > 云计算 > 正文

SVM入门(2)--对偶

17-09-01        来源:[db:作者]  
收藏   我要投稿

SVM入门(2)--对偶,从SVM入门(1)–优化目标的来龙去脉 我们已经知道目标函数:

 

这里写图片描述

 

对于这样的凸二次规划问题有现成的优化包可进行求解。此外,这个问题有它的特殊结构,通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题之后,可以找到一种更加有效的方法来进行求解。这种方法比直接使用通用的 QP 优化包进行优化要高效得多。

那么,什么是拉格朗日对偶性?简单来说,通过给每一个约束条件加上一个拉格朗日乘子α,定义拉格朗日函数:

ι(w,b,α)=12||w||2?∑ni=1αi(yi(wTxi+b)?1)

然后令:

θ(w)=maxαiι(w,b,α)

容易验证,当某个约束条件不满足时,例如yi(wTxi+b)<1,那么显然有θ(w)=∞(只要令αi=∞即可)。而当所有约束条件都满足时,则有 θ(w)=12||w||2,亦即最初要最小的量。

因此,在要求约束条件得到满足的情况下最小化12||w||2,实际上等价于直接最小化θ(w)(当然,这里也有约束条件,就是αi≥0,i=1,...,n),因为如果约束条件没有得到满足,θ(w)会等于无穷大,自然不会是我们所要求的最小值。 具体写出来,目标函数变成了:

minw,bθ(w)=minw,bmaxαi≥0ι(w,b,α)=p?

这里用p?表示这个问题的最优值,这个问题和我们最初的问题是等价的。不过,现在我们来把最小和最大的位置交换一下:

maxαi≥0minw,bι(w,b,α)=b?

当然,交换以后的问题不再等价于原问题,这个新问题的最优值用d?来表示。并,我们有 d?\lep?,这在直观上也不难理解,最大值中最小的一个总也比最小值中最大的一个要大吧! :) 总之,第二个问题的最优值 在这里提供了一个第一个问题的最优值 的一个下界,在满足某些条件的情况下,这两者相等,这个时候我们就可以通过求解第二个问题来间接地求解第一个问题。具体来说,就是要满足 KKT 条件,这里暂且先略过不说,直接给结论:我们这里的问题是满足 KKT 条件的,因此现在我们便转化为求解第二个问题。

首先要让ι 关于w 和b 最小化,我们分别令 διδw和διδb 等于零:

 

这里写图片描述

 

代回ι得到:

 

这里写图片描述

 

此时我们得到关于 dual variable α 的优化问题:

 

这里写图片描述

 

可以通过SMO算法求解对偶问题中的αi,从而根据:

 

这里写图片描述

 

 

这里写图片描述

 

即可求出w,b.(b的计算怎么得到的?离超平面最近的正的函数间隔要等于离超平面最近的负的函数间隔。这样就知道怎么得到的了吧?)。最终得到分离超平面和分离决策函数。

但目前为止,基本上使用SVM来解决线性可分的场景没有什么问题了。那么,对线性不可分的场景要怎么处理呢?下一篇将开始将SVM推广到非线性分类问题。

相关TAG标签
上一篇:Null Object 模式
下一篇:JavaScript验证API
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站