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