美文网首页秋招-算法
SVM原问题与对偶问题

SVM原问题与对偶问题

作者: 0过把火0 | 来源:发表于2018-10-11 22:32 被阅读6次

    本次记录:
    原问题与对偶问题的关系;
    强对偶与弱对偶;
    引入KKT的原因;

    原问题与对偶问题的关系

    定义一个原问题:



    写出拉格朗日:



    其中 λ>=0
    对偶函数:

    对偶函数 θ 产生了一个原问题最优值p* 的一个下界,也就是,对于任意的λ>=0 以及 μ 来说,有:


    好了,现在证明对偶问题是原问题的下界(假设 x* 是在可行域内):



    也就是说我们找到了原问题最优值的一个下界。既然我们找到了一个下界,显然我们要找到它最好的下界。什么是最好的下界的?显然就是所有下界当中最大的那一个。所以需要对 θ 最大化,即:



    显然,对偶问题的最优值 d* 就是我们可以获得的 p* 的最优下界,也就是所有下界中离 p* 最近的一个,它们的关系是:

    以上的对偶性质被称作是弱对偶性。

    强对偶

    首先引入一个对偶间隙: p* - d*,也就是原问题的最优值与通过拉个郎日对偶函数获得的其最好(最大)的下界之差。

    那么有没有可能在某种情况下,对偶间隙消失了呢?也就是说对偶问题的最优值与原问题的最优值相等了呢?

    答案是,如果不等式约束 g(x) 满足严格的 < 0,那么可以使得 d* = p*

    上面这个被称作slater条件,可以证明凸优化问题,如果slater条件满足了,那么可以得到 d*=p*,slater同时也是原问题可以等价为对偶问题的一个充分条件,该条件确保了鞍点的存在。

    上述的对偶被称为强对偶。

    如果对偶间隙消失,那么我们在证明 θ <= p* 的过程就会变为:



    上图中的等号 1 说明原问题的最优点 x* 是使得 L 取得最小值的点
    等号2 说明:



    由于我们限制了每一个λi ≥ 0,所以上式中每一项都是非正的。这样我们又可以得出结论:

    上式被称作互补条件,也就是说,只要一个不为0,另一个就必为0!

    这个互补条件在SVM中起到很大的作用,当 g(x) < 0 时,x* 是在可行域内的,这时不等式不起作用,此时 λ = 0。
    而λ > 0使的点肯定是可行域边界的点,也就是g(x) = 0
    也就是说,只有积极约束才有不为0的对偶变量,而这在支持向量机中有重要作用,原因:
    svm的约束为:



    那么哪些不等式约束对应着不为0的对偶变量呢?显然只有当 d(wx+b) = 1时,这个约束对应的对偶变量才可能不为0,而d(wx+b) = 1同时意味着样本点x是在支持向量上的,也就是说,只有支持向量上的点对应的拉格朗日乘子不为0。

    KKT

    slater条件确保了鞍点的存在,但是无法确保鞍点一定是最优解,所以KKT条件的作用便体现出来。
    KKT条件的作用:KKT条件是确保鞍点是原函数最优解的充分条件

    KKT可以概括为以下三个条件:
    1)最优点x必须满足所有等式及不等式限制条件, 也就是说最优点必须是一个可行解



    2)在最优点x, ∇f 必须是 ∇gi 和 ∇hj 的线性組合(α和β是拉格朗日乘子)



    3)该条件是对拉格朗日乘子不等式的一些限制(α和β是拉格朗日乘子)
    对于不等式的拉格朗日乘子限制条件有方向性, 所以每一个α都必须大于或等于零, 而等式限制条件没有方向性,只是β不等于0。

    转载注明:https://www.jianshu.com/p/c3e23bf233f8

    相关文章

      网友评论

        本文标题:SVM原问题与对偶问题

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