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