在解约束最优化问题中,利用拉格朗日对偶性将原始问题转化为对偶问题,从而得到原始问题的解。会应用在最大熵模型与支持向量机等模型中。
1.原始问题
原始问题的数学表示
f(x),ci(x),hj(x)是定义在
Rn上的连续可微函数。
x∈Rnmins.t.f(x)ci(x)⩽0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
-
f(x)是目标函数
-
ci(x)是不等式约束
-
hj(x)是等式约束
- 可行域:自变量x,满足约束范围的取值区域,(即满足:
ci(x)⩽0,hj(x)=0的x取值)
- 求解目标:需要在可行域内求得使目标函数
f(x)最小的最优解
x∗
拉格朗日函数
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x),αi⩾0
其中
αi,βj是拉格朗日乘子
拉格朗日函数的极小极大问题(先求得
αi,βj的最优解,再求得
x的最优解)
xminθP(x)=xminα,β;αi⩾0maxL(x,α,β)
推导过程:
- 1)找到使拉格朗日函数
L(x,α,β)最大化的
αi,βj最优解,求得关于x的函数
θP(x)=α,β;αi⩾0maxL(x,α,β)=α,β;αi⩾0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]
由于原始问题需要在可行域内求解,此时
ci(x)⩽0,hj(x)=0,且
αi⩾0;当
αici(x)=0时,
L(x,α,β)取值最大,并且
θP(x)=α,β;αi⩾0maxL(x,α,β)=f(x),x∈可行域
x∈Rnmins.t.f(x)ci(x)⩽0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
等价于:
xminθP(x)=xminα,β;αi⩾0maxL(x,α,β)
设原始问题的最优值为
p∗=xminθP(x)
2.对偶问题
对偶问题的定义
-
先在x的所有取值范围内,求使拉格朗日函数
L(x,α,β)最小化的x最优解,获得关于
α,β的函数
θD(α,β)=xminL(x,α,β)
-
再在
αi⩾0的范围内,极大化
θD(α,β),求得
α,β的最优解
α,β;αi⩾0maxθD(α,β)=α,βmaxxminL(x,α,β)
s.t.αi⩾0,i=1,2,⋯,k
-
设对偶问题的最优值为
d∗=α,β;αi⩾0maxθD(α,β)
3.原始问题和对偶问题的关系
对偶问题最优解
d∗是原始问题最优解
p∗的下界
证:
d∗=α,βmaxx的所有取值范围minL(x,α,β)⩽α,βmaxx∈可行域minL(x,α,β)⩽α,βmax
x∈可行域minf(x)=p∗
当满足以下条件时,
d∗=p∗=L(x∗,α∗,β∗),有强对偶性
- 条件:
- 当原问题为凸优化问题时,即:可行域为凸集,目标函数为凸函数,并求目标函数的最小值。(当不等式约束
ci(x)为凸函数;等式约束
hj(x)为关于x的线性函数时,可行域为凸集。)
- slater条件:所有不等式约束构成的x的取值集合的交集有内点。 例如下图,第一个图中两个圆形集合的交集有内点,满足条件;第二个图中两个圆形集合的交集只有一个切点,不满足条件;第三个图中两个半圆集合交集为一条线,不满足条件。
当上述条件满足时存在
x∗,α∗,β∗,
x∗是原始问题的最优解,
α∗,β∗是对偶问题的最优解,且
d∗=p∗=L(x∗,α∗,β∗)
- 概念
- 凸集:在空间的取值集合内任意取两点,这两点连成线段,线段上的任意一点仍然属于这个集合。例如下图的圆形集合是凸集,但不规则图形不是凸集
- 凸函数:在函数上任取两点,两点连线,两点之间的任意x点在线上的取值大于函数值
当满足条件有强对偶性时,
x∗,α∗,β∗最优解满足KKT条件
∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,ci(x∗)⩽0,αi∗⩾0,hj(x∗)=0,i=1,2,⋯,ki=1,2,⋯,ki=1,2,⋯,kj=1,2,⋯,j
其中
αi∗ci(x∗)=0是互补松弛条件,即当
αi∗>0时,
ci(x∗)=0