SVM首先将原始的凸二次规划问题,使用拉格朗日函数,再由拉格朗日函数当中存在的原始问题等于拉格朗日函数的的min(max(L))极小极大问题,再由于KKT条件,拉个朗日函数的极小极大问题的解等于极大极小问题的解.
我们解得的w、b、α这几个参数带入带KKT条件当中必须要满足KKT条件才能说明拉格朗日对偶函数的解也同时是拉格朗日函数的解,也就是原始问题的解。
拉格朗日方程,就是求解一个函数的最小值,但是是在约束条件下求解,包括等式约束和不等式约束
![](https://img.haomeiwen.com/i7382276/16ed96230fcb20a5.png)
我们将约束条件通过拉格朗日乘子构造拉格朗日方程
![](https://img.haomeiwen.com/i7382276/dc2039810e180306.png)
α需要满足都大于零,因为对于一个约束来说,我们不能越约束越小,约束条件是一个凸函数
只有当α*g(w)=0并且h(w)=0(这几个条件也是后面的KKT条件)的时候 max(L(w,α,β))=min(f(w))
当最后通过拉格朗日对偶函数求解出的w,α,β只有满足上述条件的时候,这个解才同时是原函数的解。
现在我们要通过求解这个方程来求解原问题的最优解,原问题要求f(w)的极小,第二部分和第三部分都是小于等于零的,所以我们首先对拉格朗日函数求极大,当第二部分和第三部分都等于零的时候这个函数就等于 公式1,这个时候我们再求极小,所以朗格朗日方程的极小极大问题就等于原始问题。
![](https://img.haomeiwen.com/i7382276/86c0244eb7f89d57.png)
![](https://img.haomeiwen.com/i7382276/3d21ee034da7c7c9.png)
五、KKT条件
对于公式(1):
KKT条件前提:
- f(w),gi(w) 是凸函数(Hessian矩阵半正定)
- hi(w) 是仿射函数(线性函数)
- 存在w是的对所有的gi(w) 严格的小于0(Slater condition 强对偶充分条件)
所以KKT条件如下:
![](https://img.haomeiwen.com/i7382276/93d76731855c9219.png)
第一条第二条都是很在求解过程当中取得的,最后两条是拉格朗日函数的基本定义,第三条就是我们求出的解是原函数的解的条件。
拉格朗日对偶函数
![](https://img.haomeiwen.com/i7382276/92552715eacfae71.png)
现在的优化方案到上面了,先求最小值,对 w 和 b 分别求偏导可以获取如下公式:
![](https://img.haomeiwen.com/i7382276/867a983db81eb769.png)
把上式获取的参数代入公式优化max值:
![](https://img.haomeiwen.com/i7382276/b1102437f4dd2b55.png)
化解到最后一步,就可以获取最优的a值:
![](https://img.haomeiwen.com/i7382276/a18b20f95ff24fe9.png)
以上就可以获取超平面!
继续介绍一下核技巧,对于一个线性不可分的数据集,我们可以通过将其从进行特征映射,映射到一个高维空间当中。例如现在有两个特征x1(1,3) x2(2,4),
![](https://img.haomeiwen.com/i7382276/8e2f232dae2eb8a4.png)
映射后就为(1,3*根号2,9)如果我们先进行映射,再进行内积的话我们就要计算n^2次,如果映射的维度较高的话计算时间就会很长,所以实际上不是这样做的,而是先进行内积,在开方。得到的结果就和先映射再内积的结果一样了。举例说明:
![](https://img.haomeiwen.com/i7382276/b08e7c34541e913d.png)
也就是我们并没有进行映射,但是这种计算方式就会隐含我们进行了映射。总而言之,核函数它本质上隐含了从低维到高维的映射,从而避免直接计算高维的内积。
常见的核函数
![](https://img.haomeiwen.com/i7382276/0b25a52ffb8d6459.png)
参考资料。
https://blog.csdn.net/zhangzhengyi03539/article/details/49366447
网友评论