目录
约束最优化问题
- 无条件极值: 对于函数的自变量,除了限制在函数的定义域内以外,并无其他条件
- 条件极值: 对自变量有附加条件的极值
- e.g. 求表面积为 a 2 a^2 a2 而体积为最大的长方体的体积问题.设长方体的三棱的长为 x x x、 y y y 与 z z z, 则体积 V = x y z V= xyz V=xyz. 又因假定表面积为 a 2 a^2 a2, 所以自变量 x x x、 y y y 与 z z z 还必须满足附加条件 2 ( x y + y z + x z ) = a 2 2(xy + yz + xz) = a^2 2(xy+yz+xz)=a2
- 对于有些实际问题,可以把条件极值化为无条件极值进行求解
- 例如上述问题, 可由条件 2 ( x y + y z + x z ) = a 2 2(xy + yz + xz) = a^2 2(xy+yz+xz)=a2, 将 z z z 表示成 z = a 2 − 2 x y 2 ( x + y ) z=\frac{a^2-2xy}{2(x+y)} z=2(x+y)a2−2xy, 再把它代入 V = x y z V=xyz V=xyz 中,于是问题就化为求 V = x y 2 ( a 2 − 2 x y x + y ) V=\frac{xy}{2}(\frac{a^2-2xy}{x+y}) V=2xy(x+ya2−2xy) 的无条件极值
- 但在很多情形下,将条件极值化为无条件极值并不这样简单.另有一种直接寻求条件极值的方法,可以不必先把问题化到无条件极值的问题.这就是下面要介绍的拉格朗日乘子法
- 拉格朗日乘子法是一种寻找多元函数在一组约束下的极值的方法.通过引入拉格朗日乘子,可将有 d d d 个变量与 k k k 个约束条件的最优化问题转化为具有 d + k d+k d+k 个变量的无约束优化问题求解.
- 拉格朗日求得的并不一定是最优解,只有在凸优化的情况下,才能保证得到的是最优解,所以我们说拉格朗日乘子法得到的为可行解,其实就是局部极小值
等式约束的优化问题
二元函数
补充:隐函数存在定理
拉格朗日乘数法
λ λ λ is called a Lagrange multiplier
注意:拉格朗日乘数法求出的只是可能的极值点,具体是极大值、极小值或非极值还需要进一步判别
多元函数
证明
- 先考虑一个等式约束的优化问题。假定
x
\boldsymbol x
x 为
d
d
d 维向量,欲寻找
x
\boldsymbol x
x 的某个取值
x
∗
\boldsymbol x^*
x∗,使目标函数
f
(
x
)
f( \boldsymbol x)
f(x) 最小且同时满足
g
(
x
)
=
0
g(\boldsymbol x)=0
g(x)=0 的约束. 从几何角度看,该问题的目标是在由方程
g
(
x
)
=
0
g(\boldsymbol x)=0
g(x)=0 确定的
d
−
1
d-1
d−1 维曲面上寻找能使目标函数
f
(
x
)
f(\boldsymbol x)
f(x) 最小化的点.此时不难得到如下结论:
- 对于约束曲面上的任意点 x \boldsymbol x x, 该点的梯度 ∇ g ( x ) \nabla g(\boldsymbol x) ∇g(x) 正交于约束曲面;证明:约束曲面上的点可以看作是 g ( x ) = 0 g(\boldsymbol x)=0 g(x)=0 的一条等值线,而梯度正交于该等值线,也就正交于约束曲面;还有一个很简单的证明方法,假设 x x x 和一邻近点 x + ϵ x+\epsilon x+ϵ 在约束曲面 g ( x ) = 0 g(x)=0 g(x)=0 上 ( g ( x ) = g ( x + ϵ ) g(x)=g(x+\epsilon) g(x)=g(x+ϵ)),利用泰勒展开可以得到 g ( x + ϵ ) ≈ g ( x ) + ϵ T ∇ g ( x ) g(x+\epsilon)\approx g(x)+\epsilon^T\nabla g(x) g(x+ϵ)≈g(x)+ϵT∇g(x),因此有 ϵ T ∇ g ( x ) ≈ 0 \epsilon^T\nabla g(x)\approx0 ϵT∇g(x)≈0,当 ∥ ϵ ∥ → 0 \|\epsilon\|\rightarrow0 ∥ϵ∥→0 时有 ϵ T ∇ g ( x ) = 0 \epsilon^T\nabla g(x)=0 ϵT∇g(x)=0 且 ϵ \epsilon ϵ 平行于约束曲面,因此 ∇ g ( x ) \nabla g(x) ∇g(x) 与约束曲面正交
- 对在最优点
x
∗
\boldsymbol x^*
x∗,目标函数在该点的梯度
∇
f
(
x
∗
)
\nabla f(\boldsymbol x^*)
∇f(x∗) 正交于约束曲面;可通过反证法证明:若梯度
∇
f
(
x
∗
)
\nabla f(\boldsymbol x^*)
∇f(x∗) 与约束曲面不正交,则仍可在约束曲面上移动该点使函数值进一步下降
- 由此可知,在最优点
x
∗
\boldsymbol x^*
x∗,梯度
∇
g
(
x
)
\nabla g(\boldsymbol x)
∇g(x) 和
∇
f
(
x
)
\nabla f(\boldsymbol x)
∇f(x) 的方向必相同或相反,即存在
λ
≠
0
\lambda\neq 0
λ=0 使得
λ \lambda λ 称为拉格朗日乘子.定义拉格朗日函数
不难发现,将其对 x \boldsymbol x x 的偏导数 ∇ x L ( x , λ ) \nabla_{\boldsymbol x}L(\boldsymbol x,\lambda) ∇xL(x,λ) 置零即得式 (B.1), 同时,将其对 λ \lambda λ 的偏导数 ∇ λ L ( x , λ ) \nabla_{\lambda}L(\boldsymbol x,\lambda) ∇λL(x,λ) 置零即得约束条件 g ( x ) = 0 g(\boldsymbol x)= 0 g(x)=0. 于是,原约束优化问题可转化为对拉格朗日函数 L ( x , λ ) L(\boldsymbol x,\lambda) L(x,λ) 的无约束优化问题 (对于 D D D 维向量 x x x,对拉格朗日函数的无约束优化问题给定了 D + 1 D+1 D+1 个等式来确定 x ∗ x^* x∗ 和 λ \lambda λ)
不等式约束的优化问题 (KKT 条件)
- 现在考虑不等式约束
g
(
x
)
≤
0
g(\boldsymbol x)\leq 0
g(x)≤0, 此时最优点
x
∗
\boldsymbol x^*
x∗ 或在
g
(
x
)
<
0
g(\boldsymbol x) < 0
g(x)<0 的区域中,或在边界
g
(
x
)
=
0
g(\boldsymbol x)= 0
g(x)=0上
- 对于 g ( x ) < 0 g(\boldsymbol x)< 0 g(x)<0 的情形,约束 g ( x ) ≤ 0 g(\boldsymbol x)\leq 0 g(x)≤0 不起作用,可直接通过条件 ∇ f ( x ) = 0 \nabla f(\boldsymbol x)= 0 ∇f(x)=0 来获得最优点;这等价于将 λ \lambda λ 置零然后对 ∇ x L ( x , λ ) \nabla_{\boldsymbol x}L(\boldsymbol x,\lambda) ∇xL(x,λ) 置零得到最优点
-
g
(
x
)
=
0
g(\boldsymbol x)= 0
g(x)=0 的情形类似于上面等式约束的分析,但需注意的是,此时
∇
f
(
x
∗
)
\nabla f(\boldsymbol x^*)
∇f(x∗) 的方向必与
∇
g
(
x
∗
)
\nabla g(\boldsymbol x^*)
∇g(x∗) 相反,即存在常数
λ
>
0
\lambda>0
λ>0 使得
∇
f
(
x
∗
)
+
λ
∇
g
(
x
∗
)
=
0
\nabla f(\boldsymbol x^*) +\lambda \nabla g(x^*)= 0
∇f(x∗)+λ∇g(x∗)=0
- 为什么相反?因为假如它们方向相同,则沿着 ∇ f ( x ) \nabla f(\boldsymbol x) ∇f(x) 的反方向移动就可以使 f ( x ) f(\boldsymbol x) f(x) 和 g ( x ) g(\boldsymbol x) g(x) 的函数值均减小,此时在满足约束条件的情况下, f ( x ) f(\boldsymbol x) f(x) 的最小值必不在 g ( x ) = 0 g(\boldsymbol x)= 0 g(x)=0 的等值面上取得,因此 ∇ f ( x ∗ ) \nabla f(\boldsymbol x^*) ∇f(x∗) 的方向必与 ∇ g ( x ∗ ) \nabla g(\boldsymbol x^*) ∇g(x∗) 相反
- 整合这两种情形,必满足
λ
g
(
x
)
=
0
\lambda g(x)= 0
λg(x)=0. 因此, 在约束
g
(
x
)
≤
0
g(\boldsymbol x)\leq0
g(x)≤0 下最小化
f
(
x
)
f(\boldsymbol x)
f(x), 可转化为在如下约束下最小化式 (B.2) 的拉格朗日函数:
式 (B.3) 称为 Karush-Kuhn-Tucker (简称 KKT) 条件 ( ∇ f ( x ∗ ) + λ ∇ g ( x ∗ ) = 0 \nabla f(\boldsymbol x^*) +\lambda \nabla g(\boldsymbol x^*)= 0 ∇f(x∗)+λ∇g(x∗)=0 则称为拉格朗日平稳性)
- 也就是说,拉格朗日乘子法可以将带不等式约束的优化问题,转化成在 KKT 条件下对拉格朗日函数 L ( x , λ ) L(x,\lambda) L(x,λ) 求最小化的优化问题
推广到多个约束
- 考虑具有
m
m
m 个等式约束和
n
n
n 个不等式约束, 且可行域
D
⊂
R
d
\mathbb D\subset \R^d
D⊂Rd 非空的优化问题
引入拉格朗日乘子 λ = ( λ 1 , . . , λ m ) \boldsymbol \lambda=(\lambda_1,..,\lambda_m) λ=(λ1,..,λm) 和 μ = ( μ 1 , . . , μ n ) \boldsymbol \mu= (\mu_1,..,\mu_n) μ=(μ1,..,μn),相应的拉格朗日函数为
由不等式约束引入的 KKT 条件 ( j = 1 , 2 , . . . , n j=1,2,... ,n j=1,2,...,n) 为
例子可参考知乎
广义拉格朗日函数的极小极大问题
- 考虑
x
x
x 的函数:
θ P ( x ) = max λ , μ : μ i ≥ 0 L ( x , λ , μ ) \theta_P(x)=\max_{\lambda,\mu:\mu_i\geq 0}L(x,\lambda,\mu) θP(x)=λ,μ:μi≥0maxL(x,λ,μ)
下标 P P P 表示原始问题
- 假设给定某个
x
x
x。如果
x
x
x 违反原始问题的约束条件,即存在某个
x
x
x 使得
h
i
(
x
)
≠
0
h_i(x)\neq 0
hi(x)=0 或
g
i
(
x
)
>
0
g_i(x)>0
gi(x)>0,那么就有
θ P ( x ) = max λ , μ : μ i ≥ 0 [ f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 n μ j g j ( x ) ] = + ∞ \theta_{P}(x)=\max _{\lambda,\mu:\mu_i\geq 0}\left[f(x)+\sum_{i=1}^{m} \lambda_{i} h_{i}(x)+\sum_{j=1}^{n} \mu_{j} g_{j}(x)\right]=+\infty θP(x)=λ,μ:μi≥0max[f(x)+i=1∑mλihi(x)+j=1∑nμjgj(x)]=+∞因为若 h i ( x ) ≠ 0 h_i(x)\neq 0 hi(x)=0,则可令 λ i \lambda_i λi 使 λ i h i ( x ) → + ∞ \lambda_{i} h_{i}(x)\rightarrow+\infty λihi(x)→+∞,若 g i ( x ) > 0 g_i(x)>0 gi(x)>0,则可令 μ i → + ∞ \mu_i\rightarrow+\infty μi→+∞ 使 μ j g j ( x ) → + ∞ \mu_{j} g_{j}(x)\rightarrow+\infty μjgj(x)→+∞,而将其余各 λ i , μ i \lambda_i,\mu_i λi,μi 均取为 0 - 相反地,如果 x x x 满足原始问题的约束条件, 则 θ P ( x ) = f ( x ) \theta_{P}(x)=f(x) θP(x)=f(x)
- 因此,
所以如下的极小化问题与原始优化问题等价,称为广义拉格朗日函数的极小极大问题,它们拥有相同的最优值 p ∗ p^* p∗:
p ∗ = min x θ P ( x ) = min x max λ , μ : μ i ≥ 0 L ( x , λ , μ ) p^*=\min_x\theta_P(x)=\min_x\max_{\lambda,\mu:\mu_i\geq 0}L(x,\lambda,\mu) p∗=xminθP(x)=xminλ,μ:μi≥0maxL(x,λ,μ)
拉格朗日对偶 (Dual Problem)
前置知识
inf \text{inf} inf 和 sup \text {sup} sup 符号
-
inf
\text{inf}
inf 是 infimum (下确界) 的简称,而
sup
\text {sup}
sup 是 supremum (上确界) 的简称。它们和
min
\min
min 还有
max
\max
max 很相似,但是细节部分略有不同
- 具体来讲,一个例子足以: 有函数
f
(
x
)
=
s
i
n
(
x
)
x
f(x) = \frac{sin(x)}{x}
f(x)=xsin(x) 显然
f
f
f 在
0
0
0 处没有定义。那么:
max
f
\max{f}
maxf 不存在;
sup
f
\sup{f}
supf 存在,且为 1
- 具体来讲,一个例子足以: 有函数
f
(
x
)
=
s
i
n
(
x
)
x
f(x) = \frac{sin(x)}{x}
f(x)=xsin(x) 显然
f
f
f 在
0
0
0 处没有定义。那么:
max
f
\max{f}
maxf 不存在;
sup
f
\sup{f}
supf 存在,且为 1
凸函数
- 对区间
[
a
,
b
]
[a,b]
[a,b] 上定义的函数
f
f
f, 若它对区间中任意两点
x
1
,
x
2
x_1,x_2
x1,x2 均有
f
(
x
1
+
x
2
2
)
≤
f
(
x
1
)
+
f
(
x
2
)
2
f(\frac{x_1+x_2}{2})\leq \frac{f(x_1)+f(x_2)}{2}
f(2x1+x2)≤2f(x1)+f(x2)则称
f
f
f 为区间
[
a
,
b
]
[a,b]
[a,b] 上的凸函数
- U U U 形曲线的函数如 f ( x ) = x 2 f(x)=x^2 f(x)=x2,通常是凸函数
- 也可以使用如下定义:
∀ x , y ∈ d o m f , ∀ θ ∈ [ 0 , 1 ] f ( θ x + ( 1 − θ ) y ) ⩽ θ f ( x ) + ( 1 − θ ) f ( y ) ∀x, y∈dom f, ∀θ∈[0,1]\\ f(θx+(1−θ)y)⩽θf(x)+(1−θ)f(y) ∀x,y∈domf,∀θ∈[0,1]f(θx+(1−θ)y)⩽θf(x)+(1−θ)f(y) - 对实数集上的函数,可通过求二阶导数来判别: 若二阶导数在区间上非负, 则称为凸函数;若二阶导数在区间上恒大于 0, 则称为严格凸函数
- 因此,凸函数可通过令一阶导数为 0 来求得最小值
仿射函数
- 仿射函数: f ( x ) = A x + b f(\boldsymbol x)=A\boldsymbol x+\boldsymbol b f(x)=Ax+b
- 仿射函数有一个非常重要的性质,那就是它既凹又凸,准确来讲在凹凸函数的那个不等式中,仿射函数是可以取等号的:
f ( θ x + ( 1 − θ ) y ) = θ f ( x ) + ( 1 − θ ) f ( y ) f(θx+(1−θ)y)=θf(x)+(1−θ)f(y) f(θx+(1−θ)y)=θf(x)+(1−θ)f(y)
凸优化
- 上式其实是优化问题的基本形式。而所谓的凸优化,是满足一些特定条件的优化问题,它要求:
- (1) f ( x ) f(\boldsymbol x) f(x) 是凸函数
- (2) g j ( x ) g_j(\boldsymbol x) gj(x) 是凸函数
- (3) h i ( x ) h_i(\boldsymbol x) hi(x) 是仿射函数
- 凸优化有一个重要的性质:任意位置的局部最优解同时也是全局最优解
从广义拉格朗日函数到拉格朗日对偶函数
原问题 (Primal Problem)
- 在原问题中,我们不假定原函数
f
f
f 的凹凸性
啥是对偶?
- 对偶说白了就是实质相同但从不同角度提出的一对问题。有时候原问题不太好解,但是对偶问题却很好解,我们就可以通过求解对偶问题来迂回地解答原问题
- 首先我们来看看原问题有什么难的地方:
- (1) 约束条件太多: 很显然约束越多,问题就越难解决,原问题中总共有 m + n m+n m+n 个约束,相当麻烦
- (2) 原问题凹凸性不明确: 这就意味着我们无法将凸优化的方法应用在原问题中
- 那么它的拉格朗日对偶问题有什么优点呢?
- (1) 只有 n n n 个约束,并且都很简单
- (2) 拉格朗日对偶问题一定是凹的
广义 Lagrange 函数
- 我们可以为原问题构建一个广义拉格朗日函数 (
λ
\boldsymbol \lambda
λ 和
μ
\boldsymbol \mu
μ 被称为拉格朗日乘子向量);有了这个广义拉格朗日函数,现在我们分别可以定义对偶函数
g
g
g
Lagrange 对偶函数 g g g
g ( λ , μ ) = inf x ∈ D L ( x , λ , μ ) = inf x ∈ D ( f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 n μ j g j ( x ) ) s . t . μ ⪰ 0 \begin{aligned} g(\boldsymbol \lambda, \boldsymbol \mu) &=\inf _{x \in D} {L}(\boldsymbol x, \boldsymbol \lambda, \boldsymbol \mu) \\ &=\inf _{x \in D}\left(f(x)+\sum_{i=1}^{m} \lambda_{i} h_{i}(x)+\sum_{j=1}^{n} \mu_{j} g_{j}(x)\right) \\ s.t.&\ \ \ \ \ \boldsymbol{\mu} \succeq 0 & \end{aligned} g(λ,μ)s.t.=x∈DinfL(x,λ,μ)=x∈Dinf(f(x)+i=1∑mλihi(x)+j=1∑nμjgj(x)) μ⪰0
至于为什么会有 μ ⪰ 0 \boldsymbol{\mu} \succeq 0 μ⪰0 (表示 μ \boldsymbol{\mu} μ 的每个分量均为非负,即 μ j ⩾ 0 \mu_j\geqslant 0 μj⩾0) 这个约束,后面会讲
- 这个对偶函数
g
g
g 有一个非常重要的性质:不管原函数
f
f
f 的凹凸性,它的对偶函数
g
g
g 一定是一个凹函数; 证明:
- (1) 记
g ( λ , μ ) = inf x ∈ D { L ( x 1 , λ , μ ) , L ( x 2 , λ , μ ) , ⋯ , L ( x n , λ , μ ) } , n → + ∞ g(\boldsymbol \lambda,\boldsymbol \mu)=\inf _{\boldsymbol x \in D}\left\{{L}\left(\boldsymbol x_{1}, \boldsymbol \lambda, \boldsymbol \mu\right), {L}\left(\boldsymbol x_{2}, \boldsymbol \lambda, \boldsymbol \mu\right), \cdots, {L}\left(\boldsymbol x_{n}, \boldsymbol \lambda, \boldsymbol \mu\right)\right\}, n \rightarrow+\infty g(λ,μ)=x∈Dinf{L(x1,λ,μ),L(x2,λ,μ),⋯,L(xn,λ,μ)},n→+∞ - (2) 为了方便书写,记 γ = ( λ , μ ) , g ( γ ) = g ( λ , μ ) \boldsymbol \gamma=(\boldsymbol \lambda,\boldsymbol \mu), g(\boldsymbol \gamma)=g(\boldsymbol \lambda, \boldsymbol \mu) γ=(λ,μ),g(γ)=g(λ,μ)
- (3)
g ( θ γ 1 + ( 1 − θ ) γ 2 ) = inf { L ( x 1 , θ γ 1 + ( 1 − θ ) γ 2 ) , ⋯ , L ( x n , θ γ 1 + ( 1 − θ ) γ 2 ) } ( L 显然为一个仿射函数,它又凹又凸 ) = inf { θ L ( x 1 , γ 1 ) + ( 1 − θ ) L ( x 1 , γ 2 ) , ⋯ , θ L ( x n , γ 1 ) + ( 1 − θ ) L ( x n , γ 2 ) } ( min ( x + y ) ≥ min ( x ) + min ( y ) ) ⩾ θ inf { L ( x 1 , γ 1 ) , L ( x 2 , γ 1 ) , ⋯ , L ( x n , γ 1 ) } + ( 1 − θ ) inf { L ( x 1 , γ 2 ) , L ( x 2 , γ 2 ) , ⋯ , L ( x n , γ 2 ) } = θ g ( γ 1 ) + ( 1 − θ ) g ( γ 2 ) \begin{aligned} &\ \ \ \ \ g\left(\theta \boldsymbol \gamma_{1}+(1-\theta) \boldsymbol \gamma_{2}\right) \\ &=\inf \left\{{L}\left( \boldsymbol x_{1}, \theta \boldsymbol \gamma_{1}+(1-\theta) \boldsymbol \gamma_{2}\right), \cdots, {L}\left( \boldsymbol x_{n}, \theta \boldsymbol \gamma_{1}+(1-\theta) \boldsymbol \gamma_{2}\right)\right\} \\&(L显然为一个仿射函数,它又凹又凸)\\ &=\inf \left\{\theta {L}\left( \boldsymbol x_{1}, \boldsymbol \gamma_{1}\right)+(1-\theta) {L}\left( \boldsymbol x_{1}, \boldsymbol \gamma_{2}\right), \cdots, \theta {L}\left( \boldsymbol x_{n}, \boldsymbol \gamma_{1}\right)+(1-\theta) {L}\left( \boldsymbol x_{n}, \boldsymbol \gamma_{2}\right)\right\} \\&(\min(x+y)\geq\min(x)+\min(y))\\ &\geqslant \theta \inf \left\{{L}\left( \boldsymbol x_{1}, \boldsymbol \gamma_{1}\right), {L}\left( \boldsymbol x_{2}, \boldsymbol \gamma_{1}\right), \cdots, {L}\left( \boldsymbol x_{n}, \boldsymbol \gamma_{1}\right)\right\}+(1-\theta) \inf \left\{{L}\left( \boldsymbol x_{1}, \boldsymbol \gamma_{2}\right), {L}\left( \boldsymbol x_{2}, \boldsymbol \gamma_{2}\right), \cdots, {L}\left( \boldsymbol x_{n}, \boldsymbol \gamma_{2}\right)\right\} \\ &=\theta g\left( \boldsymbol \gamma_{1}\right)+(1-\theta) g\left( \boldsymbol \gamma_{2}\right) \end{aligned} g(θγ1+(1−θ)γ2)=inf{L(x1,θγ1+(1−θ)γ2),⋯,L(xn,θγ1+(1−θ)γ2)}(L显然为一个仿射函数,它又凹又凸)=inf{θL(x1,γ1)+(1−θ)L(x1,γ2),⋯,θL(xn,γ1)+(1−θ)L(xn,γ2)}(min(x+y)≥min(x)+min(y))⩾θinf{L(x1,γ1),L(x2,γ1),⋯,L(xn,γ1)}+(1−θ)inf{L(x1,γ2),L(x2,γ2),⋯,L(xn,γ2)}=θg(γ1)+(1−θ)g(γ2)
- (1) 记
对偶函数与原函数的关系
- 假设原问题的最优解为
p
∗
p^*
p∗,则 Dual Function 有一个很重要的性质: Give the lower bound on optimal value
p
∗
p^*
p∗ :
μ ⪰ 0 ⇒ g ( λ , μ ) ≤ p ∗ \boldsymbol{\mu} \succeq 0\ \ \ \ \ \ \Rightarrow\ \ \ \ \ \ g(\boldsymbol \lambda,\boldsymbol \mu)\leq p^* μ⪰0 ⇒ g(λ,μ)≤p∗ - 证明:假设 KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at position 6: \hat \̲b̲o̲l̲d̲s̲y̲m̲b̲o̲l̲ ̲x∈ D,则
∵ g i ( x ^ ) ⩽ 0 , h i ( x ^ ) = 0 ∴ μ i g i ⩽ 0 , λ i h i = 0 ∴ L ( x ^ , λ , μ ) = f ( x ) + ∑ i = 1 m λ i h i ( x ^ ) + ∑ j = 1 n μ j g j ( x ^ ) ⩽ f ( x ) Meanwhile g ( λ , μ ) = inf L , p ∗ = min f ∴ g ( λ , μ ) ⩽ L ⩽ p ∗ \begin{aligned} &\because g_{i}(\hat{\boldsymbol x}) \leqslant 0, h_{i}(\hat{\boldsymbol x})=0 \\ &\therefore \mu_{i} g_{i} \leqslant 0, \lambda_{i} h_{i}=0 \\ &\therefore {L}(\hat{\boldsymbol x}, \boldsymbol \lambda, \boldsymbol \mu)=f(\boldsymbol x)+\sum_{i=1}^{m} \lambda_{i} h_{i}(\hat{x})+\sum_{j=1}^{n} \mu_{j} g_{j}(\hat{x}) \leqslant f(\boldsymbol x) \\ &\text { Meanwhile } \quad g(\boldsymbol \lambda,\boldsymbol \mu)=\inf {L}, \quad p^{*}=\min f \\ &\therefore g(\boldsymbol \lambda,\boldsymbol \mu) \leqslant {L} \leqslant p^{*} \end{aligned} ∵gi(x^)⩽0,hi(x^)=0∴μigi⩽0,λihi=0∴L(x^,λ,μ)=f(x)+i=1∑mλihi(x^)+j=1∑nμjgj(x^)⩽f(x) Meanwhile g(λ,μ)=infL,p∗=minf∴g(λ,μ)⩽L⩽p∗因此我们知道: max λ , μ g ( λ , μ ) ≤ p ∗ \max _{\boldsymbol \lambda, \boldsymbol \mu} g(\boldsymbol \lambda, \boldsymbol \mu)\leq p^* maxλ,μg(λ,μ)≤p∗
从原问题到拉格朗日对偶问题
- 首先我们明确一件事,我们的目的是找到最优解
p
∗
=
min
f
p^*=\min f
p∗=minf,但有时候
p
∗
p^*
p∗ 其实并不一定能解出来,这种情况下,我们希望可以给出一个尽可能地逼近
p
∗
p^*
p∗ 的值. 既然我们已经知道了
g
g
g 可以给出下界,那么哪个值能够尽可能逼近呢?
- 答案是: max λ , μ g ( λ , μ ) ( s . t . μ ⪰ 0 ) \max _{\boldsymbol \lambda, \boldsymbol \mu} g(\boldsymbol \lambda, \boldsymbol \mu)\ \ \ \ (s.t.\ \ \ \boldsymbol \mu\succeq 0) maxλ,μg(λ,μ) (s.t. μ⪰0)
原问题
拉格朗日对偶问题
max λ , μ g ( λ , μ ) = max λ , μ inf x ∈ D L ( x , λ , μ ) s.t μ ⪰ 0 \begin{aligned} &\max _{\boldsymbol \lambda, \boldsymbol \mu} g(\boldsymbol \lambda, \boldsymbol \mu)=\max _{\boldsymbol \lambda, \boldsymbol \mu} \inf _{\boldsymbol x \in D} {L}(\boldsymbol x, \boldsymbol \lambda, \boldsymbol \mu) \\ &\text { s.t } \quad \boldsymbol{\mu} \succeq 0 \end{aligned} λ,μmaxg(λ,μ)=λ,μmaxx∈DinfL(x,λ,μ) s.t μ⪰0
max λ , μ inf x ∈ D L ( x , λ , μ ) \max _{\boldsymbol \lambda, \boldsymbol \mu} \inf _{\boldsymbol x \in D} {L}(\boldsymbol x, \boldsymbol \lambda, \boldsymbol \mu) maxλ,μinfx∈DL(x,λ,μ) 称为广义拉格朗日函数的极大极小问题 (回忆一下,原问题为广义拉格朗日函数的极小极大问题)
- 现在我们就能看出对偶问题有什么好处了:
- (1) 约束由原来的 m + n m+n m+n 个变为了 n n n 个,同时剩下的 n n n 个约束也比原来的更简单
- (2) 最最重要的,问题拉格朗日对偶问题一定是一个凸优化问题,所以很多凸优化的手段全可以用上了
下面我们把原问题的最优解记为 p ∗ p^∗ p∗,而对偶问题的结果记为 d ∗ d^∗ d∗;在一些非常理想的情况下, d ∗ = p ∗ d^∗ = p^∗ d∗=p∗
弱对偶与强对偶
弱对偶性 (Weak Dulity)
d
∗
≤
p
∗
d^∗ \leq p^∗
d∗≤p∗
- 这样的性质即便是
d
∗
p
∗
d^*p^*
d∗p∗ 无限时也成立,也就是说:
- 如果 p ∗ = − ∞ p^∗ = − ∞ p∗=−∞,则 d ∗ = − ∞ d^∗ = − ∞ d∗=−∞
- 如果 d ∗ = + ∞ d^∗= + ∞ d∗=+∞,则 p ∗ = + ∞ p^∗ = + ∞ p∗=+∞
- 我们还把 p ∗ − d ∗ p^*-d^* p∗−d∗ 称为最优对偶间隙 (Optimal Duality Gap),这个值必然非负
强对偶性 (Strong Duality)
d
∗
=
p
∗
d^∗ = p^∗
d∗=p∗
- 显然,当我们待求解的问题是强对偶的话,那就意味着我们通过对偶问题求的的解就不再仅仅是原问题解的一个下界了,而是 p ∗ p^∗ p∗ 本身
- 但强对偶并不是什么时候都成立的,必须要满足一定的条件才会有强对偶这种东西
关于强对偶和最优的一些条件
Convex + Slater
- 如果原问题是凸优化且满足强/弱 Slater 条件,则一定满足强对偶 (强对偶的一个充分条件)
- 强 Slater 条件: 存在 x ∈ D \boldsymbol x\in D x∈D,使得不等式约束 g i ( x ) < 0 ( i ∈ [ 1 , n ] ) g_i(\boldsymbol x)<0\ (i\in[1,n]) gi(x)<0 (i∈[1,n]) 成立
- 弱 Slater 条件: g i g_i gi 为仿射函数 ( i ∈ [ 1 , p ] i\in[1,p] i∈[1,p] 且 p ≤ k p\leq k p≤k),且存在 x ∈ D \boldsymbol x\in D x∈D,使得不等式约束 g i ( x ) ≤ 0 ( i ∈ [ 1 , p ] ) g_i(\boldsymbol x)\leq0\ (i\in[1,p]) gi(x)≤0 (i∈[1,p]), g i ( x ) < 0 , ( i ∈ [ p + 1 , k ] ) g_i(\boldsymbol x)<0,(i\in[p+1,k]) gi(x)<0,(i∈[p+1,k]) 成立
KKT 条件
非凸问题下的 KKT
- 当原问题并非凸优化时,KKT 条件是强对偶一个必要条件,但无法作为充分条件来使用
KKT 条件
- 我们首先假设: (1) 原问题中的函数均可微; (2) 强对偶成立; (3)
x
∗
\boldsymbol x^∗
x∗ 和
(
λ
∗
,
μ
∗
)
(\boldsymbol λ^∗, \boldsymbol μ^∗)
(λ∗,μ∗) 分别为原问题和对偶问题的某对最优解;则 KKT 条件为:
{ g j ( x ∗ ) ⩽ 0 , h i ( x ∗ ) = 0 ( 原可行性 ) i = 1 , . . . , m ; j = 1 , . . . , n μ j ∗ ⩾ 0 ( 对偶可行性 ) μ j ∗ g j ( x ∗ ) = 0 ( 互补松弛条件 ) ∇ f ( x ∗ ) + ∑ i = 1 m λ i ∗ ∇ h i ( x ∗ ) + ∑ i = 1 n μ i ∗ ∇ g i ( x ∗ ) = 0 ( 拉格朗日平稳性 ) \left\{\begin{array}{l} g_{j}(\boldsymbol{x^∗}) \leqslant 0,h_i(\boldsymbol{x^∗})=0\ \ \ \ \ \ \ (原可行性)\ \ \ \ \ \ \ \ \ i=1,...,m;j=1,...,n \\ \mu_{j}^* \geqslant 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (对偶可行性) \\ \mu_{j}^* g_{j}(\boldsymbol{x^*})=0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (互补松弛条件)\\ \nabla f\left(\boldsymbol x^{*}\right)+\sum_{i=1}^{m} \lambda_{i}^{*} \nabla h_{i}\left(\boldsymbol x^{*}\right)+\sum_{i=1}^{n} \mu_{i}^{*} \nabla g_{i}\left(\boldsymbol x^{*}\right)=0\ \ \ \ (拉格朗日平稳性) \end{array}\right. ⎩ ⎨ ⎧gj(x∗)⩽0,hi(x∗)=0 (原可行性) i=1,...,m;j=1,...,nμj∗⩾0 (对偶可行性)μj∗gj(x∗)=0 (互补松弛条件)∇f(x∗)+∑i=1mλi∗∇hi(x∗)+∑i=1nμi∗∇gi(x∗)=0 (拉格朗日平稳性)
凸问题下的 KKT
- 当原问题为凸优化时,KKT 条件成了强对偶和最优解的充要条件
总结
- 对于任意问题 强对偶 + + + 最优解 ⇒ \Rightarrow ⇒ KKT 条件
- 对于 Convex + 可微 的问题 KKT 条件 ⇒ \Rightarrow ⇒ 强对偶 + + + 最优解
- Convex + Slater ⇒ \Rightarrow ⇒ 强对偶
参考文献
- 《高等数学》(同济版)
- “西瓜书”
- 李航. 统计学习方法. Qing hua da xue chu ban she, 2012.
- Bishop, Christopher M., and Nasser M. Nasrabadi. Pattern recognition and machine learning. Vol. 4. No. 4. New York: springer, 2006.
- 【数学】拉格朗日对偶,从 0 到完全理解