【凸优化笔记6】-拉格朗日对偶(Lagrange duality)、KKT条件

【凸优化笔记6】-拉格朗日对偶(Lagrange duality)、KKT条件

目录

1.问题背景

2.原始问题极其转化

3.拉格朗日对偶问题

4.Slater 条件

5.KKT 条件

6.例子


1. 问题背景

在一个优化问题中,原始问题通常会带有很多约束条件,这样直接求解原始问题往往是很困难的,于是考虑将原始问题转化为它的对偶问题,通过求解它的对偶问题来得到原始问题的解。对偶性(Duality)是凸优化问题的核心内容。

2. 原始问题极其转化

2.1 原始问题(Primal problem)

将一个原始最优化问题写成如下形式:

\\\begin{aligned} \min_x &\quad f_0(x) \\ s.t. &\quad f_i(x) \leq 0, i=1,2,...,m \\ &\quad h_j(x) = 0,j=1,2,...,p\end{aligned}

这里可以参考【凸优化笔记3】-第1节-凸优化问题中对凸优化问题的定义。
需要注意的是 f_i(x)\leq0 的形式,若是大于等于 0 ,则需要修改符号转成这种形式,以避免不必要的麻烦。

事实上,在求解原问题的对偶问题时,并不要求原始问题一定是凸问题, fh 可以是一般函数而不一定非得是凸函数。

2.2 拉格朗日函数(Lagrangian function)

将原始问题的拉格朗日函数定义为:

L(x, \lambda, v) = f_0(x)+\sum_{i=1}^{m}{\lambda_if_i(x)}+\sum_{j=1}^{p}{v_jh_j(x)}\\ 其中 x\in R^n,\lambda\in R^m,v\in R^p

可以看到,拉格朗日函数 L 相对于原始问题引入了两个新变量(向量) \lambda,v ,称为拉格朗日乘子。

拉格朗日函数 L 如果看成是关于 x 的函数,那它其实就是对原始问题中目标函数与约束条件进行线性加权,目标函数的权系数是 1 ,约束条件的权系数是 \lambda_iv_i
如果 L 看成是关于 \lambdav 的函数,则其余部分可看成常数, L 就可看作是一个关于 \lambdav 的仿射函数(即最高次幂为1的多项式函数)。

2.3 拉格朗日对偶函数( Lagrange dual function)

拉格朗日对偶函数(简称对偶函数)通过对拉格朗日函数关于 x 取下确界得到,即:

g(\lambda, v) = \inf_xL(x,\lambda,v) \\

inf 符号表示取下确界。求解析式可先将 L 看成是关于 x 的函数,而将拉格朗日乘子看作常数,求出 L 的极小值点,再将该点代入 L ,得到的关于 \lambdav 的表达式就是对偶函数。

对偶函数具有如下两条重要性质:

i. 对偶函数一定是凹函数,其凹性与原目标函数和约束函数凹凸与否无关。

证明:
L(x,\lambda,v) 可以看作是一个无限的函数集,这个函数集中每个元素是 L(x_i,\lambda,v)x 取遍其在定义域上的所有值得到不同的 x_i 。针对不同的 x_iL(x_i,\lambda,v) 的表达式不一样,由于这个表达式是只关于 \lambdav 的,故用 g_i(\lambda,v) 来表示。所以有:
\\ g(\lambda,v)=inf\{g_1(\lambda,v),g_2(\lambda,v),...,g_\infty(\lambda,v)\}\\
由本章 2.2 节已提到过,当 L 看成是关于 \lambdav 的函数时, L 是一个仿射函数,亦即, g_i(\lambda,v) 是仿射函数,对仿射函数集取下确界,得到的函数是凹函数,如图 2-3 所示:
图 2-3
黑线加粗部分就是 g(\lambda,v) ,是凹函数。

ii. 对 \forall\lambda\geq0,\forall v (泛指向量中的每个分量),如果原问题最优解对应的目标函数值为 p^* ,则 g(\lambda, v)\leq p^*

证明:
设原问题的最优解为 x^* ,结合 f_i(x)\leq0,h_j(x)=0 , 很容易有:L(x^*, \lambda, v) = f_0(x^*)+\sum_{i=1}^{m}{\lambda_if_i(x^*)}+\sum_{j=1}^{p}{v_jh_j(x^*)}\leq f_0(x^*)=p^* \\ 假设这个最优解 x^*x_1 处取得,结合性质 i 中的证明部分,有 :L(x^*,\lambda,v)=g_1(\lambda,v) \\ 很显然,由图 2-3 可以看到 g(\lambda,v) 的图像总在 g_1(\lambda,v) 下方,即以下不等式总成立:
g(\lambda,v)\leq L(x^*,\lambda,v)\leq p^* \\

3. 拉格朗日对偶问题(Lagrange dual problem)

根据对偶函数的重要性质 ii ,对 \forall\lambda\geq0,\forall v ,对偶函数 g(\lambda,v) 是原问题最优值 p^* 的一个下界,最好的下界就是最大化对偶函数,因此构造原问题的对偶问题:

\\ \begin{aligned} \max_{\lambda,v} &\quad g(\lambda,u) \\ s.t. &\quad \lambda\geq 0\end{aligned}

由于对偶函数是凹函数,故拉格朗日对偶问题一定是凸优化问题,其对应的最优解为 \lambda^*,v^* (最优拉格朗日乘子),若对应的最优值为 d^* ,则总有 d^*\leq p*

d^*\leq p^* 时,称为弱对偶(weak duality)

d^*=p^* 时,称为强对偶(strong duality)

p^*-d^* 称为对偶间隙(duality gap)。

在解存在的情况下,弱对偶总是成立的。
满足强对偶时,可以通过求解对偶问题来得到原始问题的解。

4. Slater 条件(Slater's condition)

Slater 条件用于判断什么情况下强对偶是成立的。

原问题是凸问题的情况下,若 \exists \ x\in relint(D),使得约束条件满足:

f_i(x)<0,h_j(x)=0\ \ \ i=1,2...,m;j=1,2,...,p \\

则强对偶成立。

relint(D) 表示原始凸问题定义域的相对内部,即在定义域上除了边界点以外的所有点。只要能找到一个这样的点使原凸问题等式约束依然成立且不等式约束都严格小于 0 即可。
幸运的是,对大多数一般的原凸问题,强对偶都是成立的。

若满足 Slater 条件,则强对偶一定成立,不满足 Slater 条件,强对偶也可能成立,它是一个充分不必要条件。

5. KKT 条件(KKT conditions)

在对偶间隙为 0 (强对偶),且 Lx 可微的前提下,设 x^*;\lambda^*,v^* 分别是原问题和对偶问题的最优解,则以下四组条件称为 KKT 条件:

\\ \begin{cases} \frac{\partial L(x,\ \lambda^*,\ v^*)}{\partial x}|_{x=x^*} =0 \ \ \ \ \ \ \ &\text(stationarity)\\ \lambda^*_if_i(x^*)=0\ \ \ \ \ \ \ &\text(complementary\ slackness)\\ f_i(x^*)\leq0,\ h_j(x^*)=0 \ \ \ \ \ \ \ &\text(primal\ feasibility)\\ \lambda^*_i\geq0 \ \ \ \ \ \ \ &\text(dual\ feasibility) \\ \end{cases}\\

i. 稳定性条件(stationarity)

x^* 是原问题的最优解(极值点),则 L(x,\lambda^*,v^*)x=x^* 处的微分等于 0

ii. 互补松弛条件(complementary slackness)

这个条件表明,当 \lambda^*_i>0 时, f_i(x^*)=0 ;当 f_i(x^*)<0 时, \lambda^*_i=0

下面给出这个条件的证明。
先给出如下推导过程:
\begin{aligned}f_0(x^*) &=g(\lambda^*,v^*) &\text(1)\\ &=\inf_{x}\{f_0(x)+\sum_{i=1}^{m}{\lambda^*_if_i(x)}+\sum_{j=1}^{p}{v^*_jh_j(x)}\} &\text(2)\\ &\leq f_0(x^*)+\sum_{i=1}^{m}{\lambda^*_if_i(x^*)}+\sum_{j=1}^{p}{v^*_jh_j(x^*)} &\text(3)\\ &\leq f_0(x^*) &\text(4) \end{aligned}\\
说明:第 (1) 步由对偶间隙为 0 这个前提可以得到;第 (2) 步是对偶函数的定义;第 (3) 步,需结合本章 2.3 节对偶函数两条重要性质的证明部分以及图 2-3 ,假设 x^*x_1 处取得,对偶函数 g(\lambda^*,v^*) 总是在 g_1(\lambda^*,v^*) 的下方,故小于等于号成立;第 (4) 步由原问题和对偶问题约束条件易得。
结论:观察 (1) 和 (4) ,上述式子中的小于等于号就只能取等号,故 (3) 中 \sum_{i=1}^{m}{\lambda^*_if_i(x^*)}=0\\ 又因为其中的每一项都有 \lambda^*_if_i(x^*)\leq 0 ,故 \lambda^*_if_i(x^*)= 0

iii. 原问题的可行性(primal feasibility)

原问题的最优解必然满足原问题的约束条件。

iv. 对偶问题的可行性(dual feasibility)

对偶问题的最优解必然满足对偶问题的约束条件。

一般的原问题,KKT 条件是 x^*;\lambda^*,v^* 为最优解的必要条件,即只要 x^*;\lambda^*,v^* 为最优解,则一定满足 KKT 条件。

原问题为凸问题, KKT 条件是 x^*;\lambda^*,v^* 为最优解的充要条件。

6. 例子

求lasso问题的对偶问题和 KKT 条件。

i. lasso问题

\min_\beta \ \frac{1}{2}||y-X\beta||_2^2 + \lambda||\beta||_1 \\

ii. 将其写成标准凸优化问题的形式 \begin{aligned} &\min_{\beta,z}\ \frac{1}{2}||y-z||_2^2 + \lambda||\beta||_1 \\ &\ s.t. \ \ \ z-X\beta=0 \end{aligned} \\

iii. 构造 Lagrangian

L(\beta,z,u)=\frac{1}{2}||y-z||_2^2+\lambda||\beta||_1+u^T(z-X\beta) \\

iv. 写出对偶函数

\begin{aligned} g(u)&=\min_{\beta,z}\ \ \frac{1}{2}||y-z||_2^2+\lambda||\beta||_1+u^T(z-X\beta) &\text(1) \\ &=\min_z\ \{\frac{1}{2}||y-z||_2^2+u^Tz\}+\min_\beta\ \{\lambda||\beta||_1-u^TX\beta\} &\text(2) \\ &= u^Ty - \frac{1}{2}||u||^2_2 +\min_\beta\ \{\lambda||\beta||_1-u^TX\beta\} &\text(3) \\ &= -\frac{1}{2}(||u||^2_2-2u^Ty+||y||_2^2)+\frac{1}{2}||y||_2^2 +\min_\beta\ \{\lambda||\beta||_1-u^TX\beta\} &\text(4) \\ &=\frac{1}{2}||y||_2^2-\frac{1}{2}||u-y|| _2^2-\lambda\ \max_\beta\ \{\frac{u^TX}{\lambda}\beta -||\beta||_1 \} &\text(5) \\ &=\frac{1}{2}||y||_2^2-\frac{1}{2}||u-y|| _2^2-\lambda\ I_{\{v:\ ||v||_\infty\leq1\}}(\frac{X^Tu}{\lambda}) &\text(6) \end{aligned}\\

说明:
第 (1) 步中最小化原问题的两个优化变量,等同于第 (2) 步分别优化这两个变量;第 (2) 步左边对 z 求导数并使之等于 0 ,得到 z=y-u ,再带回到原函数中最后可得 (5) 左半部分;第 (2) 步右边先将 \lambda 提出,再将目标函数取反, min 改为 max ,最后再对运算结果取反,得到的最终结果不变,即由 (2) 右半部份可得 (5) 右半部分;第 (5) 步右边 f^*(\frac{X^Tu}{\lambda})=\max_\beta\ \{\frac{u^TX}{\lambda}\beta -||\beta||_1 \}f(\beta)=||\beta||_1 的共轭函数,可参考【凸优化笔记3-第3节-共轭函数】,由于范数的共轭函数是示性函数,可参考【凸优化笔记3-第4节-对偶范数】,从而易得第 (6) 步。

v. 得到对偶问题

\begin{aligned} &\max_u\ \frac{1}{2}||y||_2^2-\frac{1}{2}||u-y|| _2^2\\ &\ s.t. \ \ ||X^Tu||_\infty\leq \lambda \end{aligned}\\

示性函数取值为 0\infty

可以进一步简化:

\begin{aligned} &\min_u\ ||y-u|| _2^2\\ &\ s.t. \ \ ||X^Tu||_\infty\leq \lambda \end{aligned} \\

lasso 原问题是凸问题,不包含不等式约束,它满足 Slater 条件,强对偶成立。

vi. KKT 条件

(1) 稳定性条件。 Lagrangian 对原问题的优化变量 z 是可微分的,若给定对偶问题的最优解 u^* ,则稳定性条件为: 0=\frac{\partial L(\beta,z,u^*)}{\partial z}|_{z=z^*}=-(y-z^*)+u^*\\

(2) 没有互补松弛条件。

(3) 原问题的的可行性: z^*-X\beta^*=0 \\

(4) 对偶问题的可行性: ||X^Tu^*||_\infty\leq \lambda \\

整理得到其 KKT 条件为:

\begin{cases} &\ z^*-y+u^*=0 \\ &\ z^*=X\beta^*\\ &\ ||X^Tu^*||_\infty\leq\lambda \end{cases}\\

即,若得到对偶问题的最优解 u^* ,则它与原问题最优解 \beta^* 应满足:
X\beta^*=y-u^*\\

参考文献

CMU凸优化课件-Duality in General Programs

CMU凸优化课件-KKT conditions

CMU凸优化课件-Duality uses and correspondences

编辑于 2020-08-05 19:53

文章被以下专栏收录