拉格朗日对偶性

该文章参考自《统计学习方法》附录C 拉格朗日对偶性

【原始问题】

min x f ( x )
s.t.       c i ( x ) 0 ,   i = 1 , 2 , , k
h j ( x ) = 0 ,   j = 1 , 2 , , l

【定义广义拉格朗日函数】

定义的规则为:原函数 f ( x ) 照写,为每一个不等式约束 c i ( x ) 分配一个拉格朗日乘子 α i ,再为每一个等式约束 h j ( x ) 分配一个拉格朗日乘子 β j ,这样共有2组拉格朗日乘子

L ( x , α , β ) = f ( x ) + i = 1 k α i c i ( x ) + j = 1 l β j h j ( x )

定义域为 x R n α i 0 β j R ,其中 α i β j 为拉格朗日乘子

Question:为何此处要求不等式约束的拉格朗日乘子大于等于0?

【广义拉格朗日函数的极小极大问题】

首先定义一个关于 x 的函数 θ P ( 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 ) 的定义域为 x R n ,说明 x 的取值是不受任何约束的,可以对于 x 的取值分2种情况讨论

(1) x 不满足原始问题的约束条件,即存在 c i ( x ) > 0 ,或存在 h j ( x ) 0

c i ( x ) > 0 对应的 α i + ,则 α i c i ( x ) +

c i ( x ) 0 对应的 α i = 0 ,则 α i c i ( x ) = 0

(以上所有 α i 的取值均满足定义域 α i 0

h j ( x ) 0 对应的 β j + ,则 β j h j ( x ) +

h j ( x ) = 0 对应的 β j 取任意值,则 β j h j ( x ) = 0

于是有 i = 1 k α i c i ( x ) + j = 1 l β j h j ( x ) +

θ P ( x ) = max α , β : α i 0 ( f ( x ) + i = 1 k α i c i ( x ) + j = 1 l β j h j ( x ) ) = +

以上分析表明,通过以上对 α i β j 赋予特定值,可以使得 L ( x , α , β ) 取最大值 + ,即当 x 不满足原始问题的约束条件时, θ P ( x ) 的最大值一定为 +

通俗的解释:将 x 比作各种各样的人,将约束条件 c i ( x ) 0 h j ( x ) = 0 比作法律, α i β j 比作罚款的倍率,由“法院”控制 α i β j 的值的大小,“法院”可以毫无约束地设置 β j ,而设置 α i 时需要满足约束 α i 0 ,将 θ P ( x ) 比作罚金

那么只要某人 x 违反了任何一个约束条件,即“犯法”了,“法院”一方都可以合理设置罚款倍率 α i β j ,使得最终罚金 θ P ( x ) + ,即只要“犯法”了,罚金一定是正无穷大。

(2) x 满足原始问题的约束条件,即所有 c i ( x ) 0 h j ( x ) = 0 均成立

α i = 0 ,则 α i c i ( x ) = 0 α i 的取值均满足定义域 α i 0

β j 取任意值,则 β j h j ( x ) = 0

于是有 i = 1 k α i c i ( x ) = 0 j = 1 l β j h j ( x ) = 0

θ P ( x ) = max α , β : α i 0 ( f ( x ) + i = 1 k α i c i ( x ) + j = 1 l β j h j ( x ) ) = f ( x )

以上分析表明,通过对 α i β j 赋予特定值,可以使得 L ( x , α , β ) 取最大值,该最大值正好为 f ( x ) ,即当 x 满足原始问题的约束条件时, θ P ( x ) 的最大值一定为 f ( x )

通俗的解释:如果 x 选择做一个好人,“法院”也会帮你设置罚款倍率,最终不会产生任何罚款,因此后两项相当于不存在,只留下 f ( x )

综上所述
θ P ( x ) = max α , β : α i 0 L ( x , α , β ) = { f ( x ) ,   x + ,   x

当我们求 θ P ( x ) 的最小值时,由于最小值一定不会为 + ,所以最优解 x 一定会落在原始问题的约束条件所限定的区域内

min x θ P ( x ) = min x max α , β : α i 0 L ( x , α , β )

上述问题与原始问题有相同的解,是等价的,称为广义拉格朗日函数的极小极大问题,于是原始问题可以扔掉,改用广义拉格朗日函数的极小极大问题

【对偶问题】

定义关于 α β 的函数: θ D ( α , β ) = min x L ( x , α , β )

考虑对 θ D ( α , β ) 求最大值,称为广义拉格朗日函数的极大极小问题

max α , β : α i 0 θ D ( α , β ) = max α , β : α i 0 min x L ( x , α , β )

上述问题表示为约束最优化问题(即把定义域的约束放在 s.t. 处),称为原始问题的对偶问题

max α , β   θ D ( α , β ) = max α , β   min x L ( x , α , β )
s.t.   α i 0 ,   i = 1 , 2 , , k

【原始问题和对偶问题的关系,定理C.1】

原始问题的最优值: p = min x θ P ( x ) = min x max α , β : α i 0 L ( x , α , β )

对偶问题的最优值: d = max α , β : α i 0 θ D ( α , β ) = max α , β : α i 0 min x L ( x , α , β )

p d 的关系为: d p ,证明如下

对任意的 x α 0 β ,有

θ D ( α , β ) = min x L ( x , α , β ) L ( x , α , β ) max α , β : α i 0 L ( x , α , β ) = θ P ( x )

θ D ( α , β ) θ P ( x )

所以 max α , β : α i 0 θ D ( α , β ) min x θ P ( x )

d p

这里体现了一种思想,即 max min min max

试想一下下列2组选人策略

(1)max min策略:从每个班里选出最矮的人,再从这些“矮个儿”中选出最高的那个人,记为甲

(2)min max策略:从每个班里选出最高的人,再从这些“高个儿”中选出最矮的那个人,记为乙

那么问题来了,甲和乙谁高谁矮?

直觉上也应该认为乙比甲高(所谓“瘦死的骆驼比马大”,或者清华垫底的强于技校第一名)

【推论C.1】

假设我对 x 进行采样,得到 x 0 ,对应了原始问题的一个值 p 0

再对 α β 采样,得到 α 0 β 0 ,对应了对偶问题的一个值 d 0

通常情况下会有 d 0 < p 0 (这并不奇怪)

然而某次采样中我们发现 d 0 = p 0 了,那么说明我们的采样“中奖了”,我们居然采样到了最优解
x = x 0 p = p 0
α = α 0 β = β 0 d = d 0

一般情况下, d p ,特殊情况下, d = p ,那么这个特殊情况指的是什么呢?

【KKT条件】

原始问题
min x f ( x )
s.t.       c i ( x ) 0 ,   i = 1 , 2 , , k
h j ( x ) = 0 ,   j = 1 , 2 , , l

对偶问题
max α , β   θ D ( α , β ) = max α , β   min x L ( x , α , β )
s.t.   α i 0 ,   i = 1 , 2 , , k

其中 f ( x ) c i ( x ) 为凸函数, h j ( x ) 为仿射函数(仿射函数定义:最高次数为1的多项式函数),并且存在 x 使得所有不等式约束 c i ( x ) 0 成立,那么

(1)存在 x α β ,使得 x 为原始问题的最优解, α β 为对偶问题的最优解,并且 d = p = L ( x , α , β )

(2) x 为原始问题的最优解, α β 为对偶问题的最优解的充要条件为如下的KKT条件

x L ( x , α , β ) = 0
α L ( x , α , β ) = 0
β L ( x , α , β ) = 0
c i ( x ) 0
h j ( x ) = 0
α i 0
α i c i ( x ) = 0

其中 α i c i ( x ) = 0 称为对偶互补条件

猜你喜欢

转载自blog.csdn.net/o0Helloworld0o/article/details/81488404