在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中,例如,最大熵模型与支持向量机。这里简要叙述拉格朗日对偶性的主要概念和结果。
- 原始问题
假设
f
(
x
)
,
c
j
(
x
)
,
h
j
(
x
)
f(x),c_j(x),h_j(x)
f(x),cj(x),hj(x)是定义在
R
n
R^n
Rn上的连续可微函数。考虑约束最优化问题
m
i
n
x
∈
R
n
f
(
x
)
(C.1)
min_{x\in R^n}f(x) \tag{C.1}
minx∈Rnf(x)(C.1)
s . t . c i ( x ) ≤ 0 , i = 1 , 2 , ⋯ , k (C.2) s.t. \quad c_i(x)\leq 0,\quad i=1,2,\cdots,k \tag{C.2} s.t.ci(x)≤0,i=1,2,⋯,k(C.2)
h j ( x ) = 0 , j = 1 , 2 , ⋯ , l (C.3) h_j(x)=0,\quad j=1,2,\cdots,l \tag{C.3} hj(x)=0,j=1,2,⋯,l(C.3)
首先,引进广义拉格朗日函数(generalized Lagrange function)
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
l
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
(C.4)
L(x,\alpha,\beta)=f(x)+\sum_{l=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x) \tag{C.4}
L(x,α,β)=f(x)+l=1∑kαici(x)+j=1∑lβjhj(x)(C.4)
这里,
x
=
(
x
(
1
)
,
x
(
2
)
,
⋯
,
x
n
)
T
∈
R
n
x=(x^{(1)},x^{(2)},\cdots,x^{n})^T\in \bold R^n
x=(x(1),x(2),⋯,xn)T∈Rn,
α
i
,
β
j
\alpha_i,\beta_j
αi,βj是拉格朗日乘子,
α
i
≥
0
\alpha_i\geq 0
αi≥0。考虑x的函数:
θ
p
(
x
)
=
m
a
x
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
(C.5)
\theta_p(x)=max_{\alpha,\beta:\alpha_i\geq 0}L(x,\alpha,\beta) \tag{C.5}
θp(x)=maxα,β:αi≥0L(x,α,β)(C.5)
这里,下标P表示原始问题。
假设给定某个x。如果x违反原始问题的约束条件,即存在某个i使得
c
i
(
w
)
>
0
c_i(w)>0
ci(w)>0或者某个存在某个j使得
h
j
(
w
)
≠
0
h_j(w)\neq 0
hj(w)=0,那么就有
θ
p
=
m
a
x
α
,
β
:
α
i
≥
0
[
f
(
x
)
+
∑
i
=
1
k
a
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
]
=
+
∞
(C.6)
\theta_p=max_{\alpha,\beta:\alpha_i\geq 0}[f(x)+\sum_{i=1}^ka_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)]=+\infty \tag{C.6}
θp=maxα,β:αi≥0[f(x)+i=1∑kaici(x)+j=1∑lβjhj(x)]=+∞(C.6)
因为若某个i使约束
c
i
(
x
)
>
0
c_i(x)>0
ci(x)>0,则可令
a
i
→
+
∞
a_i\to +\infty
ai→+∞,若某个j使
h
j
(
x
)
≠
0
h_j(x)\neq 0
hj(x)=0,则可令
β
j
\beta_j
βj使
β
j
h
j
(
x
)
→
+
∞
\beta_jh_j(x)\to +\infty
βjhj(x)→+∞,而将其余各
α
i
,
β
j
\alpha_i,\beta_j
αi,βj均取为0.
相反地,如果x满足约束条件式(C.2)和式(C.3),则由式(C.5)和式(C.4)可知,
θ
p
(
x
)
=
f
(
x
)
\theta_p(x)=f(x)
θp(x)=f(x)。因此,
θ
p
(
x
)
=
{
f
(
x
)
,
x
满
足
原
始
问
题
约
束
+
∞
,
其
他
(C.7)
\theta_p(x)= \begin{cases} f(x), \quad x满足原始问题约束 \\ +\infty, \quad 其他 \end{cases} \tag{C.7}
θp(x)={f(x),x满足原始问题约束+∞,其他(C.7)
所以如果考虑极小化问题
m
i
n
x
θ
p
(
x
)
=
m
i
n
x
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
(C.8)
min_{x}\theta_p(x)=min_xmax_{\alpha,\beta;\alpha_i\geq0}L(x,\alpha,\beta) \tag{C.8}
minxθp(x)=minxmaxα,β;αi≥0L(x,α,β)(C.8)
它是与原始最优化问题(C.1)~ (C.3)等价的,即它们有相同的解。问题
m
i
n
x
m
a
x
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
min_xmax_{\alpha,\beta:\alpha_i\geq 0}L(x,\alpha,\beta)
minxmaxα,β:αi≥0L(x,α,β)称为广义拉格朗日函数的极小极大问题。这样一来,就把原始最优化问题表示为广义拉格朗日函数的极小极大问题。为了方便,定义原始问题的最优值
p
∗
=
m
i
n
x
θ
p
(
x
)
(C.9)
p^*=min_x\theta_p(x) \tag{C.9}
p∗=minxθp(x)(C.9)
称为原始问题的值。
- 对偶问题
定义
θ
D
(
α
,
β
)
=
m
i
n
x
L
(
x
,
α
,
β
)
(C.10)
\theta_D(\alpha,\beta)=min_xL(x,\alpha,\beta) \tag{C.10}
θD(α,β)=minxL(x,α,β)(C.10)
再考虑极大化
θ
D
(
α
,
β
)
=
m
i
n
x
L
(
x
,
α
,
β
)
\theta_D(\alpha,\beta)=min_xL(x,\alpha,\beta)
θD(α,β)=minxL(x,α,β),即
m
a
x
α
,
β
:
α
l
≥
0
θ
D
(
α
,
β
)
=
m
a
x
α
,
β
:
α
l
≥
0
m
i
n
x
L
(
x
,
α
,
β
)
(C.11)
max_{\alpha,\beta:\alpha_l\geq 0}\theta_D(\alpha,\beta)=max_{\alpha,\beta:\alpha_l\geq 0}min_xL(x,\alpha,\beta) \tag{C.11}
maxα,β:αl≥0θD(α,β)=maxα,β:αl≥0minxL(x,α,β)(C.11)
问题
m
a
x
α
,
β
:
α
l
≥
0
m
i
n
x
L
(
x
,
α
,
β
)
max_{\alpha,\beta:\alpha_l\geq 0}min_xL(x,\alpha,\beta)
maxα,β:αl≥0minxL(x,α,β)称为广义拉格朗日函数的极大极小问题。
可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:
m
a
x
α
,
β
θ
D
(
α
,
β
)
=
m
a
x
α
,
β
m
i
n
x
L
(
x
,
α
,
β
)
(C.12)
max_{\alpha,\beta}\theta_D(\alpha,\beta)=max_{\alpha,\beta}min_xL(x,\alpha,\beta) \tag{C.12}
maxα,βθD(α,β)=maxα,βminxL(x,α,β)(C.12)
s . t . a i ≥ 0 , i = 1 , 2 , ⋯ , k (C.13) s.t.\quad a_i\geq 0,\quad i=1,2,\cdots,k \tag{C.13} s.t.ai≥0,i=1,2,⋯,k(C.13)
称为原始问题的对偶问题。定义对偶问题的最优值
d
∗
=
m
a
x
α
,
β
:
α
l
≥
0
θ
D
(
α
,
β
)
(C.14)
d^*=max_{\alpha,\beta:\alpha_l\geq 0}\theta_D(\alpha,\beta) \tag{C.14}
d∗=maxα,β:αl≥0θD(α,β)(C.14)
称为对偶问题的值。
- 原始问题和对偶问题的关系
下面讨论原始问题和对偶问题的关系。
定理C.1 若原始问题和对偶问题都有最优值,则
d
∗
=
m
a
x
α
,
β
;
α
i
≥
0
m
i
n
x
L
(
x
,
α
,
β
)
≤
m
i
n
x
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
p
∗
(C.15)
d^*=max_{\alpha,\beta;\alpha_i\geq 0}min_xL(x,\alpha,\beta)\leq min_xmax_{\alpha,\beta;\alpha_i\geq 0}L(x,\alpha,\beta)=p^* \tag{C.15}
d∗=maxα,β;αi≥0minxL(x,α,β)≤minxmaxα,β;αi≥0L(x,α,β)=p∗(C.15)
证明:由式(C.12)和式(C.5),对任意的
α
,
β
\alpha,\beta
α,β和
x
x
x,有
t
h
e
t
a
D
(
α
,
β
)
=
m
i
n
x
L
(
x
,
α
,
β
)
≤
L
(
x
,
α
,
β
)
≤
m
a
x
α
,
β
,
a
j
≥
0
L
(
x
,
α
,
β
)
=
θ
p
(
x
)
theta_D(\alpha,\beta)=min_xL(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq max_{\alpha,\beta,a_j\geq 0}L(x,\alpha,\beta)=\theta_p(x)
thetaD(α,β)=minxL(x,α,β)≤L(x,α,β)≤maxα,β,aj≥0L(x,α,β)=θp(x)
即
θ
D
(
α
,
β
)
≤
θ
p
(
x
)
\theta_D(\alpha,\beta)\leq \theta_p(x)
θD(α,β)≤θp(x)
由于原始问题和对偶问题均由最优值,所以,
m
a
x
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
≤
m
i
n
x
θ
P
(
x
)
max_{\alpha,\beta;\alpha_i\geq 0}\theta_D(\alpha,\beta)\leq min_x \theta_P(x)
maxα,β;αi≥0θD(α,β)≤minxθP(x)
即
d
∗
=
m
a
x
α
,
β
;
α
i
≥
0
m
i
n
x
L
(
x
,
α
,
β
)
≤
m
i
n
x
m
a
x
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
p
∗
d^*=max_{\alpha,\beta;\alpha_i\geq 0}min_xL(x,\alpha,\beta)\leq min_x max_{\alpha,\beta;\alpha_i\geq 0}L(x,\alpha,\beta)=p^*
d∗=maxα,β;αi≥0minxL(x,α,β)≤minxmaxα,β;αi≥0L(x,α,β)=p∗
推论C.1:设
x
∗
x^*
x∗和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗分别是原始问题(C.1)(C.3)和对偶问题(C.12)(C.13)的可行解,并且
d
∗
=
p
∗
d^*=p^*
d∗=p∗,则
x
∗
x^*
x∗和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗分别是原始问题和对偶问题的最优解。
在某些条件下,原始问题和对偶问题的最优值相等, d ∗ = p ∗ d^*=p^* d∗=p∗。这时可以用解对偶问题代解原始问题。下面以定理的形式叙述有关的重要结论而不予证明。
定理C.2:考虑原始问题(C.1)(C.3)和对偶问题(C.12)(C.13)。假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数;并且假设不等式约束
c
j
(
x
)
c_j(x)
cj(x)是严格可行的,即存在x,对所有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^*=L(x^*,\alpha^*,\beta^*)
p∗=d∗=L(x∗,α∗,β∗)
定理C.3:对原始问题(C.1)(C.3)和对偶问题(C.12)(C.13),假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数;并且假设不等式约束
c
j
(
x
)
c_j(x)
cj(x)是严格可行的,则
x
∗
x^*
x∗和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗分别是原始问题和对偶问题的解的充分必要条件是
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗满足下面的Karush-Kuhn-Tucker(KKT)条件:
∇
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇
α
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇
β
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
a
i
∗
c
i
(
x
∗
)
=
0
,
i
=
1
,
2
,
⋯
,
k
(
C
.
16
)
c
i
(
x
∗
)
≤
0
,
i
=
1
,
2
,
⋯
,
k
a
i
∗
≥
0
,
i
=
1
,
2
,
⋯
,
k
h
j
(
x
∗
)
=
0
,
j
=
1
,
2
,
⋯
,
l
\nabla_xL(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\alpha L(x^*,\alpha^*,\beta^*)=0 \\ \nabla_\beta L(x^*,\alpha^*,\beta^*)=0 \\ a_i^*c_i(x^*)=0, \quad i=1,2,\cdots, k \quad\quad(C.16)\\ c_i(x^*)\leq 0, \quad i=1,2,\cdots,k \\ a_i^* \geq 0, i=1,2,\cdots,k \\ h_j(x^*)=0, \quad j=1,2,\cdots,l
∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0ai∗ci(x∗)=0,i=1,2,⋯,k(C.16)ci(x∗)≤0,i=1,2,⋯,kai∗≥0,i=1,2,⋯,khj(x∗)=0,j=1,2,⋯,l
特别指出,式(C.16)称为KKT的对偶互补条件。由此条件可知:若
a
i
∗
>
0
a_i^*>0
ai∗>0,则
c
i
(
x
∗
)
=
0
c_i(x^*)=0
ci(x∗)=0.