一.对偶问题的动机
非线性SVM的思路:
非线性SVM是最大间隔和特征转换的结合体,通过最大间隔得到低的VC维,从而降低模型复杂度,通过特征转换
对于
我们的目标是让求解SVM的过程与
上述中的‘Equivalent’ SVM实际上是原始SVM的对偶问题(dual problem ),该对偶问题的求解与
二.SVM的对偶问题
解决的方法思想——拉格朗日乘子法
在推导正则化的时候,我们也引入了该方法,该方法针对有限制条件的最优化问题,通过该方法可以把限制条件转入目标函数中。
在正则化的推导的过程中,我们的拉格朗日乘子
在SVM的文献中,拉格朗日乘子一般用
对于一个满足定义域
解释:函数L的最大值,即使做了最小化也是大于或等于该函数的最小值的。
对满足定义域
这称为原来问题的对偶问题,由于采用了拉格朗日乘数法,因此称为拉格朗日对偶问题,通过这个对偶问题可以求出原来问题的下限。
如果是
对于满足强对偶问题的拉格朗日对偶问题,当满足下面条件时候可用QP计算:
- 凸函数
- 通过特征变换为高维空间是线性可分
- 条件是线性条件
因此这是一个强对偶,故优化目标为:
现在对内部min做优化,则需要对b和w求导,现先对b求导,则有:
因此可用将该条件作为上述优化目标的条件,同时也消除了b:
命名下式子为(H)
然后对w求导(仍然在对min做优化):
将其代入(H)得到:
由于w和b被函
最后给出求解上述优化问题需要满足的必要条件,也就是KKT条件:
三.解对偶问题
经过上节课的推导,最终可得到对偶SVM的标准形式:
这时可以采用QP求解了,因为求解的变量个数只与N相关了。
但是Q矩阵会很大,这导致该QP问题难解,因为当有N=30000个样本时,Q的维度为30000×30000,非常耗费存储导致计算非常慢。
因此在在求解对偶SVM时,需要做特殊的解法:
- 不存储Q
- 采用特殊的限制条件
得到的最优化结果为(b,W)。
可以容易的计算出w。
b的计算,假设
四.对偶SVM背后的信息
在支持向量机中,有两种样本点,把在最大间隔边界上的点称为边界点support vectors候选点,也称为,在边界外的点对于分析最大间隔没有用。在边界上的点,如果
通过一个练习理解这里的定义:
在解支持向量机的对偶问题的时候,只需要support vectors,也就是说学得最大间隔分离面只需要通过找出对偶问题的support vectors。
在SVM中,w是通过求解对偶问题得到的,在PLA中是通过纠错得到w。
可以看出SVM和PLA的w都有
线性SVM与对偶SVM的比较:
在线性SVM中,求解出最佳的b和w与所在的特征空间的维度数量有关,适合于特征空间维度低的情况下;在对偶SVM中,求解出的b和w与样本集的规模N有关,适合于N不大的情况下,在对偶SVM中,引入了特征转换可以对非线性数据集进行分类,求解的最佳b和w只与support vectors有关。
引入SVM的对偶问题是为了让SVM能做非线性分类,我们希望SVM能对很复杂的非线性问题都能够实现分类,因此在特征转换的时候特征空间可能会很大,一种极端的情况是 特征空间维度
那么该怎么完全避免计算