SVM入门(2)--对偶

SVM入门(1)–优化目标的来龙去脉 我们已经知道目标函数:
这里写图片描述
对于这样的凸二次规划问题有现成的优化包可进行求解。此外,这个问题有它的特殊结构,通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题之后,可以找到一种更加有效的方法来进行求解。这种方法比直接使用通用的 QP 优化包进行优化要高效得多。
那么,什么是拉格朗日对偶性?简单来说,通过给每一个约束条件加上一个拉格朗日乘子 α ,定义拉格朗日函数:
ι(w,b,α)=12||w||2ni=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) (当然,这里也有约束条件,就是 αi0,i=1,...,n ),因为如果约束条件没有得到满足, θ(w) 会等于无穷大,自然不会是我们所要求的最小值。 具体写出来,目标函数变成了:
minw,bθ(w)=minw,bmaxαi0ι(w,b,α)=p
这里用 p 表示这个问题的最优值,这个问题和我们最初的问题是等价的。不过,现在我们来把最小和最大的位置交换一下:
maxαi0minw,bι(w,b,α)=b
当然,交换以后的问题不再等价于原问题,这个新问题的最优值用 d 来表示。并,我们有 d\lep ,这在直观上也不难理解,最大值中最小的一个总也比最小值中最大的一个要大吧! :) 总之,第二个问题的最优值 在这里提供了一个第一个问题的最优值 的一个下界,在满足某些条件的情况下,这两者相等,这个时候我们就可以通过求解第二个问题来间接地求解第一个问题。具体来说,就是要满足 KKT 条件,这里暂且先略过不说,直接给结论:我们这里的问题是满足 KKT 条件的,因此现在我们便转化为求解第二个问题。
首先要让 ι 关于w 和b 最小化,我们分别令 διδw διδb 等于零:
这里写图片描述
代回 ι 得到:
这里写图片描述
此时我们得到关于 dual variable α 的优化问题:
这里写图片描述
可以通过SMO算法求解对偶问题中的 αi ,从而根据:
这里写图片描述
这里写图片描述
即可求出w,b.(b的计算怎么得到的?离超平面最近的正的函数间隔要等于离超平面最近的负的函数间隔。这样就知道怎么得到的了吧?)。最终得到分离超平面和分离决策函数。
但目前为止,基本上使用SVM来解决线性可分的场景没有什么问题了。那么,对线性不可分的场景要怎么处理呢?下一篇将开始将SVM推广到非线性分类问题。

参考文献:
1、http://blog.pluskid.org/?page_id=683
2、http://www.blogjava.net/zhenandaci/category/31868.html?Show=All
3、http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982684.html
4、http://blog.csdn.net/v_july_v/article/details/7624837
5、A User’s Guide to Support Vector Machines
6、机器学习实战
7、统计学习方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值