SVM系列第七讲--KKT条件

如题所述

第1个回答  2022-06-15
上一讲我们介绍了最优化问题的两种形式,无约束的和等式约束条件下的,这一讲,我们主要介绍不等式约束条件下的最优化问题,并介绍一下我们的KKT条件。

设目标函数f(x),不等式约束为g(x),有的教程还会添加上等式约束条件h(x)。此时的约束优化问题描述如下:

则我们定义不等式约束下的拉格朗日函数L,则L表达式为:

求取这些等式之后就能得到候选最优值。其中第三个式子非常有趣,因为g(x)<=0,如果要满足这个等式,必须a=0或者g(x)=0. 这是SVM的很多重要性质的来源,如支持向量的概念。

接下来我们介绍一下KKT条件的推导:首先让我们针对针对 λ 和 ν 最大化,令:

这里 λ⪰0 理解为向量 λ 的每一个元素都非负即可。这个函数 z(x) 对于满足原始问题约束条件的那些 x 来说,其值等于 f0(x) ,这很容易验证,因为满足约束条件的 x 会使得 hi(x)=0 ,因此最后一项消掉了,而 fi(x)≤0 ,并且我们要求了 λ⪰0 ,因此 λifi(x)≤0 ,所以最大值只能在它们都取零的时候得到,这个时候就只剩下 f0(x) 了。因此,对于满足约束条件的那些 x 来说,f0(x)=z(x) 。这样一来,原始的带约束的优化问题其实等价于如下的无约束优化问题:

我们把上面的形式称为原始问题,之前了解过SVM的同学肯定知道,如果我们把min和max对换一下位置,就得到这个问题的对偶问题:

交换之后的对偶问题与原始问题的解并不相等,直观的可以这么理解,别墅中最便宜的房子的价格也要比普通楼房的最贵的价格高。当然这是很不严格的说法,我们需要严格的证明这一点,和刚才的z(x)类似,我们再定一个公式:

g 有一个很好的性质就是它是 primal problem 的一个下界。换句话说,如果 primal problem 的最小值记为 p∗ ,那么对于所有的 λ⪰0 和 ν ,我们有:

证明过程如下图:

在强对偶性成立的情况下,我们就可以通过对原始问题的对偶问题的求解来得到最优解(SVM就是这么做的),但并不是所有情况下强对偶性都成立,它会有一定的前提。

如果你不是专门研究规划问题的同学,咱们还是直接看结论吧。首先我们介绍一下Slater 条件,Slater 条件是指存在严格满足约束条件的点 x ,这里的“严格”是指 fi(x)≤0 中的“小于或等于号”要严格取到“小于号”,亦即,存在 x 满足:

我们有:如果原始问题是凸优化问题(很庆幸,SVM的规划问题是一个凸优化问题)的并且满足 Slater 条件的话,那么 strong duality 成立。需要注意的是,这里只是指出了 strong duality 成立的一种情况,而并不是唯一情况,不过研究SVM的话 ,知道这种情况足够了。

让我们回到 duality 的话题。来看看 strong duality 成立的时候的一些性质。
假设 x∗ 和 (λ∗,ν∗) 分别是 primal problem 和 dual problem 的极值点,相应的极值为 p∗ 和 d∗ ,首先 p∗=d∗ ,此时我们可以得到:

因为左右两端其实是相等的,所以上面的小于等于号可以替换为等于号,我们一共替换了两次,这两次替换我们都能得到一个重要的性质:

再将其他一些显而易见的条件写到一起,就是传说中的 KKT (Karush-Kuhn-Tucker) 条件:

任何满足强对偶性(不一定要求是通过 Slater 条件得到,也不一定要求是凸优化问题)的问题都满足 KKT 条件,换句话说,这是 强对偶性 的一个必要条件。不过,当原始问题是凸优化问题的时候(当然还要求一应函数是可微的,否则 KKT 条件的最后一个式子就没有意义了),KKT 就可以升级为充要条件。换句话说,如果 原始问题是一个凸优化问题,且存在 x˜ 和 (λ˜,ν˜) 满足 KKT 条件,那么它们分别是 原始问题 和 对偶问题 的极值点并且强对偶性成立。