该文章参考自《统计学习方法》附录C 拉格朗日对偶性
【原始问题】
minxf(x)
min
x
f
(
x
)
s.t. ci(x)⩽0, i=1,2,⋯,k
s.t.
c
i
(
x
)
⩽
0
,
i
=
1
,
2
,
⋯
,
k
hj(x)=0, j=1,2,⋯,l
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
l
【定义广义拉格朗日函数】
定义的规则为:原函数 f(x) f ( x ) 照写,为每一个不等式约束 ci(x) c i ( x ) 分配一个拉格朗日乘子 αi α i ,再为每一个等式约束 hj(x) h j ( x ) 分配一个拉格朗日乘子 βj β j ,这样共有2组拉格朗日乘子
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x) L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x )
定义域为 x∈Rn x ∈ R n , αi⩾0 α i ⩾ 0 , βj∈R β j ∈ R ,其中 αi α i , βj β j 为拉格朗日乘子
Question:为何此处要求不等式约束的拉格朗日乘子大于等于0?
【广义拉格朗日函数的极小极大问题】
首先定义一个关于 x x 的函数
θP(x)=maxα,β:αi⩾0L(x,α,β)=maxα,β:αi⩾0(f(x)+∑i=1kαici(x)+∑j=1lβjhj(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 ) )
θP(x) θ P ( x ) 的定义域为 x∈Rn x ∈ R n ,说明 x x 的取值是不受任何约束的,可以对于的取值分2种情况讨论
(1) x x 不满足原始问题的约束条件,即存在,或存在 hj(x)≠0 h j ( x ) ≠ 0
令 ci(x)>0 c i ( x ) > 0 对应的 αi→+∞ α i → + ∞ ,则 αici(x)→+∞ α i c i ( x ) → + ∞
令 ci(x)⩽0 c i ( x ) ⩽ 0 对应的 αi=0 α i = 0 ,则 αici(x)=0 α i c i ( x ) = 0
(以上所有 αi α i 的取值均满足定义域 αi⩾0 α i ⩾ 0 )
令 hj(x)≠0 h j ( x ) ≠ 0 对应的 βj→+∞ β j → + ∞ 或 −∞ − ∞ ,则 βjhj(x)→+∞ β j h j ( x ) → + ∞
令 hj(x)=0 h j ( x ) = 0 对应的 βj β j 取任意值,则 βjhj(x)=0 β j h j ( x ) = 0
于是有 ∑i=1kαici(x)→+∞ ∑ i = 1 k α i c i ( x ) → + ∞ , ∑j=1lβjhj(x)→+∞ ∑ j = 1 l β j h j ( x ) → + ∞
θP(x)=maxα,β:αi⩾0(f(x)+∑i=1kαici(x)+∑j=1lβjhj(x))=+∞ θ P ( x ) = max α , β : α i ⩾ 0 ( f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ) = + ∞
以上分析表明,通过以上对 αi α i 和 βj β j 赋予特定值,可以使得 L(x,α,β) L ( x , α , β ) 取最大值 +∞ + ∞ ,即当 x x 不满足原始问题的约束条件时,的最大值一定为 +∞ + ∞
通俗的解释:将 x x 比作各种各样的人,将约束条件, hj(x)=0 h j ( x ) = 0 比作法律, αi α i 和 βj β j 比作罚款的倍率,由“法院”控制 αi α i 和 βj β j 的值的大小,“法院”可以毫无约束地设置 βj β j ,而设置 αi α i 时需要满足约束 αi⩾0 α i ⩾ 0 ,将 θP(x) θ P ( x ) 比作罚金
那么只要某人 x x 违反了任何一个约束条件,即“犯法”了,“法院”一方都可以合理设置罚款倍率和 βj β j ,使得最终罚金 θP(x) θ P ( x ) 为 +∞ + ∞ ,即只要“犯法”了,罚金一定是正无穷大。
(2) x x 满足原始问题的约束条件,即所有和 hj(x)=0 h j ( x ) = 0 均成立
令 αi=0 α i = 0 ,则 αici(x)=0 α i c i ( x ) = 0 ( αi α i 的取值均满足定义域 αi⩾0 α i ⩾ 0 )
令 βj β j 取任意值,则 βjhj(x)=0 β j h j ( x ) = 0
于是有 ∑i=1kαici(x)=0 ∑ i = 1 k α i c i ( x ) = 0 , ∑j=1lβjhj(x)=0 ∑ j = 1 l β j h j ( x ) = 0
θP(x)=maxα,β:αi⩾0(f(x)+∑i=1kαici(x)+∑j=1lβjhj(x))=f(x) θ P ( x ) = max α , β : α i ⩾ 0 ( f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ) = f ( x )
以上分析表明,通过对 αi α i 和 βj β j 赋予特定值,可以使得 L(x,α,β) L ( x , α , β ) 取最大值,该最大值正好为 f(x) f ( x ) ,即当 x x 满足原始问题的约束条件时,的最大值一定为 f(x) f ( x )
通俗的解释:如果 x x 选择做一个好人,“法院”也会帮你设置罚款倍率,最终不会产生任何罚款,因此后两项相当于不存在,只留下
综上所述
θP(x)=maxα,β:αi⩾0L(x,α,β)={f(x), x满足原始问题的约束+∞, x不满足原始问题的约束
θ
P
(
x
)
=
max
α
,
β
:
α
i
⩾
0
L
(
x
,
α
,
β
)
=
{
f
(
x
)
,
x
满
足
原
始
问
题
的
约
束
+
∞
,
x
不
满
足
原
始
问
题
的
约
束
当我们求 θP(x) θ P ( x ) 的最小值时,由于最小值一定不会为 +∞ + ∞ ,所以最优解 x∗ x ∗ 一定会落在原始问题的约束条件所限定的区域内
minxθP(x)=minxmaxα,β:αi⩾0L(x,α,β) min x θ P ( x ) = min x max α , β : α i ⩾ 0 L ( x , α , β )
上述问题与原始问题有相同的解,是等价的,称为广义拉格朗日函数的极小极大问题,于是原始问题可以扔掉,改用广义拉格朗日函数的极小极大问题
【对偶问题】
定义关于 α α 和 β β 的函数: θD(α,β)=minxL(x,α,β) θ D ( α , β ) = min x L ( x , α , β )
考虑对 θD(α,β) θ D ( α , β ) 求最大值,称为广义拉格朗日函数的极大极小问题
maxα,β:αi⩾0θD(α,β)=maxα,β:αi⩾0minxL(x,α,β) max α , β : α i ⩾ 0 θ D ( α , β ) = max α , β : α i ⩾ 0 min x L ( x , α , β )
上述问题表示为约束最优化问题(即把定义域的约束放在 s.t. s.t. 处),称为原始问题的对偶问题
maxα,β θD(α,β)=maxα,β minxL(x,α,β)
max
α
,
β
θ
D
(
α
,
β
)
=
max
α
,
β
min
x
L
(
x
,
α
,
β
)
s.t. αi⩾0, i=1,2,⋯,k
s.t.
α
i
⩾
0
,
i
=
1
,
2
,
⋯
,
k
【原始问题和对偶问题的关系,定理C.1】
原始问题的最优值: p∗=minxθP(x)=minxmaxα,β:αi⩾0L(x,α,β) p ∗ = min x θ P ( x ) = min x max α , β : α i ⩾ 0 L ( x , α , β )
对偶问题的最优值: d∗=maxα,β:αi⩾0θD(α,β)=maxα,β:αi⩾0minxL(x,α,β) d ∗ = max α , β : α i ⩾ 0 θ D ( α , β ) = max α , β : α i ⩾ 0 min x L ( x , α , β )
p∗ p ∗ 和 d∗ d ∗ 的关系为: d∗⩽p∗ d ∗ ⩽ 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∗⩽p∗ d ∗ ⩽ p ∗
这里体现了一种思想,即 maxmin⩽minmax max min ⩽ min max
试想一下下列2组选人策略
(1)max min策略:从每个班里选出最矮的人,再从这些“矮个儿”中选出最高的那个人,记为甲
(2)min max策略:从每个班里选出最高的人,再从这些“高个儿”中选出最矮的那个人,记为乙
那么问题来了,甲和乙谁高谁矮?
直觉上也应该认为乙比甲高(所谓“瘦死的骆驼比马大”,或者清华垫底的强于技校第一名)
【推论C.1】
假设我对 x x 进行采样,得到,对应了原始问题的一个值 p0 p 0
再对 α α , β β 采样,得到 α0 α 0 , β0 β 0 ,对应了对偶问题的一个值 d0 d 0
通常情况下会有 d0<p0 d 0 < p 0 (这并不奇怪)
然而某次采样中我们发现
d0=p0
d
0
=
p
0
了,那么说明我们的采样“中奖了”,我们居然采样到了最优解
x∗=x0
x
∗
=
x
0
,
p∗=p0
p
∗
=
p
0
α∗=α0
α
∗
=
α
0
,
β∗=β0
β
∗
=
β
0
,
d∗=d0
d
∗
=
d
0
一般情况下, d∗⩽p∗ d ∗ ⩽ p ∗ ,特殊情况下, d∗=p∗ d ∗ = p ∗ ,那么这个特殊情况指的是什么呢?
【KKT条件】
原始问题
minxf(x)
min
x
f
(
x
)
s.t. ci(x)⩽0, i=1,2,⋯,k
s.t.
c
i
(
x
)
⩽
0
,
i
=
1
,
2
,
⋯
,
k
hj(x)=0, j=1,2,⋯,l
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
l
对偶问题
maxα,β θD(α,β)=maxα,β minxL(x,α,β)
max
α
,
β
θ
D
(
α
,
β
)
=
max
α
,
β
min
x
L
(
x
,
α
,
β
)
s.t. αi⩾0, i=1,2,⋯,k
s.t.
α
i
⩾
0
,
i
=
1
,
2
,
⋯
,
k
其中 f(x) f ( x ) 和 ci(x) c i ( x ) 为凸函数, hj(x) h j ( x ) 为仿射函数(仿射函数定义:最高次数为1的多项式函数),并且存在 x x 使得所有不等式约束成立,那么
(1)存在 x∗ x ∗ , α∗ α ∗ , β∗ β ∗ ,使得 x∗ x ∗ 为原始问题的最优解, α∗ α ∗ , β∗ β ∗ 为对偶问题的最优解,并且 d∗=p∗=L(x∗,α∗,β∗) d ∗ = p ∗ = L ( x ∗ , α ∗ , β ∗ )
(2) x∗ x ∗ 为原始问题的最优解, α∗ α ∗ , β∗ β ∗ 为对偶问题的最优解的充要条件为如下的KKT条件
∇xL(x∗,α∗,β∗)=0
∇
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇αL(x∗,α∗,β∗)=0
∇
α
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇βL(x∗,α∗,β∗)=0
∇
β
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
ci(x∗)⩽0
c
i
(
x
∗
)
⩽
0
hj(x∗)=0
h
j
(
x
∗
)
=
0
αi⩾0
α
i
⩾
0
α∗ici(x∗)=0
α
i
∗
c
i
(
x
∗
)
=
0
其中 α∗ici(x∗)=0 α i ∗ c i ( x ∗ ) = 0 称为对偶互补条件