SVM

作者: wzhixin | 来源:发表于2018-08-08 22:53 被阅读14次

    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

    相关文章

      网友评论

          本文标题:SVM

          本文链接:https://www.haomeiwen.com/subject/gqqqmftx.html