SVM

2018-08-08  本文已影响14人  wzhixin

SVM首先将原始的凸二次规划问题,使用拉格朗日函数,再由拉格朗日函数当中存在的原始问题等于拉格朗日函数的的min(max(L))极小极大问题,再由于KKT条件,拉个朗日函数的极小极大问题的解等于极大极小问题的解.
我们解得的w、b、α这几个参数带入带KKT条件当中必须要满足KKT条件才能说明拉格朗日对偶函数的解也同时是拉格朗日函数的解,也就是原始问题的解。
拉格朗日方程,就是求解一个函数的最小值,但是是在约束条件下求解,包括等式约束和不等式约束


image.png

我们将约束条件通过拉格朗日乘子构造拉格朗日方程


image.png

α需要满足都大于零,因为对于一个约束来说,我们不能越约束越小,约束条件是一个凸函数
只有当α*g(w)=0并且h(w)=0(这几个条件也是后面的KKT条件)的时候 max(L(w,α,β))=min(f(w))
当最后通过拉格朗日对偶函数求解出的w,α,β只有满足上述条件的时候,这个解才同时是原函数的解。

现在我们要通过求解这个方程来求解原问题的最优解,原问题要求f(w)的极小,第二部分和第三部分都是小于等于零的,所以我们首先对拉格朗日函数求极大,当第二部分第三部分都等于零的时候这个函数就等于 公式1,这个时候我们再求极小,所以朗格朗日方程的极小极大问题就等于原始问题。

image.png image.png

五、KKT条件
对于公式(1):
KKT条件前提:

  1. f(w),gi(w) 是凸函数(Hessian矩阵半正定)
  2. hi(w) 是仿射函数(线性函数)
  3. 存在w是的对所有的gi(w) 严格的小于0(Slater condition 强对偶充分条件)

所以KKT条件如下:


a

第一条第二条都是很在求解过程当中取得的,最后两条是拉格朗日函数的基本定义,第三条就是我们求出的解是原函数的解的条件。

拉格朗日对偶函数

image.png

现在的优化方案到上面了,先求最小值,对 w 和 b 分别求偏导可以获取如下公式:


image.png

把上式获取的参数代入公式优化max值:


image.png
化解到最后一步,就可以获取最优的a值:
image.png

以上就可以获取超平面!

继续介绍一下核技巧,对于一个线性不可分的数据集,我们可以通过将其从进行特征映射,映射到一个高维空间当中。例如现在有两个特征x1(1,3) x2(2,4),


image.png

映射后就为(1,3*根号2,9)如果我们先进行映射,再进行内积的话我们就要计算n^2次,如果映射的维度较高的话计算时间就会很长,所以实际上不是这样做的,而是先进行内积,在开方。得到的结果就和先映射再内积的结果一样了。举例说明:


image.png

也就是我们并没有进行映射,但是这种计算方式就会隐含我们进行了映射。总而言之,核函数它本质上隐含了从低维到高维的映射,从而避免直接计算高维的内积。

常见的核函数


image.png

参考资料。
https://blog.csdn.net/zhangzhengyi03539/article/details/49366447

上一篇下一篇

猜你喜欢

热点阅读