kkt条件 弱对偶 强对偶_机器学习技法2-(对偶SVM)

一.对偶问题的动机

非线性SVM的思路:

非线性SVM是最大间隔和特征转换的结合体,通过最大间隔得到低的VC维,从而降低模型复杂度,通过特征转换

替换原来的特征空间,得到的特征空间为
,下图是采用QP计算工具计算的流程,共有
个变量和N个线性限制条件,当
越大,这个QP问题就越难计算。

5aab456143213c956a2d0dcad4985dd9.png

对于

非常大,甚至是无穷大,也就是无穷维度的特征空间,这是QP问题很难解,那么该怎么办?解决的办法是让SVM的求解与
没有关系 。

我们的目标是让求解SVM的过程与

无关。

289ce0b6575d137ca8d5968f40202fd6.png

上述中的‘Equivalent’ SVM实际上是原始SVM的对偶问题(dual problem ),该对偶问题的求解与

无关,只与样本个数N有关。

二.SVM的对偶问题

解决的方法思想——拉格朗日乘子法

在推导正则化的时候,我们也引入了该方法,该方法针对有限制条件的最优化问题,通过该方法可以把限制条件转入目标函数中。

c4147e8317c0312e742c1769cc09e5f7.png

在正则化的推导的过程中,我们的拉格朗日乘子

是已知的,是由我们定的。在SVM的对偶问题中,这些拉格朗日乘子
是未知的,是需要我们求解的参数,个数为N(对应限制条件的个数)。

在SVM的文献中,拉格朗日乘子一般用

表示,对线性SVM列拉格朗日函数则有:

bb6e5ae2a2511c16ffe8f7f377f7be92.png

,现在已经将限制条件加到目标函数中了,那么限制条件怎么实现呢?将限制条件隐藏在最大值函数中,推导:

a3c2ba1cfcc34279fe2d503f5de969a3.png

对于一个满足定义域

的固定的
有:

d0dfa3943d8a00ba2b1c4f770c016540.png

解释:函数L的最大值,即使做了最小化也是大于或等于该函数的最小值的。

对满足定义域

的任意一个固定的
都满足上式,则有:

39aa410da8d6ad2d3f6700d5e65835d1.png

这称为原来问题的对偶问题,由于采用了拉格朗日乘数法,因此称为拉格朗日对偶问题,通过这个对偶问题可以求出原来问题的下限

如果是

则为弱对偶问题,如果是
则为强对偶问题。

对于满足强对偶问题的拉格朗日对偶问题,当满足下面条件时候可用QP计算:

  1. 凸函数
  2. 通过特征变换为高维空间是线性可分
  3. 条件是线性条件

因此这是一个强对偶,故优化目标为:

b8a2bde6cea69703d3816c46898bd61a.png

现在对内部min做优化,则需要对b和w求导,现先对b求导,则有:

261d933a611690332b7f35fa7f2913f0.png

因此可用将该条件作为上述优化目标的条件,同时也消除了b:

命名下式子为(H)

3a52edeaa639c7908fca043239ea8f90.png

然后对w求导(仍然在对min做优化):

c9ec8c07f1167d46996bdb5cbf1c7cfb.png

将其代入(H)得到:

c2c659bde34c652efbe7c262e214de3f.png

由于w和b被函

替换了,因此可用把min符号去掉。

最后给出求解上述优化问题需要满足的必要条件,也就是KKT条件:

94be15ebdb7fc94e12752f191100cf96.png

三.解对偶问题

经过上节课的推导,最终可得到对偶SVM的标准形式:

393ae3a9187940823c28e99f00230192.png

这时可以采用QP求解了,因为求解的变量个数只与N相关了。

a8ee60d816651f3c1f5326374f40b3e2.png

但是Q矩阵会很大,这导致该QP问题难解,因为当有N=30000个样本时,Q的维度为30000×30000,非常耗费存储导致计算非常慢。

因此在在求解对偶SVM时,需要做特殊的解法:

  • 不存储Q
  • 采用特殊的限制条件

得到的最优化结果为(b,W)。

a38eae95cb489e4b32afd86d9b6023a8.png

可以容易的计算出w。

b的计算,假设

大于0,那么
,可以发现该点在最大间隔的边界上,也就是支撑向量。

四.对偶SVM背后的信息

在支持向量机中,有两种样本点,把在最大间隔边界上的点称为边界点support vectors候选点,也称为,在边界外的点对于分析最大间隔没有用。在边界上的点,如果

大于0,那么该点为support vectors,如果
,那么该点只是在边界上,但不是support vectors。

通过一个练习理解这里的定义:

b94a4e706ca15cb62c44ee09abd099ee.png

在解支持向量机的对偶问题的时候,只需要support vectors,也就是说学得最大间隔分离面只需要通过找出对偶问题的support vectors。

dabe0835291884fb5a73e732046693bf.png

在SVM中,w是通过求解对偶问题得到的,在PLA中是通过纠错得到w。

e06b81518a3b8319448b4b71f2f1eb68.png

可以看出SVM和PLA的w都有

的线性组合,这说明了w是被样本点求出来的,其中SVM由support vectors求出的,而PLA的w是由发生错误的样本点求出来的。

线性SVM与对偶SVM的比较:

136e20b8f52afdacd82e006a9d7bd4c2.png

在线性SVM中,求解出最佳的b和w与所在的特征空间的维度数量有关,适合于特征空间维度低的情况下;在对偶SVM中,求解出的b和w与样本集的规模N有关,适合于N不大的情况下,在对偶SVM中,引入了特征转换可以对非线性数据集进行分类,求解的最佳b和w只与support vectors有关。

引入SVM的对偶问题是为了让SVM能做非线性分类,我们希望SVM能对很复杂的非线性问题都能够实现分类,因此在特征转换的时候特征空间可能会很大,一种极端的情况是 特征空间维度

为无穷大,但是这时计算机无法计算,因此引入了对偶问题来使得求解过程与
无关,但是在上述的对偶问题中,我们得到的b和w的计算虽然表面上与
无关,本质上却仍然与
有关,不过是隐藏起来了。

64c59b02f456859b152b54d064ebe9f4.png

那么该怎么完全避免计算

呢?(下节课)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值