一.对偶问题的动机
非线性SVM的思路:
非线性SVM是最大间隔和特征转换的结合体,通过最大间隔得到低的VC维,从而降低模型复杂度,通过特征转换
![equation?tex=Z%3D%5CPhi%28x_%7Bn%7D%29](https://i-blog.csdnimg.cn/blog_migrate/022e2d056c480cfa608056b12fa9fcfd.png)
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![equation?tex=%5Ctilde%7Bd%7D%2B1](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png%2B1)
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![b2c13c1c60e7ea93467adf00c2e3c444.png](https://i-blog.csdnimg.cn/blog_migrate/a5e303604512a15ab1ca965cde4436e0.jpeg)
对于
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
我们的目标是让求解SVM的过程与
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![efdbadca72d5d7e7fa15343a3a583faa.png](https://i-blog.csdnimg.cn/blog_migrate/829bc8fac0d09d919628ccb471189d44.jpeg)
上述中的‘Equivalent’ SVM实际上是原始SVM的对偶问题(dual problem ),该对偶问题的求解与
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
二.SVM的对偶问题
解决的方法思想——拉格朗日乘子法
在推导正则化的时候,我们也引入了该方法,该方法针对有限制条件的最优化问题,通过该方法可以把限制条件转入目标函数中。
![626d494fe1c6e0612fea48c1bc513212.png](https://i-blog.csdnimg.cn/blog_migrate/1a03dae6d7ddd1f125cb7dc60d41c47d.jpeg)
在正则化的推导的过程中,我们的拉格朗日乘子
![equation?tex=%5Clambda](https://i-blog.csdnimg.cn/blog_migrate/dc06394ad16162f3245fa966cb855095.png)
![equation?tex=%5Clambda%5E%7B%27%7D](https://i-blog.csdnimg.cn/blog_migrate/dc06394ad16162f3245fa966cb855095.png%5E%7B%27%7D)
在SVM的文献中,拉格朗日乘子一般用
![equation?tex=%5Calpha](https://i-blog.csdnimg.cn/blog_migrate/b5edc03934564b6fc6a72b7804435505.png)
![e61d5c1d42961da9f087e1419bafafc0.png](https://i-blog.csdnimg.cn/blog_migrate/59cc76df1a8b8bf207536b94aeaa9e32.jpeg)
![equation?tex=%5Calpha%5Cgeq0](https://i-blog.csdnimg.cn/blog_migrate/b5edc03934564b6fc6a72b7804435505.png%5Cgeq0)
![0e6e8dac48b579dd0b726dc9e8a3b910.png](https://i-blog.csdnimg.cn/blog_migrate/a5b173ee1804863c49c873189bba7c60.jpeg)
对于一个满足定义域
![equation?tex=%5Calpha%5E%7B%27%7D](https://i-blog.csdnimg.cn/blog_migrate/b5edc03934564b6fc6a72b7804435505.png%5E%7B%27%7D)
![5612da1b7fef58f35f3e23a8bac3f604.png](https://i-blog.csdnimg.cn/blog_migrate/f33282715e2f86adaa93591525db7b20.jpeg)
解释:函数L的最大值,即使做了最小化也是大于或等于该函数的最小值的。
对满足定义域
![equation?tex=%5Calpha%5E%7B%27%7D](https://i-blog.csdnimg.cn/blog_migrate/b5edc03934564b6fc6a72b7804435505.png%5E%7B%27%7D)
![cca99b28150c700fe50ce10887f0d02f.png](https://i-blog.csdnimg.cn/blog_migrate/45ae0307f2399b346691579f423df0aa.jpeg)
这称为原来问题的对偶问题,由于采用了拉格朗日乘数法,因此称为拉格朗日对偶问题,通过这个对偶问题可以求出原来问题的下限。
如果是
![equation?tex=%5Cgeq](https://i-blog.csdnimg.cn/blog_migrate/7677b0d1c4f0f774224aa4e5b4a7b249.png)
![equation?tex=%3D](https://i-blog.csdnimg.cn/blog_migrate/7395884ca4f221584a39fd3a18a0dc08.png)
对于满足强对偶问题的拉格朗日对偶问题,当满足下面条件时候可用QP计算:
- 凸函数
- 通过特征变换为高维空间是线性可分
- 条件是线性条件
因此这是一个强对偶,故优化目标为:
![013fadc005875ee2c767e937cfe06176.png](https://i-blog.csdnimg.cn/blog_migrate/f2b0c78dad7337e6de9248664fc2fcb7.jpeg)
现在对内部min做优化,则需要对b和w求导,现先对b求导,则有:
![478ac8e658d1acb78d40f924b379139f.png](https://i-blog.csdnimg.cn/blog_migrate/a70bc59e3bd7535efdfdcf3da29b6860.png)
因此可用将该条件作为上述优化目标的条件,同时也消除了b:
命名下式子为(H)
![73d77d516e2f9286df2d523006257620.png](https://i-blog.csdnimg.cn/blog_migrate/6dcc505bf05898499e716064dca9a3bb.jpeg)
然后对w求导(仍然在对min做优化):
![238a35f17a3b1ebff1a03449e2eafd76.png](https://i-blog.csdnimg.cn/blog_migrate/7358c073af422bdadd5f87a7e38bc2dc.png)
将其代入(H)得到:
![307d882b70ae3fdc98763c58ec00f62d.png](https://i-blog.csdnimg.cn/blog_migrate/26da1491d35c8948461900b9c690e921.jpeg)
由于w和b被函
![equation?tex=X_%7Bn%7D](https://i-blog.csdnimg.cn/blog_migrate/a52f27ad745b3edff9c18317803b42bd.png)
![equation?tex=Z_%7Bn%7D](https://i-blog.csdnimg.cn/blog_migrate/3eb33d46a28cde9c88ca4dfacff5474e.png)
最后给出求解上述优化问题需要满足的必要条件,也就是KKT条件:
![249aefc4813512000738460f051ba736.png](https://i-blog.csdnimg.cn/blog_migrate/1cfbe30894358cfd0b15a8cc66231d42.jpeg)
三.解对偶问题
经过上节课的推导,最终可得到对偶SVM的标准形式:
![ac1a2455424e5d6bd8f19df6c712b500.png](https://i-blog.csdnimg.cn/blog_migrate/77b144ef932b87d7f2886918387b0491.jpeg)
这时可以采用QP求解了,因为求解的变量个数只与N相关了。
![00c975d7b8f33e4c9be3a3003b818b4d.png](https://i-blog.csdnimg.cn/blog_migrate/091a8b7f148a0f821ddc5685463bcb4c.jpeg)
但是Q矩阵会很大,这导致该QP问题难解,因为当有N=30000个样本时,Q的维度为30000×30000,非常耗费存储导致计算非常慢。
因此在在求解对偶SVM时,需要做特殊的解法:
- 不存储Q
- 采用特殊的限制条件
得到的最优化结果为(b,W)。
![ce64c74126725081fb7a4fec1ebf336b.png](https://i-blog.csdnimg.cn/blog_migrate/78dcb87cf43f0c0481cd245d6b634934.jpeg)
可以容易的计算出w。
b的计算,假设
![equation?tex=b+%3D+y_%7Bn%7D-w%5E%7B%5Ctop%7Dz_%7Bn%7D](https://i-blog.csdnimg.cn/blog_migrate/9661e4888b8c7a80e3a90ad1dd66d8bb.png)
四.对偶SVM背后的信息
在支持向量机中,有两种样本点,把在最大间隔边界上的点称为边界点support vectors候选点,也称为,在边界外的点对于分析最大间隔没有用。在边界上的点,如果
通过一个练习理解这里的定义:
![a9361569eaebfc5fcd55eaf416d0aaff.png](https://i-blog.csdnimg.cn/blog_migrate/12dbdcc862f03a66357f8508095f1cc7.jpeg)
在解支持向量机的对偶问题的时候,只需要support vectors,也就是说学得最大间隔分离面只需要通过找出对偶问题的support vectors。
![57882f1bb7d7ceac29df8f0c2bf38249.png](https://i-blog.csdnimg.cn/blog_migrate/aa4ecec8f71e9b8c20eab56a8e9fa859.png)
在SVM中,w是通过求解对偶问题得到的,在PLA中是通过纠错得到w。
![12b69428a117da4d9b45316d92ef8121.png](https://i-blog.csdnimg.cn/blog_migrate/207393c0c6500e5dd1763c84a95333a0.jpeg)
可以看出SVM和PLA的w都有
![equation?tex=y_%7Bn%7Dz_%7Bn%7D](https://i-blog.csdnimg.cn/blog_migrate/e9bdd6567beec7d2c8a3b754663b5791.png)
线性SVM与对偶SVM的比较:
![870b7289b07985a89079376dbd426179.png](https://i-blog.csdnimg.cn/blog_migrate/c650f147654ca2eee4ae7311d487b9aa.jpeg)
在线性SVM中,求解出最佳的b和w与所在的特征空间的维度数量有关,适合于特征空间维度低的情况下;在对偶SVM中,求解出的b和w与样本集的规模N有关,适合于N不大的情况下,在对偶SVM中,引入了特征转换可以对非线性数据集进行分类,求解的最佳b和w只与support vectors有关。
引入SVM的对偶问题是为了让SVM能做非线性分类,我们希望SVM能对很复杂的非线性问题都能够实现分类,因此在特征转换的时候特征空间可能会很大,一种极端的情况是 特征空间维度
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)
![bce942e87364f69a5ff3080c2d3b0087.png](https://i-blog.csdnimg.cn/blog_migrate/48b5348a2e549effdbb735e8c8057325.jpeg)
那么该怎么完全避免计算
![equation?tex=%5Ctilde%7Bd%7D](https://i-blog.csdnimg.cn/blog_migrate/f493338ac98316dc499faaccce1b7a43.png)