对偶性(duality)以及KKT条件

1. 拉格朗日对偶函数

在之前博客讨论等式约束最优化问题时,我们介绍了过拉格朗日乘子法以及朗格朗日函数。事实上,对于不等式约束,我们也有着对应的拉格朗日方程。考虑标准形式的优化问题:

                                                   

拉格朗日函数为:

                                                  

其中\lambda_i\nu_i被称为拉格朗日乘子。而由原优化问题的拉格朗日函数,我们可以引出另外一个非常有趣函数——拉格朗日对偶函数

                            

用语言描述的话,就是拉格朗日函数在固定拉格朗日乘子的情况下,其可以取得的下界。注意,和原问题是否是凸问题无关,其拉格朗日对偶函数一定是凹函数(从定义很容易证明)。下面我们来看一下拉格朗日对偶函数和原问题之间的一种关系。

2. 最优值的下界

设原优化问题的最优值为p^{*}, 我们可以证明,对于任意的\lambda \succeq 0\nu,有

                                                                            

证明很简单,这里就不展开了。我们需要知道的是,无论\lambda\nu取怎样的值(\lambda大于等于0的情况下),拉格朗日对偶函数总是小于等于原目标函数的最优值。换句话说,它是原问题最优解的一个下界。为了便于直观理解,我们来看以下图示:

                                              对偶性(duality)以及KKT条件_第1张图片

上图中,实线表示目标函数f_0,虚线表示约束函数f_1。可行集是区间[-0.46, 0.46],如图中两条垂线所示。最优点和最优值分别为x^{*} = -0.46p^{*} = 1.54。点线表示一系列不同\lambda所构成的拉格朗日函数L(x,\lambda)。这里可以很清楚的看到,在可行域内,拉格朗日函数,总是小于等于目标函数,而原问题的对偶函数是拉格朗日函数的下界(朗格朗日函数的最小值),自然对偶函数也总是小于目标函数的最小值,用公式表示({\tilde{x}}为最优点):

                                          

3. 拉格朗日对偶问题

我们知道,朗格朗日对偶函数给出了优化问题的最优值p*的一个下界。那么,我们很自然的要问到,我们可以得到的最好的下界(也就是最大的下界,也就是下确界)是什么呢?该问题可以转化为优化问题:

                                                                     

上述问题称为原始优化问题的拉格朗日对偶问题。注意,拉格朗日对偶问题是一个凸优化问题。假设原始问题最优值为p*,对偶问题最优值为d*,显然有 d* <= p*(我们称该性质为弱对偶性)。我们希望看到的是,如果有 d* = p*(该性质被称为强对偶性),那么我们可以间接通过研究对偶问题来解决原问题。我们可以是用slater条件来判断强对偶性: 如果原问题是凸优化问题,并且至少存在绝对一个绝对可行点(什么叫绝对可行点,就是一个可以让所有不等式约束都不取等号的可行点),那么就具有强对偶性。这个条件就是Slater’s condition。

4. 最优性条件

首先我们介绍互补松弛条件。设原问题强对偶性成立。令x*是原问题最优解,(\lambda^{*},\nu^{*})是对偶问题的最优解,则我们可以得到:

                                    对偶性(duality)以及KKT条件_第2张图片

由于上式第一行和最后一行相等,所以后两个不等式可以变为等式。

第一个不等式可以变为等式,我们可以得出结论:拉格朗日函数L(x,\lambda^{*},\nu^{*})对x求极小时在x*处取得最小值(当然可能在其它点取得同样的最小值,只不过在x*取得最小值是确定的)。如果拉格朗日函数是可微的,那么其在x*点出必取极值,所以有

                                                                                   \bigtriangledown L(x^{*},\lambda^{*},\nu^{*}) = 0

第二个不等式可以变为不等式,我们可以得出结论:

                                                                              

该条件即为互补松弛条件,由于\lambda \geq 0, 互补松弛条件还可以写成:

                                                                        

由此,我们引出非凸问题的KKT条件:对于任何优化问题,强对偶性成立且目标函数和限制函数都是可微的,则其必满足一下形式:

                     对偶性(duality)以及KKT条件_第3张图片

注意上述表述是对所有优化问题且为必要条件,如果是凸优化问题,该条件还可以转化为充分条件。

KKT条件在优化领域有着重要的作用。在一些特殊情况下,是可以解析求解KKT条件的(也因此可以解优化问题)。更一般地,很多求解凸优化问题的方法可以认为或者理解为求解KKT条件的方法。例如在SVM算法中,我们就用到了对偶函数和KKT条件。

 

参考文献:

[1] convex optimization Boyd

[2] 偶和KKT条件

你可能感兴趣的:(数值与优化)