序
本次记录:
原问题与对偶问题的关系;
强对偶与弱对偶;
引入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。