谈起约束优化性问题,高数精湛的话拉格朗日肯定会脱口而出。在看论文以及学习中遇到了拉格朗日乘子,这里简单的对拉格朗日乘子法及其对偶问题进行一个简单的推论与总结。自我感觉,拉格朗日乘子法核心思想就是:将带有约束性的优化性问题转变成无约束的优化问题,进行我们可以利用后续的求导来计算相应的解,再反代入约束求其符合条件的解
Lagrange
一:无约束的优化问题
目标函数: m i n f 0 ( x ) minf_0(x) minf0(x)
求解方式:直接求导,根据目标函数的凹凸性求解极值(最优)问题
二:带有等式约束项的优化问题
目标函数:
m
i
n
f
0
(
x
)
minf_0(x)
minf0(x)
subject to
h
i
(
x
)
≤
0
h_i(x)≤0
hi(x)≤0
i
=
1
,
.
.
.
,
m
i=1,...,m
i=1,...,m
构造目标函数: L ( x , α ) = f 0 ( x ) + ∑ i = 1 m α i h i ( x ) L(x,α) = f_0(x)+\sum_{i=1}^{m}α_ih_i(x) L(x,α)=f0(x)+∑i=1mαihi(x)
求解方式:此时就需要用到拉格朗日乘子法,构造L(x,α),对目标函数进行求导,分别算出相应的可能极值点,再代入
约束进行求解
三:带有不等式约束项的优化问题
目标函数:
m
i
n
f
0
(
x
)
minf_0(x)
minf0(x)
subject to
h
i
(
x
)
≤
0
h_i(x)≤0
hi(x)≤0
i
=
1
,
.
.
.
,
m
i=1,...,m
i=1,...,m
subject to
v
i
(
x
)
=
0
v_i(x)=0
vi(x)=0
i
=
1
,
.
.
.
,
q
i=1,...,q
i=1,...,q
构造目标函数: L ( x , α ) = f 0 ( x ) + ∑ i = 1 m α i h i ( x ) + ∑ i = 1 q β i v i ( x ) L(x,α) = f_0(x)+\sum_{i=1}^{m}α_ih_i(x)+\sum_{i=1}^{q}β_iv_i(x) L(x,α)=f0(x)+∑i=1mαihi(x)+∑i=1qβivi(x)
求解方式:同上,针对不等式约束问题可以利用对偶函数进行方便性求解
针对于第三种情况,我们最终目标要求得
m
i
n
f
0
(
x
)
minf_0(x)
minf0(x),此时我们利用构造拉格朗日乘子法的方式来进行一个约束性优化问题的转化。
m
i
n
L
(
x
,
α
)
=
f
0
(
x
)
+
∑
i
=
1
m
α
i
h
i
(
x
)
+
∑
i
=
1
q
β
i
v
i
(
x
)
minL(x,α) = f_0(x)+\sum_{i=1}^{m}α_ih_i(x)+\sum_{i=1}^{q}β_iv_i(x)
minL(x,α)=f0(x)+∑i=1mαihi(x)+∑i=1qβivi(x)
此时这样使用拉格朗日乘子就得到了其对偶问题,简单的来就是为每个约束项添加了一个拉格朗日乘子,其中
α
i
≥
0
α_i≥0
αi≥0
1:
由于
h
i
(
x
)
≤
0
,
α
i
(
x
)
≥
0
h_i(x)≤0,α_i(x)≥0
hi(x)≤0,αi(x)≥0,==》
∑
i
=
1
m
α
i
h
i
(
x
)
≤
0
\sum_{i=1}^{m}α_ih_i(x)≤0
∑i=1mαihi(x)≤0
因此在满足约束条件的情况下
m
a
x
L
(
x
,
α
,
β
)
≤
f
0
(
x
)
maxL(x,α,β) ≤ f_0(x)
maxL(x,α,β)≤f0(x)
2:
当不满足约束时,只需要将其中拉格朗日乘子趋近于+∞,此时L趋近于+∞,造成L无解
因此我们对上式进行总结:
m
a
x
L
(
x
,
α
,
β
)
=
{
f
0
(
x
)
满足约束时
+
∞
else
maxL(x,α,β) =\left\{ \begin{aligned} f_0(x) & & \text{满足约束时} \\ +∞ & & \text{else} \end{aligned} \right.
maxL(x,α,β)={f0(x)+∞满足约束时else
因此在满足约束时,
f
0
(
x
)
≥
m
a
x
(
L
(
x
,
α
,
β
)
)
f_0(x)≥max(L(x,α,β))
f0(x)≥max(L(x,α,β)) =====>
m
i
n
f
0
(
x
)
≥
m
i
n
(
m
a
x
(
L
(
x
,
α
,
β
)
)
)
minf_0(x)≥min(max(L(x,α,β)))
minf0(x)≥min(max(L(x,α,β)))
至此,我们将带有不等式约束项的优化问题成功的转变为无约束优化,后续我们将利用对偶性质进行更为方便的求解
注意!!!
若优化函数为凸函数则具有以下固有属性
1:目标函数为凸函数,则有且必存在一个局部最优点,同时也是全局的极优点
对偶问题
结论:
m
i
n
x
(
m
a
x
α
,
β
(
L
(
x
,
α
,
β
)
)
)
≥
m
a
x
α
,
β
(
m
i
n
x
(
L
(
x
,
α
,
β
)
)
)
min_{x}(max_{α,β}(L(x,α,β)))≥max_{α,β}(min_{x}(L(x,α,β)))
minx(maxα,β(L(x,α,β)))≥maxα,β(minx(L(x,α,β)))
证明:
f
0
(
x
)
=
m
a
x
(
L
(
x
,
α
,
β
)
)
f_0(x)=max(L(x,α,β))
f0(x)=max(L(x,α,β))
m
i
n
(
L
(
x
,
α
,
β
)
)
≤
L
(
x
,
α
,
β
)
≤
m
a
x
(
L
(
x
,
α
,
β
)
)
min(L(x,α,β))≤L(x,α,β)≤max(L(x,α,β))
min(L(x,α,β))≤L(x,α,β)≤max(L(x,α,β))
m
a
x
(
m
i
n
(
L
(
x
,
α
,
β
)
)
)
≤
L
(
x
,
α
,
β
)
max(min(L(x,α,β)))≤L(x,α,β)
max(min(L(x,α,β)))≤L(x,α,β)
L
(
x
,
α
,
β
)
≤
m
i
n
(
m
a
x
(
L
(
x
,
α
,
β
)
)
)
L(x,α,β)≤min(max(L(x,α,β)))
L(x,α,β)≤min(max(L(x,α,β)))
m
a
x
(
m
i
n
(
L
(
x
,
α
,
β
)
)
)
≤
L
(
x
,
α
,
β
)
≤
m
i
n
(
m
a
x
(
L
(
x
,
α
,
β
)
)
)
max(min(L(x,α,β)))≤L(x,α,β)≤min(max(L(x,α,β)))
max(min(L(x,α,β)))≤L(x,α,β)≤min(max(L(x,α,β)))
我们将
m
∗
=
m
i
n
(
m
a
x
(
L
(
x
,
α
,
β
)
)
)
≥
n
∗
=
m
a
x
(
m
i
n
(
L
(
x
,
α
,
β
)
)
)
m^* = min(max(L(x,α,β)))≥n^*=max(min(L(x,α,β)))
m∗=min(max(L(x,α,β)))≥n∗=max(min(L(x,α,β)))
称之为弱对偶性。
在对偶问题中全都是凸优化问题,因此我们就可以利用拉格朗日乘子法将约束性问题转化为其无约束对偶问题,进而转化为凸优化问题进行求解,由上述我们可以发现,弱对偶性其实存在一个问题,他描述的是一个不等式的关系,这对我们后续求解带来阻扰。针对此问题我们可以进一步进行约束来满足强对偶的条件,从而使
m
∗
=
n
∗
m^*=n^*
m∗=n∗,使得对偶问题的解即为原始函数的解。
当然原问题转化为对偶问题也是需要一定的条件得的,那么这个条件是什么呢?下面KKT将会作出解答!!!
KKT
设
x
∗
,
α
∗
,
β
∗
x^{*},α^*,β^*
x∗,α∗,β∗分别为上述L的最优解,
x
∗
x^*
x∗极值点,
α
∗
,
β
∗
α^*,β^*
α∗,β∗分别为相应的拉格朗日乘子
f
0
(
x
)
=
m
∗
=
n
∗
=
m
i
n
(
m
a
x
(
L
(
x
,
α
,
β
)
)
)
=
m
a
x
(
m
i
n
(
L
(
x
,
α
,
β
)
)
)
=
L
(
x
,
α
,
β
)
f_0(x) =m^*=n^*= min(max(L(x,α,β)))=max(min(L(x,α,β)))=L(x,α,β)
f0(x)=m∗=n∗=min(max(L(x,α,β)))=max(min(L(x,α,β)))=L(x,α,β)
=
f
0
(
x
)
+
∑
i
=
1
m
α
i
h
i
(
x
)
+
∑
i
=
1
q
β
i
v
i
(
x
)
=f_0(x)+\sum_{i=1}^{m}α_ih_i(x)+\sum_{i=1}^{q}β_iv_i(x)
=f0(x)+∑i=1mαihi(x)+∑i=1qβivi(x)
≤
f
0
(
x
∗
)
+
∑
i
=
1
m
α
i
h
i
(
x
∗
)
+
∑
i
=
1
q
β
i
v
i
(
x
∗
)
≤f_0(x^*)+\sum_{i=1}^{m}α_ih_i(x^*)+\sum_{i=1}^{q}β_iv_i(x^*)
≤f0(x∗)+∑i=1mαihi(x∗)+∑i=1qβivi(x∗)(满足约束情况下)
≤
f
0
(
x
∗
)
≤f_0(x^*)
≤f0(x∗)
首先KKT条件首先要满足基本的约束条件
1:
h
i
(
x
)
≤
0
h_i(x)≤0
hi(x)≤0
i
=
1
,
.
.
.
,
m
i=1,...,m
i=1,...,m
2:
v
i
(
x
)
=
0
v_i(x)=0
vi(x)=0
i
=
1
,
.
.
.
,
q
i=1,...,q
i=1,...,q
3:
α
i
≥
0
,
β
i
∈
R
α_i≥0,β_i∈R
αi≥0,βi∈R
4:
α
i
∗
h
i
(
x
)
=
0
α_i*h_i(x)=0
αi∗hi(x)=0(
▽
b
L
(
x
,
α
,
β
)
=
0
▽_bL(x,α,β) = 0
▽bL(x,α,β)=0由L对b偏置求导推出)
其次由上述红色不等式可知,要满足存在极值点
x
∗
x^*
x∗,因此要求L对x可导
即5:
▽
x
L
(
x
,
α
,
β
)
=
0
▽_xL(x,α,β) = 0
▽xL(x,α,β)=0
上述推到中,我们假设了处于强对偶的条件,KKT条件之后给出了我们上界,我们如何来确定一个相应的下界,形成强
对偶呢?D-slater定理就出来救场了
D-Slater定理
在凸优化中,存在两个默认的前提,目标函数为凸函数,约束条件为凸函数,这里凸凹函数可以进行转换(±号的变换),就如有些教科书就将其成为上下、凸函数
目标函数:
m
i
n
f
0
(
x
)
minf_0(x)
minf0(x)
subject to
h
i
(
x
)
≤
0
h_i(x)≤0
hi(x)≤0
i
=
1
,
.
.
.
,
m
i=1,...,m
i=1,...,m
subject to
v
i
(
x
)
=
0
v_i(x)=0
vi(x)=0
i
=
1
,
.
.
.
,
q
i=1,...,q
i=1,...,q
为满足其强对偶性,且为凸优化问题,则需以下条件:
1:满足凸优化条件
2:
h
i
(
x
)
<
0
h_i(x)<0
hi(x)<0
i
=
1
,
.
.
.
,
m
i=1,...,m
i=1,...,m
3:
v
i
(
x
)
=
0
v_i(x)=0
vi(x)=0
i
=
1
,
.
.
.
,
q
i=1,...,q
i=1,...,q
即可
m
∗
=
n
∗
=
m
i
n
(
m
a
x
(
L
(
x
,
α
,
β
)
)
)
=
m
a
x
(
m
i
n
(
L
(
x
,
α
,
β
)
)
)
m^*=n^*= min(max(L(x,α,β)))=max(min(L(x,α,β)))
m∗=n∗=min(max(L(x,α,β)))=max(min(L(x,α,β)))