深入浅出机器学习之支持向量机SVM2(线性可分部分)

这部分承接上文,以july的文章为基础加上个人的理解。如果需要详细的严谨推理请看原版http://blog.csdn.net/v_july_v/article/details/7624837  并且在文章最后我会把我推导的笔记贴出来。

上篇文章把需要优化的公式给推导出来了,

  接着考虑之前得到的目标函数:(s.t.是指在什么什么的约束下,至于为什么取1,是为了运算方便。我们假定我们的超平面距离两侧的最近距离都是1,既然是优化问题,取一个特殊值不会影响结果)。

     由于求的最大值相当于求的最小值,所以上述目标函数等价于(w由分母变成分子,从而也有原来的max问题变为min问题,很明显,两者问题等价):
如果在这就停手的话其实是可以的。前面的最优化目标是二次的,类似于有弧度的,凸型的,必然在约束下有个最值。运用现成的软件,各种库函数就可以求出来。但是为了方便,还是要继续,为了推导更方便的方法。

此外,由于这个问题的特殊结构,还可以通过拉格朗日对偶性(Lagrange Duality)变换到对偶变量 (dual variable) 的优化问题,即通过求解与原问题等价的对偶问题(dual problem得到原始问题的最优解,这就是线性可分条件下支持向量机的对偶算法,这样做的优点在于:一者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推广到非线性分类问题。

     那什么是拉格朗日对偶性呢?简单来讲,通过给每一个约束条件加上一个拉格朗日乘子(Lagrange multiplier),定义拉格朗日函数(通过拉格朗日函数将约束条件融合到目标函数里去,从而只用一个函数表达式便能清楚的表达出我们的问题

    然后令

容易验证,当某个约束条件不满足时,例如,那么显然有只要令即可)。而当所有约束条件都满足时,则最优值为亦即最初要最小化的量。

   因此,在要求约束条件得到满足的情况下最小化实际上等价于直接最小化(当然,这里也有约束条件,就是

0,i=1,,n)因为如果约束条件没有得到满足,会等于无穷大,自然不会是我们所要求的最小值。(这里我看了好久才看明白,本来想再加点自己理解,发现其实原作者已经说的很清楚了

也就是,满足约束,就是和原问题等价,不满足约束就不等价。把不满足的情况考虑进去也可以,但是最后求最小值的时候无穷大就会被抛弃,因此,满足约束(约束就是指s.t.里的内容)把原问题转化成

具体写出来,目标函数变成了:

这里用表示这个问题的最优值,且和最初的问题是等价的。如果直接求解,那么一上来便得面对w和b两个参数,而又是不等式约束,这个求解过程不好做(这里先把w,b想办法除掉,然后就剩下一个为参数,更容易求解)。不妨把最小和最大的位置交换一下,变成:

  交换以后的新问题是原始问题的对偶问题,这个新问题的最优值用来表示。而且有,在满足某些条件的情况下,这两者相等,这个时候就可以通过求解对偶问题来间接地求解原始问题。(在一定条件下,两者相等。这个条件就是KKT,但是这里不讲KKT,因为我们已经符合KKT的条件了,再讲容易乱,想看可以参照原文)。

那么开始着手求解吧。先最小化的求解,再最大化。在最小化的求解过程中,看做是常数。那么用一般的解法就可以了。

 (1)、首先固定要让  L  关于  w  和  b  最小化,我们分别对w,b求偏导数,即令  L/w  和  L/b  等于零(拉格朗日一般解法而已):

有了这两个公式就好了,直接带入L的拉格朗日中去

这里推导不麻烦,但是得知道是如何带入w。w的范数的平方其实等于w的转置乘以本身。注意,w的转置只对x有效。为啥呢?因为

前面我们已经说过当成常数来看,Y呢,又只有-1和1两种取法,所以带入w求解的时候我是直接当成w的平方,然后在最后将其中的一个x改成x的转置即可。原文中大段的推导可以不看,自己推导一下试试。

(2)、求对的极大即是关于对偶问题的最优化问题。经过上面第一个步骤的求w和b,得到的拉格朗日函数式子已经没有了变量w,b,只有。从上面的式子得到:

    这样, 求出了 ,根据 即可求出w。但是原文中b的推导我没看明白,最后在统计学习方法中找到了。

方法:我们在前面的约束中已经知道,支持向量的那些点是在分界线上的,y方等于1.而且。将w带入,在y方等于1的条件下就能求出来b了。。这里好多下标我都写的不严谨,实在是不好拼写我截的图。在后面看我的笔记吧。

本节就差不多的了,至于为什么没有讲怎么求的的优化那部分呢,那部分需要介绍SMO算法和一点实例,放在另外的一篇里,但是整个的算法的流程已经差不多了。现在总结一下碰到问题的时候的算法的流程:(我继续截图吧)

其中用到的方法是下节要说的方法。


选择的分量,其实就是支持向量。在支持向量中寻找一点即可。


sign()是指符合条件的自变量。















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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值