林轩田机器学习技法笔记2:Dual Support Vector Machine

0. 前言

上一节课我们介绍了支持向量机、margin、怎么解支持向量机等。这一节课我们将会研究支持向量机的对偶问题。

1. Motivation of Dual SVM

上一节课中我们讲到,求解线性支持向量机的QP问题中变量数量为 dˆ+1 d ^ + 1 ,则 dˆ+1 d ^ + 1 越大,相应求解这个QP问题也变得很困难。当 dˆ d ^ 无限大的时候,问题将会变得难以求解。因此,我们将此问题转换成一个对偶问题,同样是二次规划,只不过变量个数变成N个,有N+1个限制条件。对偶SVM的好处就是问题只跟N有关,与 dˆ d ^ 无关,这样当 dˆ d ^ 无穷大时仍能求解。
这里写图片描述
这个转换过程非常的复杂,这里将不会赘述,只讲概念和原理上进行简单的推导。
之前在使用regularization时,使用拉格朗日极值法把条件问题转换成非条件问题,这里同样可以这么处理。
使用拉格朗日极值将左图转换为右图,其中 αn α n 为拉格朗日系数。
这里写图片描述
我们利用拉格朗日函数,把SVM构造成一个非条件问题:
这里写图片描述
问题中巧妙的使用了最小化中包含了最大化,这里进行解释一下。首先我们规定拉格朗日因子 αn0 α n ≥ 0 。如果说b,w是不好的,那么中间这个max就会使得 an a n 为无穷大,因为根据SVM的限定条件可得: (1yn(wTzn+b))0 ( 1 − y n ( w T z n + b ) ) ≥ 0 ,是个正值。此时,最好的结果就是无穷大,我们在外面套了个min自然就选不到这种情况了。如果说b,w是好的,那么我们的问题就转化成min 12wTw 1 2 w T w 了。

2. Lagrange Dual SVM

通过上一部分的分析,我们已经可以得到我们最后的目的是:
这里写图片描述
同样的,等式也可以转换成:
这里写图片描述
上述不等式表明,我们对SVM的min和max做了对调,满足这样的关系,这叫做Lagrange dual problem。不等式右边是SVM问题的下界,我们接下来的目的就是求出这个下界。
经过推导,SVM对偶问题的解已经转化为无条件形式:
这里写图片描述
首先,令L(b,w,α)对参数b的梯度为零,再令L(b,w,α)对参数w的梯度为零,最后化解得到:
这里写图片描述
其中,满足最佳化的条件称之为Karush-Kuhn-Tucker(KKT):
这里写图片描述

3. Solving Dual SVM

这一部分我们继续上一部分的优化,首先,将max问题转化为min问题:
这里写图片描述
这是一个convex的QP问题,且有N个变量 αn α n ,限制条件有N+1个。则根据上一节课讲的QP解法,找到Q,p,A,c对应的值,用软件工具包进行求解。
这里写图片描述
得到 αn α n 之后,再根据之前的KKT条件,就可以计算出w和b了。
这里写图片描述
值得注意的是,计算b值,αn>0时,有 yn(wTzn+b)=1 y n ( w T z n + b ) = 1 成立。 yn(wTzn+b)=1 y n ( w T z n + b ) = 1 正好表示的是该点在SVM分类线上,即fat boundary。也就是说,满足αn>0的点一定落在fat boundary上,这些点就是Support Vector。

4. Messages behind Dual SVM

上一部分末尾我们降到, αn>0 α n > 0 的点一定落在分类线边界上,这些点称之为support vector,其实分类线上的点不一定都是支持向量,但是满足 αn>0 α n > 0 的点,一定是支持向量。
这里写图片描述
我们对SVM和PLA进行一个比较:
这里写图片描述
发现两者非常相似,都是由 ynzn y n z n 线性组合而成。
总结一下,本节课和上节课主要介绍了两种形式的SVM,一种是Primal Hard-Margin SVM,另一种是Dual Hard_Margin SVM。Primal Hard-Margin SVM有 dˆ d ^ +1个参数,有N个限制条件。当 dˆ d ^ +1很大时,求解困难。而Dual Hard_Margin SVM有N个参数,有N+1个限制条件。当数据量N很大时,也同样会增大计算难度。两种形式都能得到w和b,求得fattest hyperplane。通常情况下,如果N不是很大,一般使用Dual SVM来解决问题。
这里写图片描述
这节课提出的Dual SVM的目的是为了避免计算过程中对 dˆ d ^ 的依赖,而只与N有关。但是,Dual SVM并没有真的消除对 dˆ d ^ 的依赖,因为在计算 qn,m=ynymzTnzm q n , m = y n y m z n T z m 的过程中,由z向量引入了 dˆ d ^ ,实际上复杂度已经隐藏在计算过程中了。所以,我们的目标并没有实现。下一节课我们将继续研究探讨如何消除对 dˆ d ^ 的依赖。

5. 总结

这一节课我们介绍了SVM的另外一种形式:Dual SVM。这种向量机能移除计算过程对 dˆ d ^ 的依赖。SVM可以看作是这样一个问题:找出所有的support vector,然后用它们算出margin,其他的数据点一点都不重要。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值