拉格朗日对偶问题(Lagrange duality)
在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转化为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中,例如,最大熵模型与支持向量机。这里简要叙述拉格朗日对偶性的主要概念和结果。
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{cases} \min_{x \in R^n}\quad &f(x) \\ s.t.\quad&c_i(x) \le 0 , i=1,2,\ldots,k\\ &h_j(x) = 0 , j=1,2,\ldots,l \end{cases}
⎩⎪⎨⎪⎧minx∈Rns.t.f(x)ci(x)≤0,i=1,2,…,khj(x)=0,j=1,2,…,l
称此约束优化问题为原始优化问题或原始问题。
现在如果不考虑约束条件,原始问题就是:
min
x
∈
R
n
\min_{x \in R^n}
x∈Rnmin
因为假设其连续可微,利用高中的知识,对
f
(
x
)
f(x)
f(x)求导数,然后令导数为 0,就可解出最优解很简单. 但是问题来了,这里有约束条件,必须想办法把约束条件去掉才行, 拉格朗日函数派上用场了。
首先,引进广义拉格朗日函数(generalized Lagrange function):
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
0
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
\mathcal{L}(x,\alpha,\beta) = f(x) + \sum_{i=0}^k \alpha_ic_i(x) + \sum_{j=1}^l \beta_jh_j(x)
L(x,α,β)=f(x)+i=0∑kαici(x)+j=1∑lβjhj(x)
这里,
x
=
(
x
(
1
)
,
x
(
2
)
,
…
,
x
(
n
)
)
∈
R
n
x=(x^{(1)},x^{(2)},\ldots,x^{(n)}) \in R^n
x=(x(1),x(2),…,x(n))∈Rn,
α
i
,
β
j
\alpha_i,\beta_j
αi,βj是拉格朗日乘子(其实就是上面函数中的参数而已),特别要求
α
i
≥
0
\alpha_i \ge 0
αi≥0。考虑
x
x
x的函数:
θ
P
(
x
)
=
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x) = \max_{\alpha,\beta:\alpha_i \ge 0}\mathcal{L}(x,\alpha,\beta)
θP(x)=α,β:αi≥0maxL(x,α,β)
这里,下标
P
P
P表示原始问题。
假设给定某个
x
x
x,如果
x
x
x 违反原始问题的约束条件,即存在某个
i
i
i 使得
c
i
(
w
)
>
0
c_i(w) > 0
ci(w)>0 或者存在某个
j
j
j 使得
h
j
(
w
)
≠
0
h_j(w) \ne 0
hj(w)=0,那么就有:
θ
P
(
x
)
=
max
α
,
β
:
α
i
≥
0
[
f
(
x
)
+
∑
i
=
0
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
]
=
+
∞
\theta_P(x) = \max_{\alpha,\beta:\alpha_i \ge 0}\left[f(x) + \sum_{i=0}^k \alpha_ic_i(x) + \sum_{j=1}^l \beta_jh_j(x)\right]=+\infty
θP(x)=α,β:αi≥0max[f(x)+i=0∑kαici(x)+j=1∑lβjhj(x)]=+∞
因为若存在某个
i
i
i 使得
c
i
(
w
)
>
0
c_i(w) > 0
ci(w)>0,则可以令
α
i
→
+
∞
\alpha_i\rightarrow +\infty
αi→+∞,若某个
j
j
j 使得
h
j
(
w
)
≠
0
h_j(w) \ne 0
hj(w)=0,则可令
β
j
\beta_j
βj 使
β
j
h
j
(
x
)
→
+
∞
\beta_jh_j(x) \rightarrow +\infty
βjhj(x)→+∞,而将其余各个
α
i
,
β
j
\alpha_i,\ \beta_j
αi, βj 均取为0。
相反,如果
x
x
x 满足约束条件,则可以得到
θ
P
(
x
)
=
f
(
x
)
\theta_P(x)\ =\ f(x)
θP(x) = f(x)。因此:
θ
P
(
x
)
=
{
f
(
x
)
,
x
满
足
原
始
问
题
约
束
+
∞
,
其
他
\theta_P(x)= \begin{cases} f(x), &x满足原始问题约束\\ +\infty, &其他 \end{cases}
θP(x)={f(x),+∞,x满足原始问题约束其他
所以如果考虑极小化问题:
min
x
θ
P
(
x
)
=
min
x
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
=
min
x
f
(
x
)
\min_x\theta_P(x)=\min_x\max_{\alpha,\beta:\alpha_i\ge0}\mathcal{L}(x,\alpha,\beta)=\min_xf(x)
xminθP(x)=xminα,β:αi≥0maxL(x,α,β)=xminf(x)
他是与原始最优化问题等价的,即它们有相同的解。问题
min
x
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
\min_x\max_{\alpha,\beta:\alpha_i\ge0}L(x,\alpha,\beta)
minxmaxα,β:αi≥0L(x,α,β) 称为广义拉格朗日函数的极小极大问题。这样一来,就把原始最优化问题表示为广义拉格朗日函数的极小极大问题。为了方便,定义原始问题的最优值
P
∗
=
min
x
θ
P
(
x
)
P^*\ =\ \min_x\theta_P(x)
P∗ = xminθP(x)
称为原始问题的值。
2. 对偶问题
定义:
θ
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
\theta_D(\alpha,\beta)=\min_x\mathcal{L}(x,\alpha,\beta)
θD(α,β)=xminL(x,α,β)
在考虑极大化
θ
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
\theta_D(\alpha,\beta)=\min_x\mathcal{L}(x,\alpha,\beta)
θD(α,β)=minxL(x,α,β) ,即:
max
α
,
β
:
α
i
≥
0
θ
D
(
α
,
β
)
=
max
α
,
β
:
α
i
≥
0
min
x
L
(
x
,
α
,
β
)
\max_{\alpha,\beta:\alpha_i\ge0}\theta_D(\alpha,\beta)=\max_{\alpha,\beta:\alpha_i\ge0}\min_x\mathcal{L}(x,\alpha,\beta)
α,β:αi≥0maxθD(α,β)=α,β:αi≥0maxxminL(x,α,β)
问题
max
α
,
β
:
α
i
≥
0
min
x
L
(
x
,
α
,
β
)
\max_{\alpha,\beta:\alpha_i\ge0}\min_x\mathcal{L}(x,\alpha,\beta)
maxα,β:αi≥0minxL(x,α,β) 被称为广义拉格朗日函数的极大极小问题。
可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:
max
α
,
β
θ
D
(
α
,
β
)
=
max
α
,
β
min
x
L
(
x
,
α
,
β
)
\max_{\alpha,\beta}\theta_D(\alpha,\beta)=\max_{\alpha,\beta}\ \min_x\mathcal{L}(x,\alpha,\beta)
α,βmaxθD(α,β)=α,βmax xminL(x,α,β)
s
.
t
.
α
i
(
x
)
≥
0
,
i
=
1
,
2
,
…
,
k
s.t.\ \ \ \ \alpha_i(x) \ge 0 , \ \ \ i=1,2,\ldots,k
s.t. αi(x)≥0, i=1,2,…,k
称为原始问题的对偶问题。定义对偶问题的最优值:
d
∗
=
max
α
,
β
:
α
i
≥
0
θ
D
(
α
,
β
)
d^*=\max_{\alpha,\beta:\alpha_i\ge0}\theta_D(\alpha,\beta)
d∗=α,β:αi≥0maxθD(α,β)
3. 原始问题与对偶问题的关系
定理1:
若原始问题与对偶问题都有最优值,则
d
∗
=
max
α
,
β
:
α
i
≥
0
min
x
L
(
x
,
α
,
β
)
≤
min
x
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
=
p
∗
d^*=\max_{\alpha,\beta:\alpha_i\ge0}\min_x\mathcal{L}(x,\alpha,\beta) \le\min_x\max_{\alpha,\beta:\alpha_i\ge0}\mathcal{L}(x,\alpha,\beta)=p^*
d∗=α,β:αi≥0maxxminL(x,α,β)≤xminα,β:αi≥0maxL(x,α,β)=p∗
- 证明:对任意的
α
,
β
\alpha,\beta
α,β 和
x
x
x,有
θ D ( α , β ) = min x L ( x , α , β ) ≤ L ( x , α , β ) ≤ max α , β : α i ≥ 0 L ( x , α , β ) = θ P ( x ) \theta_D(\alpha,\beta)=\min_x\mathcal{L}(x,\alpha,\beta)\le \mathcal{L}(x,\alpha,\beta)\le\max_{\alpha,\beta:\alpha_i\ge0}\mathcal{L}(x,\alpha,\beta)=\theta_P(x) θD(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β:αi≥0maxL(x,α,β)=θP(x)
即
θ D ( α , β ) ≤ θ P ( x ) \theta_D(\alpha,\beta)\le\theta_P(x) θD(α,β)≤θP(x)
由于原始问题和对偶问题均有最优值,所以
max α , β : α i ≥ 0 θ D ( α , β ) ≤ min x θ P ( x ) \max_{\alpha,\beta:\alpha_i\ge0}\theta_D(\alpha,\beta)\le\min_x\theta_P(x) α,β:αi≥0maxθD(α,β)≤xminθP(x)
即
d ∗ = max α , β : α i ≥ 0 min x L ( x , α , β ) ≤ min x max α , β : α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\max_{\alpha,\beta:\alpha_i\ge0}\min_x\mathcal{L}(x,\alpha,\beta)\le\min_x\max_{\alpha,\beta:\alpha_i\ge0}\mathcal{L}(x,\alpha,\beta)=p^* d∗=α,β:αi≥0maxxminL(x,α,β)≤xminα,β:αi≥0maxL(x,α,β)=p∗
推论1:
设 x ∗ x^* x∗ 和 α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗ 分别是原始问题和对偶问题的可行解,并且 d ∗ = p ∗ d^*\ =\ p^* d∗ = p∗ ,则 x ∗ x^* x∗ 和 α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗ 分别是原始问题和对偶问题的最优解。
在某些条件下,原始问题和对偶问题的最优解相等, d ∗ = p ∗ d^*\ =\ p^* d∗ = p∗。这时可以用解对偶问题代替解原始问题。
定理2:
考虑原始问题和对偶问题。假设函数
f
(
x
)
f(x)
f(x) 和
c
i
(
x
)
c_i(x)
ci(x) 是凸函数,
h
j
(
x
)
h_j(x)
hj(x) 是仿射函数;并且假设不等式约束
c
i
(
x
)
c_i(x)
ci(x) 是严格可行的,即存在
x
x
x ,对所有
i
i
i 有
c
i
(
x
)
<
0
c_i(x) < 0
ci(x)<0,则存在
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗,使
x
∗
x^*
x∗ 是原始问题的解,
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗ 是对偶问题的解,并且
p
∗
=
d
∗
=
L
(
x
∗
,
α
∗
,
β
∗
)
p^*\ = \ d^*\ =\ \mathcal{L}(x^*,\alpha^*,\beta^*)
p∗ = d∗ = L(x∗,α∗,β∗)
定理3:(KKT条件)
对原始问题和对偶问题,假设函数
f
(
x
)
f(x)
f(x) 和
c
i
(
x
)
c_i(x)
ci(x) 是凸函数,
h
j
(
x
)
h_j(x)
hj(x) 是仿射函数,并且不等式约束
c
i
(
x
)
c_i(x)
ci(x) 是严格可行的,则
x
∗
x^*
x∗ 和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗ 分别是原始问题和对偶问题的解的充分必要条件是
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗ 满足下面的
K
a
r
u
s
h
−
K
u
h
n
−
T
u
c
k
e
r
(
K
K
T
)
Karush-Kuhn-Tucker(KKT)
Karush−Kuhn−Tucker(KKT) 条件:
∇
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
\nabla_xL(x^*,\alpha^*,\beta^*)=0
∇xL(x∗,α∗,β∗)=0
∇
α
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
\nabla_\alpha L(x^*,\alpha^*,\beta^*)=0
∇αL(x∗,α∗,β∗)=0
∇
β
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
\nabla_\beta L(x^*,\alpha^*,\beta^*)=0
∇βL(x∗,α∗,β∗)=0
α
i
∗
c
i
(
x
∗
)
=
0
,
i
=
1
,
2
,
…
,
k
(
K
K
T
对
偶
互
补
条
件
)
\alpha_i^*c_i(x^*)=0,\quad i=1,2,\ldots,k(KKT对偶互补条件)
αi∗ci(x∗)=0,i=1,2,…,k(KKT对偶互补条件)
c
i
(
x
∗
)
≤
0
,
i
=
1
,
2
,
…
,
k
c_i(x^*)\le0,\quad i=1,2,\ldots,k
ci(x∗)≤0,i=1,2,…,k
α
i
∗
≥
0
,
i
=
1
,
2
,
…
,
k
\alpha_i^*\ge0,\quad i=1,2,\ldots,k
αi∗≥0,i=1,2,…,k
h
j
(
x
∗
)
=
0
,
j
=
1
,
2
,
…
,
l
h_j(x^*)=0,\quad j=1,2,\ldots,l
hj(x∗)=0,j=1,2,…,l
特别指出,
α
i
∗
≥
0
,
i
=
1
,
2
,
…
,
k
\alpha_i^*\ge0,\quad i=1,2,\ldots,k
αi∗≥0,i=1,2,…,k 称为KKT的对偶互补条件。由此条件可知:若
α
∗
>
0
\alpha^*>0
α∗>0,则
c
i
(
x
∗
)
=
0
c_i(x^*)=0
ci(x∗)=0。