预备知识
什么是凸优化?
凸优化需要满足:
- 1、在最小化(最大化)的要求下;
- 2、目标函数是一个凸函数(凹函数);
- 3、同时约束条件所形成的可行域集合是一个凸集。
凸集
若集合
C
C
C为凸集,则
C
C
C中任意两点间的线段仍然在
C
C
C中,也就是说,对于任意
x
1
,
x
2
∈
C
x_1, x_2\in C
x1,x2∈C,都有:
θ
x
1
+
(
1
−
θ
)
x
2
∈
C
\theta x_1+(1-\theta)x_2\in C
θx1+(1−θ)x2∈C
其中,
0
≤
θ
≤
1
0 \leq \theta \leq1
0≤θ≤1。
凸优化问题
仿射函数
仿射函数,即最高次数为1的多项式函数。常数项为零的仿射函数称为线性函数。
对偶理论
一、原问题转化
对于一般优化问题,如:
m
i
n
i
m
i
z
e
f
o
(
x
)
s
.
t
.
f
i
(
x
)
≤
0
f
o
r
i
=
1
,
2
,
…
…
m
h
i
(
x
)
=
0
f
o
r
i
=
1
,
2
,
…
…
p
minimize\ \ \ f_{o(x)} \\ s.t. \ \ f_{i(x)}\leq0 \ \ for \ \ i=1,2,……m \\ \ \ \ \ \ \ \ \ h_{i(x)}=0 \ \ for \ \ i=1,2,……p
minimize fo(x)s.t. fi(x)≤0 for i=1,2,……m hi(x)=0 for i=1,2,……p
则可以将其转化为拉格朗日函数:
L
(
x
,
λ
,
v
)
=
f
o
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
v
i
h
i
(
x
)
L_{(x, \lambda,v)}=f_{o(x)}+\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)}
L(x,λ,v)=fo(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
其中包含主变量
x
x
x和对偶变量
λ
i
≥
0
,
v
i
\lambda_i\geq0,v_i
λi≥0,vi。
如果想固定
x
x
x,只通过改变
λ
\lambda
λ和
v
v
v来获得上面函数的最大值,即:
m
a
x
λ
,
v
L
(
x
,
λ
,
v
)
=
f
o
(
x
)
+
m
a
x
λ
,
v
(
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
v
i
h
i
(
x
)
)
\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}=f_{o(x)}+\mathop{max}\limits_{\lambda,v}(\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)})
λ,vmaxL(x,λ,v)=fo(x)+λ,vmax(i=1∑mλifi(x)+i=1∑pvihi(x))
因为
f
i
(
x
)
≤
0
f_{i(x)}\leq0
fi(x)≤0,
λ
i
≥
0
\lambda_i\geq0
λi≥0,且
h
i
(
x
)
=
0
h_{i(x)}=0
hi(x)=0,则:
m
a
x
λ
,
v
L
(
x
,
λ
,
v
)
=
f
o
(
x
)
\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)}=f_{o(x)}
λ,vmaxL(x,λ,v)=fo(x)
所以原本在约束条件下要求的
m
i
n
x
f
o
(
x
)
\mathop{min}\limits_{x} f_{o(x)}
xminfo(x)可以被转化为求:
p
∗
=
m
i
n
x
(
m
a
x
λ
,
v
L
(
x
,
λ
,
v
)
)
p^{*}=\mathop{min}\limits_{x}(\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)})
p∗=xmin(λ,vmaxL(x,λ,v))
而当强对偶条件成立时,这个问题又可以被转化为求:
d
∗
=
m
a
x
λ
,
v
(
m
i
n
x
L
(
x
,
λ
,
v
)
)
d^{*}=\mathop{max}\limits_{\lambda,v}(\mathop{min}\limits_{x}L_{(x,\lambda,v)})
d∗=λ,vmax(xminL(x,λ,v))
将
m
i
n
x
L
(
x
,
λ
,
v
)
\mathop{min}\limits_{x}L_{(x,\lambda,v)}
xminL(x,λ,v)称为拉格朗日对偶函数,即拉格朗日函数关于
x
x
x取得的最小值,设:
g
(
λ
,
v
)
=
m
i
n
x
L
(
x
,
λ
,
v
)
=
m
i
n
x
(
f
o
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
v
i
h
i
(
x
)
)
g_{(\lambda,v)}=\mathop{min}\limits_{x}L_{(x,\lambda,v)}=\mathop{min}\limits_{x}(f_{o(x)}+\sum_{i=1}^{m}\lambda_if_{i(x)}+\sum_{i=1}^{p}v_ih_{i(x)})
g(λ,v)=xminL(x,λ,v)=xmin(fo(x)+i=1∑mλifi(x)+i=1∑pvihi(x))
那么,
g
(
λ
,
v
)
g_{(\lambda,v)}
g(λ,v)是
(
λ
,
v
)
(\lambda,v)
(λ,v)的仿射函数
L
(
x
,
λ
,
v
)
L_{(x,\lambda,v)}
L(x,λ,v)的逐点下确界,这一定是个凹函数。凸优化学习(一)为什么lagrangr的下确界必然是一个凹函数
设
x
~
\tilde{x}
x~是原问题的一个可行点,即
f
i
(
x
)
≤
0
f_{i(x)}\leq0
fi(x)≤0且
h
i
(
x
)
=
0
h_{i(x)}=0
hi(x)=0,根据假设
λ
≥
0
\lambda\geq0
λ≥0,有:
∑
i
=
1
m
λ
i
f
i
(
x
~
)
+
∑
i
=
1
p
v
i
h
i
(
x
~
)
≤
0
\sum_{i=1}^{m}\lambda_if_{i(\tilde{x})}+\sum_{i=1}^{p}v_ih_{i(\tilde{x})}\leq0
i=1∑mλifi(x~)+i=1∑pvihi(x~)≤0
所以:
L
(
x
~
,
λ
,
v
)
=
f
o
(
x
~
)
+
∑
i
=
1
m
λ
i
f
i
(
x
~
)
+
∑
i
=
1
p
v
i
h
i
(
x
~
)
≤
f
o
(
x
~
)
L_{(\tilde{x}, \lambda,v)}=f_{o(\tilde{x})}+\sum_{i=1}^{m}\lambda_if_{i(\tilde{x})}+\sum_{i=1}^{p}v_ih_{i(\tilde{x})}\leq f_{o(\tilde{x})}
L(x~,λ,v)=fo(x~)+i=1∑mλifi(x~)+i=1∑pvihi(x~)≤fo(x~)
因此
g
(
λ
,
v
)
=
i
n
f
x
L
(
x
,
λ
,
v
)
≤
L
(
x
~
,
λ
,
v
)
≤
f
o
(
x
~
)
g_{(\lambda,v)}=\mathop{inf}\limits_{x}L_{(x,\lambda,v)}\leq L_{(\tilde{x},\lambda,v)}\leq f_{o(\tilde{x})}
g(λ,v)=xinfL(x,λ,v)≤L(x~,λ,v)≤fo(x~)
其中,
i
n
f
x
L
(
x
,
λ
,
v
)
\mathop{inf}\limits_{x}L_{(x,\lambda,v)}
xinfL(x,λ,v)是指
L
(
x
,
λ
,
v
)
L_{(x,\lambda,v)}
L(x,λ,v)的逐点下确界。
也就是说,
d
∗
≤
p
∗
d^{*}\leq p^{*}
d∗≤p∗是一定的。
至此,我们已经证明了原问题
m
i
n
x
f
o
(
x
)
\mathop{min}\limits_{x} f_{o(x)}
xminfo(x)可以被转化为求
m
i
n
x
(
m
a
x
λ
,
v
L
(
x
,
λ
,
v
)
)
\mathop{min}\limits_{x}(\mathop{max}\limits_{\lambda,v}L_{(x,\lambda,v)})
xmin(λ,vmaxL(x,λ,v)),且由对偶条件进而被转化为求
m
a
x
λ
,
v
(
m
i
n
x
L
(
x
,
λ
,
v
)
)
=
m
a
x
λ
,
v
g
(
λ
,
v
)
\mathop{max}\limits_{\lambda,v}(\mathop{min}\limits_{x}L_{(x,\lambda,v)})=\mathop{max}\limits_{\lambda,v}g_{(\lambda,v)}
λ,vmax(xminL(x,λ,v))=λ,vmaxg(λ,v),并且
m
a
x
λ
,
v
g
(
λ
,
v
)
\mathop{max}\limits_{\lambda,v}g_{(\lambda,v)}
λ,vmaxg(λ,v)是一定小于
m
i
n
x
f
o
(
x
)
\mathop{min}\limits_{x} f_{o(x)}
xminfo(x)的。
ps:对偶条件
弱对偶:
d
∗
≤
p
∗
d^{*}\leq p^{*}
d∗≤p∗,无论原问题是不是凸优化问题,这个式子总是成立的。
强对偶:
d
∗
=
p
∗
d^{*}=p^{*}
d∗=p∗
- 该条件通常不成立。
- 对于凸优化问题通常成立。
- 对于满足
S
l
a
t
e
r
Slater
Slater条件的凸优化问题一定成立。
【注】 S l a t e r Slater Slater条件是指,对于在预备知识模块给出的凸优化问题的定义中的 f i ( x ) f_{i(x)} fi(x),总存在一点 x x x,使得 f i ( x ) < 0 f_{i(x)}<0 fi(x)<0在 i = 1 , 2 , … … m i=1,2,……m i=1,2,……m上均成立。
二、互补松弛性
设原问题和对偶问题的最优解都可以达到且相等(强对偶性成立),令
x
∗
x^{*}
x∗为原问题的最优解,
(
λ
∗
,
v
∗
)
(\lambda^{*},v^{*})
(λ∗,v∗)为对偶问题的最优解,则:
f
o
(
x
∗
)
=
g
(
λ
∗
,
v
∗
)
=
i
n
f
x
(
f
o
(
x
)
+
∑
i
=
1
m
λ
i
∗
f
i
(
x
)
+
∑
i
=
1
p
v
i
∗
h
i
(
x
)
)
≤
f
o
(
x
∗
)
+
∑
i
=
1
m
λ
i
∗
f
i
(
x
∗
)
+
∑
i
=
1
p
v
i
∗
h
i
(
x
∗
)
≤
f
o
(
x
∗
)
f_{o(x^{*})}=g_{(\lambda^{*},v^{*})}\\ \quad \quad \quad \quad \ \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad=\mathop{inf}\limits_{x}(f_{o(x)}+\sum_{i=1}^{m}\lambda_i^{*}f_{i(x)}+\sum_{i=1}^{p}v_i^{*}h_{i(x)})\\ \quad \quad \quad \quad \ \ \ \quad \quad \quad \quad \quad \quad \quad \quad \leq f_{o(x^{*})}+\sum_{i=1}^{m}\lambda_i^{*}f_{i(x^{*})}+\sum_{i=1}^{p}v_i^{*}h_{i(x^{*})}\\ \ \ \ \ \leq f_{o(x^{*})}
fo(x∗)=g(λ∗,v∗) =xinf(fo(x)+i=1∑mλi∗fi(x)+i=1∑pvi∗hi(x)) ≤fo(x∗)+i=1∑mλi∗fi(x∗)+i=1∑pvi∗hi(x∗) ≤fo(x∗)
取等号时,有:
λ
i
∗
f
i
(
x
∗
)
=
0
i
=
1
,
2
,
…
…
m
\lambda_i^{*}f_{i(x^{*})}=0 \quad i=1,2,……m
λi∗fi(x∗)=0i=1,2,……m
此条件称为互补松弛性,也就是KKT条件。
三、凸问题的KKT条件
当原问题是凸问题时,满足KKT条件的点也是原问题和对偶问题的最优解。也就是说,如果函数 f i ( x ) f_{i(x)} fi(x)为凸函数, h i ( x ) h_{i(x)} hi(x)为仿射函数, x ~ , λ ~ , v ~ \tilde{x},\tilde{\lambda},\tilde{v} x~,λ~,v~是任意满足KKT条件的点。即满足:
- 问题约束:
f i ( x ~ ) ≤ 0 i = 1 , 2 , … … m f_{i(\tilde{x})}\leq0 \quad i=1,2,……m fi(x~)≤0i=1,2,……m
h i ( x ~ ) = 0 i = 1 , 2 , … … m h_{i(\tilde{x})}=0 \quad i=1,2,……m hi(x~)=0i=1,2,……m
λ i ~ ≥ 0 i = 1 , 2 , … … m \tilde{\lambda_i}\geq0 \quad i=1,2,……m λi~≥0i=1,2,……m - 互补松弛性:
λ i ~ f i ( x ~ ) = 0 i = 1 , 2 , … … m \tilde{\lambda_i}f_{i(\tilde{x})}=0 \quad i=1,2,……m λi~fi(x~)=0i=1,2,……m - 极值条件:
▽ x L ( x ~ , λ ~ , v ~ ) = ▽ x f o ( x ~ ) + ∑ i = 1 m λ ~ i ▽ x f i ( x ~ ) + ∑ i = 1 p v ~ i ▽ x h i ( x ~ ) = 0 \bigtriangledown_xL_{(\tilde{x},\tilde{\lambda},\tilde{v})}=\bigtriangledown_xf_{o(\tilde{x})}+\sum_{i=1}^{m}\tilde{\lambda}_i\bigtriangledown_xf_{i(\tilde{x})}+\sum_{i=1}^{p}\tilde{v}_i\bigtriangledown_xh_{i(\tilde{x})}=0 ▽xL(x~,λ~,v~)=▽xfo(x~)+i=1∑mλ~i▽xfi(x~)+i=1∑pv~i▽xhi(x~)=0
那么, x ~ \tilde{x} x~和 ( λ ~ , v ~ ) (\tilde{\lambda},\tilde{v}) (λ~,v~)就分别是原问题和对偶问题的最优解,且结果相同。