拉格朗日对偶
在解约束最优化问题中,利用拉格朗日对偶性将原始问题转化为对偶问题,从而得到原始问题的解。会应用在最大熵模型与支持向量机等模型中。
1.原始问题
原始问题的数学表示
f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x)是定义在 R n R^n Rn上的连续可微函数。
min x ∈ R n f ( x ) s . t . c i ( x ) ⩽ 0 , i = 1 , 2 , ⋯   , k h j ( x ) = 0 , j = 1 , 2 , ⋯   , l \begin{aligned} \min_{x \in R^n} \quad &f(x) \\ s.t. \quad &c_i(x)\leqslant0,i=1,2,\cdots,k \\ & h_j(x)=0,j=1,2,\cdots,l \end{aligned} x∈Rnmins.t.f(x)ci(x)⩽0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
- f ( x ) f(x) f(x)是目标函数
- c i ( x ) c_i(x) ci(x)是不等式约束
- h j ( x ) h_j(x) hj(x)是等式约束
- 可行域:自变量x,满足约束范围的取值区域,(即满足: c i ( x ) ⩽ 0 , h j ( x ) = 0 c_i(x)\leqslant0,h_j(x)=0 ci(x)⩽0,hj(x)=0的x取值)
- 求解目标:需要在可行域内求得使目标函数 f ( x ) f(x) f(x)最小的最优解 x ∗ x^* x∗
拉格朗日函数
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) , α i ⩾ 0 L(x,\alpha,\beta)=f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x),\quad \alpha_i \geqslant 0 L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x),αi⩾0
其中 α i , β j \alpha_i,\beta_j αi,βj是拉格朗日乘子
拉格朗日函数的极小极大问题(先求得 α i , β j \alpha_i,\beta_j αi,βj的最优解,再求得 x x x的最优解)
min x θ P ( x ) = min x max α , β ; α i ⩾ 0 L ( x , α , β ) \min_x\theta_P(x) = \min_x\max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta) xminθP(x)=xminα,β;αi⩾0maxL(x,α,β)
推导过程:
- 1)找到使拉格朗日函数
L
(
x
,
α
,
β
)
L(x,\alpha,\beta)
L(x,α,β)最大化的
α
i
,
β
j
\alpha_i,\beta_j
αi,βj最优解,求得关于x的函数
θ P ( x ) = max α , β ; α i ⩾ 0 L ( x , α , β ) = max α , β ; α i ⩾ 0 [ f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ] \begin{aligned} \theta_P(x) & = \max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)\\ &= \max_{\alpha,\beta;\alpha_i \geqslant 0}[f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)] \end{aligned} θP(x)=α,β;αi⩾0maxL(x,α,β)=α,β;αi⩾0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]
由于原始问题需要在可行域内求解,此时
c
i
(
x
)
⩽
0
,
h
j
(
x
)
=
0
c_i(x)\leqslant0,h_j(x)=0
ci(x)⩽0,hj(x)=0,且
α
i
⩾
0
\alpha_i \geqslant0
αi⩾0;当
α
i
c
i
(
x
)
=
0
\alpha_ic_i(x)=0
αici(x)=0时,
L
(
x
,
α
,
β
)
L(x,\alpha,\beta)
L(x,α,β)取值最大,并且
θ
P
(
x
)
=
max
α
,
β
;
α
i
⩾
0
L
(
x
,
α
,
β
)
=
f
(
x
)
,
x
∈
可行域
\theta_P(x)=\max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)=f(x) ,\quad x \in \text{可行域}
θP(x)=α,β;αi⩾0maxL(x,α,β)=f(x),x∈可行域
- 2)那么原始问题转化:
min x ∈ R n f ( x ) s . t . c i ( x ) ⩽ 0 , i = 1 , 2 , ⋯   , k h j ( x ) = 0 , j = 1 , 2 , ⋯   , l \begin{aligned} \min_{x \in R^n} \quad &f(x) \\ s.t. \quad &c_i(x)\leqslant0,i=1,2,\cdots,k \\ & h_j(x)=0,j=1,2,\cdots,l \end{aligned} x∈Rnmins.t.f(x)ci(x)⩽0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
等价于:
min
x
θ
P
(
x
)
=
min
x
max
α
,
β
;
α
i
⩾
0
L
(
x
,
α
,
β
)
\min_x\theta_P(x) = \min_x\max_{\alpha,\beta;\alpha_i \geqslant 0} L(x,\alpha,\beta)
xminθP(x)=xminα,β;αi⩾0maxL(x,α,β)
设原始问题的最优值为
p
∗
=
min
x
θ
P
(
x
)
p^* = \min_x\theta_P(x)
p∗=xminθP(x)
2.对偶问题
对偶问题的定义
-
先在x的所有取值范围内,求使拉格朗日函数 L ( x , α , β ) L(x,\alpha,\beta) L(x,α,β)最小化的x最优解,获得关于 α , β \alpha,\beta α,β的函数
θ D ( α , β ) = min x L ( x , α , β ) \theta_D(\alpha,\beta) = \min_xL(x,\alpha,\beta) θD(α,β)=xminL(x,α,β) -
再在 α i ⩾ 0 \alpha_i \geqslant 0 αi⩾0的范围内,极大化 θ D ( α , β ) \theta_D(\alpha,\beta) θD(α,β),求得 α , β \alpha,\beta α,β的最优解
max α , β ; α i ⩾ 0 θ D ( α , β ) = max α , β min x L ( x , α , β ) \max_{\alpha,\beta;\alpha_i \geqslant 0}\theta_D(\alpha,\beta) = \max_{\alpha,\beta} \min_xL(x,\alpha,\beta) α,β;αi⩾0maxθD(α,β)=α,βmaxxminL(x,α,β)
s . t . α i ⩾ 0 , i = 1 , 2 , ⋯   , k s.t. \quad \alpha_i \geqslant 0,i=1,2,\cdots,k s.t.αi⩾0,i=1,2,⋯,k -
设对偶问题的最优值为
d ∗ = max α , β ; α i ⩾ 0 θ D ( α , β ) d^* = \max_{\alpha,\beta;\alpha_i \geqslant 0}\theta_D(\alpha,\beta) d∗=α,β;αi⩾0maxθD(α,β)
3.原始问题和对偶问题的关系
对偶问题最优解 d ∗ d^* d∗是原始问题最优解 p ∗ p^* p∗的下界
证:
d
∗
=
max
α
,
β
min
x的所有取值范围
L
(
x
,
α
,
β
)
⩽
max
α
,
β
min
x
∈
可行域
L
(
x
,
α
,
β
)
⩽
max
α
,
β
min
x
∈
可行域
f
(
x
)
=
p
∗
d^* = \max_{\alpha,\beta} \min_{\text{x的所有取值范围}}L(x,\alpha,\beta) \leqslant \max_{\alpha,\beta} \min_{x \in \text{可行域}}L(x,\alpha,\beta) \leqslant \cancel{\max_{\alpha,\beta}} \min_{x \in \text{可行域}}f(x)=p^*
d∗=α,βmaxx的所有取值范围minL(x,α,β)⩽α,βmaxx∈可行域minL(x,α,β)⩽α,βmax
x∈可行域minf(x)=p∗
当满足以下条件时, d ∗ = p ∗ = L ( x ∗ , α ∗ , β ∗ ) d^*=p^*=L(x^*,\alpha^*,\beta^*) d∗=p∗=L(x∗,α∗,β∗),有强对偶性
- 条件:
- 当原问题为凸优化问题时,即:可行域为凸集,目标函数为凸函数,并求目标函数的最小值。(当不等式约束 c i ( x ) c_i(x) ci(x)为凸函数;等式约束 h j ( x ) h_j(x) hj(x)为关于x的线性函数时,可行域为凸集。)
- slater条件:所有不等式约束构成的x的取值集合的交集有内点。 例如下图,第一个图中两个圆形集合的交集有内点,满足条件;第二个图中两个圆形集合的交集只有一个切点,不满足条件;第三个图中两个半圆集合交集为一条线,不满足条件。

当上述条件满足时存在 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗, x ∗ x^* x∗是原始问题的最优解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的最优解,且 d ∗ = p ∗ = L ( x ∗ , α ∗ , β ∗ ) d^*=p^*=L(x^*,\alpha^*,\beta^*) d∗=p∗=L(x∗,α∗,β∗)
-
概念
- 凸集:在空间的取值集合内任意取两点,这两点连成线段,线段上的任意一点仍然属于这个集合。例如下图的圆形集合是凸集,但不规则图形不是凸集
- 凸函数:在函数上任取两点,两点连线,两点之间的任意x点在线上的取值大于函数值
当满足条件有强对偶性时, x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗最优解满足KKT条件
∇
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇
α
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇
β
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
α
i
∗
c
i
(
x
∗
)
=
0
,
i
=
1
,
2
,
⋯
 
,
k
c
i
(
x
∗
)
⩽
0
,
i
=
1
,
2
,
⋯
 
,
k
α
i
∗
⩾
0
,
i
=
1
,
2
,
⋯
 
,
k
h
j
(
x
∗
)
=
0
,
j
=
1
,
2
,
⋯
 
,
j
\begin{aligned} \nabla_xL(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\alpha L(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\beta L(x^*,\alpha^*,\beta^*)=0 \\ \alpha_i^*c_i(x^*)=0,& \quad i=1,2,\cdots,k\\ c_i(x^*)\leqslant 0 ,& \quad i=1,2,\cdots,k\\ \alpha_i^* \geqslant 0,& \quad i=1,2,\cdots,k \\ h_j(x^*) =0 ,& \quad j=1,2,\cdots,j \end{aligned}
∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,ci(x∗)⩽0,αi∗⩾0,hj(x∗)=0,i=1,2,⋯,ki=1,2,⋯,ki=1,2,⋯,kj=1,2,⋯,j
其中
α
i
∗
c
i
(
x
∗
)
=
0
\alpha_i^*c_i(x^*)=0
αi∗ci(x∗)=0是互补松弛条件,即当
α
i
∗
>
0
\alpha_i^*>0
αi∗>0时,
c
i
(
x
∗
)
=
0
c_i(x^*)=0
ci(x∗)=0