上节课把原始的优化问题改写成二次规划的形式,通过软件包来求解参数。这节课通过研究原问题的对偶问题,在一定条件下,对偶问题的最优解和解参数和原问题一致,继而得到原问题的解。
Motivation of Dual SVM
对于非线性SVM,通常是用线性变换将变量从x域(非线性)转换到z域(线性)中(e.g.)。此时,z域是线性的,可以使用上节课的线性SVM求解最优解(这话听着怪怪的,我说下我的理解吧)。回忆基石的课,拟合回归问题时。可以通过增加高次方项增加模型的复杂度,继而减小。同样的,对于SVM问题,也可以通过这样的方式减少,并且SVM的large-margin能够减少有效的VC Dimension,相当于加了一个惩罚项。但是做变换的时候特征维度往往会变得很大,由,此时求解QP问题会比较复杂。对偶问题在求解时,不依赖,这就是提出对偶问题的原因。(后面会讲到对偶问题依赖的是训练集大小,一般来说都是样本数量大于特征数量吧,奇怪了。这个疑惑,暂且留着吧–据说和核函数升维有关系,升维之后特征会变得特别多)。
经过变换之后,QP问题的形式如下:
前面说过SVM相当于加了个惩罚项,基石的正则化课程讲到通过拉格朗日乘子法求解,同样的dual SVM问题也可以通过引入拉格朗日乘子的方式,把原问题转化为非条件问题。
那么如何讲条件问题转化成非条件问题呢?拉格朗日乘子法熟悉的话,应该很直观:
下面利用拉格朗日函数构造非条件问题:
为什么这样构造之后,两个问题就等价了呢?可以这样理解:
把记为,转化之后的问题就是在的参数空间中找一个使得最小的值
对于,是要找到一个使得最大。观察拉格朗日函数,显然如果原问题的约束条件不满足,则,趋于正无穷,那么时,这样的参数取不到最优解。所以先对取关于的极小,再取关于的极大和原问题是等价的。
Lagrange Dual SVM
上一节我们找到了原问题的等价问题,已知,那么对于固定的且,一定有如下不等式成立:
上式显然成立,对不等式两边同时取Max,不等式同样成立:
上式表明对等价问题的min和max做了一个对调,满足这样的关系叫做Lagrange dual problem。称为弱对偶关系,称为强对偶关系。在二次规划QP问题中,强对偶关系需要满足下面三个条件:
1. 函数是凸的(convex primal)
2. 函数有可行解(feasible primal)
3. 条件是线性的(linear constraints)
即存在满足条件的解使得等式左右都成立,这样就可以通过直接解对偶问题求原问题。
关于拉格朗日对偶性,李航的《统计学习方法》有较为完整的介绍。并且强对偶要求的是约束和目标函数都是凸函数,有点差异的。此处存疑!
这里原问题满足这三个条件,所以我们可以直接求对偶问题,经过推导对偶问题转化为无条件形式:
先求上式括号里的部分,即对拉格朗日函数求最小值,那么必要条件是梯度为0。首先,令对参数的偏导为0:
把上述求偏导得到的等式带入并化简:
同样的对求偏导:
把上述求偏导得到的等式带入并化简:
这样,表达式里面消去了,问题进一步简化。这时候的条件有3个:
- all
这时候我们只需要计算满足上述三个条件时,的最小值以及对应的。
最终形式如下:
其中满足最佳化条件称为Karush-Kuhn-Tucker(KKT):
这里有个逻辑问题没搞明白,就SVM问题而言,是因为原问题和对偶问题满足一些条件所以他们有相同的最优解,然后一定会满足KKT条件,不知道是不是这个逻辑,回头再查查资料吧。
Solveing Dual SVM
进一步简化,把MAX问题转化为Min问题,把部门条件放到约束中:
这个条件暂时不考虑,因为目标函数中没有出现。然后改写成QP问题的形式,用软件包求解即可。
这里没有看懂,主要拆到约束里怎么表达,存疑吧~
计算矩阵时,如果样本量特别大,计算量也会很大。所以计算时会采用一些特殊的方法。
得到之后,根据KKT条件就可以计算和。
首先
其次根据得到
计算时,如果成立,那么成立,那说明这个点正好在分解线上,即fat boundary上,这些点就是support vector。
Messages behind Dual SVM
前面讲到如果成立,那么成立,那说明这个点就是支持向量,但是分类线上的点不一定都是支持向量,但满足的点一定都是支持向量。
比较PLA和SVM的公式:
两者形式上十分相似,但是由fattest hyperplane边界上所有的SV决定(非支持向量点对应为0),由所有当前分类错误的点决定。和都是原始数据点的线性组合形式,是原始数据的代表。
Summary
比较原始问题和对偶问题:
对偶问题的引进是为了避免计算中对的依赖,约束由个条件转换成个约束条件。但是计算矩阵时候已经引入了。下节课将研究探讨如何消除对的依赖。
存疑
有两个疑问,记录下:
1. 对偶问题QP问题的改写
2. KKT条件的逻辑,是因为对偶问题和原问题满足三个条件,所以有共同的最优解,继而满足KKT条件?
Ref
[1] 《机器学习技法》第二周课程
[2] https://blog.csdn.net/red_stone1/article/details/73822768#reply
2018-03-28 于杭州