码迷,mamicode.com
首页 > 系统相关 > 详细

Support Vector Machine(2):求解线性可分SVM的最佳边界

时间:2018-02-05 23:13:24      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:jpg   ons   导数   detail   等于   splay   思路   margin   blank   

在上篇文章《Support Vector Machine(1):线性可分集的决策边界》中,我们最后得到,求SVM最佳Margin的问题,转化为了如下形式:

技术分享图片

到这一步后,我个人又花了很长的时间去查阅资料,因为数学较差的原因,理解起来相当慢,不过探索的乐趣也就在于不断的打破瓶颈向前,OK继续。上述的问题等价于:

技术分享图片

而后我们引入广义拉格朗日函数,利用拉格朗日对偶性来求解此问题。首先明确一下,我们做这些工作的目的是,消去约束条件,为了好求解问题。广义拉格朗日函数为:

技术分享图片

上式分为两部分,拉格朗日前辈的思路是,让后一项达到最大值,然后固定住,则问题等价于求前一项的最小值。既然我们想要消去条件(第二项),那么就要证明条件是没用的。也就是说,无论给不给出,这个条件都会成立,那必然就可以舍弃!所以说来,我们考虑,这个世界上只存在两种可能:

  技术分享图片

首先,我们考虑<1的情况,即不满足原问题的条件,则广义拉格朗日函数的第二项,其最大值会趋于无穷,那么我们没法求该式子的最小值,这个条件也就会被放弃!而在大于等于一的情况下,函数的第二项会趋向于0,也就是说,当我们求整个公式的最小值时,会天然的选择满足条件的一侧,从而将原问题转化为:

技术分享图片

然后我们考虑下一个问题,对偶。刚才,我们先把着眼点放在第二项上,将其最大化,然后再将第一项最小化从而转化了原问题。那么,如果我们再看一下这个公式:技术分享图片如果将alpha视为常量(取为alpha‘),然后将w和b作为变量来最小化这个函数,可知第二项小于等于第一次我们推导的公式。为什么,因为刚才我们把第二项做了max,而现在却是取为alpha‘,max>=any。也即:

技术分享图片

现在确定了w和b,我们再将alpha‘来做变换,取最大值,可知:

技术分享图片

由此得到拉格朗日对偶问题(Lagrange Dual Problem)。

 技术分享图片

在一般条件下,技术分享图片技术分享图片,但在某些特殊情况下,二者却是等价的,这种情况叫做强对偶。而我们求解SVM的最佳边界,就要用强对偶下的KKT(Karush–Kuhn–Tucker conditions)条件来完成。KKT条件如下,这里的变量名称和我们的不太一样,按照顺序一一对应即可:

技术分享图片

求解步骤:

1、固定住alpha,对w和b分别求偏导数,让其等于0:

技术分享图片

带回之前的L,得到:

技术分享图片

问题转化为:

技术分享图片

此后,将等式约束带回到式子中,对各个alpha求偏导得到极值,然后带回到w和b中,得到决策边界。

---------------------------------------------------------------------------------------------------------------------------------------

声明几点:

1、要特别感谢这篇文章:简易解说拉格朗日对偶(Lagrange duality),特别喜欢这种平易近人的数学讲解。

2、支持向量机通俗导论写的相当详尽,个人拜读了不下20遍,依然在继续学习中。

3、李航老师的《统计学习方法》中,也讲的很透彻。

我是个看到类似‘拉格朗日’这种字眼就害怕的人,需要感拜谢前人的智慧和分享精神。

Support Vector Machine(2):求解线性可分SVM的最佳边界

标签:jpg   ons   导数   detail   等于   splay   思路   margin   blank   

原文地址:https://www.cnblogs.com/rhyswang/p/8411982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!