文章目录
1. 凸集
集合
C
C
C被称为凸集,如果C中任意两点间的线段仍然在
C
C
C中。即对于任意
x
1
,
x
2
∈
C
x_1,x_2\in C
x1,x2∈C和满足
0
≤
θ
≤
1
0\leq \theta \leq 1
0≤θ≤1的
θ
\theta
θ都有
θ
x
1
+
(
1
−
θ
)
x
1
∈
C
(1-1)
\theta x_1+(1-\theta)x_1\in C\\ \tag{1-1}
θx1+(1−θ)x1∈C(1-1)
2. 凸函数
凸函数的原始定义:
函数 f : R n → R f:{\rm{R}}^n\rightarrow{\rm{R}} f:Rn→R是凸的,如果 d o m f {\rm dom}\ f dom f是凸集,且对于任意 x , y ∈ d o m f x,y\in {\rm dom}\ f x,y∈dom f和任意 0 ≤ θ ≤ 1 0\leq \theta\leq 1 0≤θ≤1,有
f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) (2-1) f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y)\tag{2-1} f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)(2-1)
严格凸:上式中当
x
≠
y
x\not=y
x=y且
0
≤
θ
≤
1
0\leq \theta \leq 1
0≤θ≤1时,不等式严格成立(即取小于号)
几何意义:上述不等式意味着点
(
x
,
f
(
x
)
)
(x,f(x))
(x,f(x))和
(
y
,
f
(
y
)
)
(y,f(y))
(y,f(y))之间的线段在函数
f
f
f的图像上方。
2.1. 凸函数的一阶条件
假设 f f f可微(即其梯度 ∇ f \nabla f ∇f在开集 d o m f {\rm dom}\ f dom f内处处存在),则函数 f f f是凸函数的充要条件是 d o m f {\rm dom}\ f dom f是凸集且对于任意 x , y ∈ d o m f x,y\in {\rm dom}\ f x,y∈dom f,下式成立:
f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) (2-2) f(y)\geq f(x)+\nabla f(x)^T(y-x)\tag{2-2} f(y)≥f(x)+∇f(x)T(y−x)(2-2)
几何意义:凸函数的一阶Taylor近似是原函数的一个全局下估计,也即凸函数任意一点处的切线都在原函数图像的下方。反之亦然(充分必要条件)
2.2. 凸函数的二阶条件
假设 f f f二阶可微,即对于开集 d o m f {\rm dom}\ f dom f内的任意一点,它的Hessian矩阵或者二阶导数 ∇ 2 f \nabla ^2f ∇2f存在,则函数 f f f是凸函数的充要条件是其Hessian矩阵是半正定阵:即对于所有的 x ∈ d o m f x\in {\rm dom}\ f x∈dom f有:
∇ 2 f ( x ) ⪰ 0 (2-3) \nabla^2f(x)\succeq 0\tag{2-3} ∇2f(x)⪰0(2-3)
几何意义:函数图像在点 x x x处具有正(向上)的曲率。
2.1. 凸函数例子
常见的凸函数:
- 指数函数: e a x , ∀ a ∈ R e^{ax},\forall a \in R eax,∀a∈R
- 范数: ∥ x ∥ p = ( ∣ x 1 ∣ p + ∣ x 2 ∣ p + ⋯ + ∣ x n ∣ p ) 1 / p , p ≥ 1 \lVert x\rVert_p=\left(\lvert x_1\rvert^p+\lvert x_2\rvert^p+\cdots+\lvert x_n\rvert^p\right)^{1/p},p\geq 1 ∥x∥p=(∣x1∣p+∣x2∣p+⋯+∣xn∣p)1/p,p≥1。 R n 上 的 任 意 范 数 均 为 凸 函 数 {\rm R}^n上的任意范数均为凸函数 Rn上的任意范数均为凸函数。
- 负熵函数:函数 x l o g x xlog{x} xlogx在其定义域( R + + 或 者 R X R_{++}或者R_X R++或者RX)上是凸函数。
3. 凸优化问题
优化问题的标准形式:
m
i
n
f
0
(
x
)
s
.
t
.
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
m
h
i
(
x
)
=
0
,
i
=
1
,
2
,
⋯
,
p
(3-1)
\begin{aligned} min\ \ &f_0(x)\\ s.t.\ \ &f_i(x)\leq 0,i=1,2,\cdots,m\\ &h_i(x)=0,i=1,2,\cdots,p\\ \tag{3-1} \end{aligned}
min s.t. f0(x)fi(x)≤0,i=1,2,⋯,mhi(x)=0,i=1,2,⋯,p(3-1)
我们称
x
∈
R
n
x\in R^n
x∈Rn为优化变量,称函数
f
0
:
R
n
→
R
f_0:R^n\rightarrow R
f0:Rn→R为为目标函数或代价函数;不等式
f
i
(
x
)
≤
0
f_i(x)\leq 0
fi(x)≤0称为不等式约束,
h
i
:
R
n
→
R
h_i:R^n\rightarrow R
hi:Rn→R称为等式约束。优化问题的定义域是目标函数和约束函数的定义域的交集。满足约束条件的定义域中的点称为可行点;所有可行点的集合称为可行集。
问题
(
3
−
1
)
(3-1)
(3−1)的最优值
p
⋆
p^{\star}
p⋆定义为:
p
=
inf
{
f
0
(
x
)
∣
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
m
,
h
i
(
x
)
=
0
,
i
=
1
,
2
,
⋯
,
p
}
(3-2)
\begin{aligned} p=\inf\{&f_0(x)|\\ &f_i(x)\leq 0,i=1,2,\cdots,m,h_i(x)=0,i=1,2,\cdots,p\}\\ \tag{3-2} \end{aligned}
p=inf{f0(x)∣fi(x)≤0,i=1,2,⋯,m,hi(x)=0,i=1,2,⋯,p}(3-2)
如果问题不可行,则
p
⋆
=
∞
p^{\star}=\infty
p⋆=∞
凸优化问题的标准形式
m
i
n
f
0
(
x
)
s
.
t
.
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
m
a
i
T
x
=
b
i
,
i
=
1
,
2
,
⋯
,
p
(3-3)
\begin{aligned} min\ \ &f_0(x)\\ s.t.\ \ &f_i(x)\leq 0,i=1,2,\cdots,m\\ &a_i^Tx=b_i,i=1,2,\cdots,p\\ \tag{3-3} \end{aligned}
min s.t. f0(x)fi(x)≤0,i=1,2,⋯,maiTx=bi,i=1,2,⋯,p(3-3)
其中,
f
0
,
f
1
,
⋯
,
f
m
f_0,f_1,\cdots,f_m
f0,f1,⋯,fm是凸函数
凸优化问题与一般优化问题的标准形式的区别在于以下三点:
- 目标函数必须是凸的
- 不等式约束函数必须是凸的
- 等式约束函数必须是仿射函数
至于为什么等式约束必须是仿射函数,这里有个直观的解释:等式约束可以看成要同时满足 h i ( x ) ≤ 0 h_i(x)\leq 0 hi(x)≤0和 − h i ( x ) ≤ 0 -h_i(x)\leq 0 −hi(x)≤0,为了满足不等式约束的条件,要求 h i ( x ) h_i(x) hi(x)同时是凸函数和凹函数,这样的函数只能是仿射函数。
凸优化问题有一个很好的性质:任意局部最优解也是全局最优解。
对于无约束条件的凸优化问题,
x
x
x是其最优解的充要条件是:
∇
f
0
(
x
)
=
0
(3-2)
\nabla f_0 (x)=0 \\ \tag{3-2}
∇f0(x)=0(3-2)
4. 对偶
4.1. Lagrange函数与Lagrange对偶
回到前面提到的标准形式的优化问题(也叫原问题):
m
i
n
f
0
(
x
)
s
.
t
.
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
m
h
i
(
x
)
=
0
,
i
=
1
,
2
,
⋯
,
p
(4-1)
\begin{aligned} min\ \ &f_0(x)\\ s.t.\ \ &f_i(x)\leq 0,i=1,2,\cdots,m\\ &h_i(x)=0,i=1,2,\cdots,p\\ \tag{4-1} \end{aligned}
min s.t. f0(x)fi(x)≤0,i=1,2,⋯,mhi(x)=0,i=1,2,⋯,p(4-1)
注意,这里没有要求是凸优化问题。
Lagrange对偶的基本思想是,在目标函数中考虑
(
4
−
1
)
(4-1)
(4−1)的约束条件,即添加约束条件的加权和,得到增广的目标函数,称之为Lagrange函数:
L
(
x
,
λ
,
ν
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
ν
i
h
i
(
x
)
(4-2)
L(x,\lambda,\nu)=f_0(x)+\sum_{i=1}^{m}{\lambda _if_i(x)} + \sum_{i=1}^{p}{\nu _ih_i(x)}\\ \tag{4-2}
L(x,λ,ν)=f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x)(4-2)
注意,Lagrange函数的定义域是
D
×
R
m
×
R
p
D\times R^m\times R^p
D×Rm×Rp,在后面的讨论中,我们会假设
λ
i
≥
0
\lambda_i\geq 0
λi≥0
向量
λ
\lambda
λ和
ν
\nu
ν称为对偶变量,或者是问题
(
4
−
1
)
(4-1)
(4−1)的Lagrange乘子向量。
Lagrange对偶函数(自变量为
λ
\lambda
λ和
ν
\nu
ν)定义为Lagrange函数关于x取得的最小值:
g
(
λ
,
ν
)
=
i
n
f
x
∈
D
L
(
x
,
λ
,
ν
)
=
i
n
f
x
∈
D
(
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
ν
i
h
i
(
x
)
)
(4-3)
\begin{aligned} g(\lambda,\nu)&=\mathop{inf}\limits_{x\in D}L(x,\lambda,\nu)\\ &= \mathop{inf}\limits_{x\in D}\left(f_0(x)+\sum_{i=1}^{m}{\lambda _if_i(x)} + \sum_{i=1}^{p}{\nu _ih_i(x)}\right)\\ \tag{4-3} \end{aligned}
g(λ,ν)=x∈DinfL(x,λ,ν)=x∈Dinf(f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x))(4-3)
Lagrange对偶函数是Lagrange函数的逐点下确界,有个很重要的性质:无论原问题是不是凸的,Lagrange对偶函数都是凹函数。下面分别从理论上进行证明,以及从几何上形象地解释。
理论证明:
不难看出,
g
(
λ
,
ν
)
g(\lambda,\nu)
g(λ,ν)是关于
λ
,
ν
\lambda,\nu
λ,ν的仿射函数,为了书写简简洁,我们用一个长的向量
μ
\mu
μ代表
(
λ
,
ν
)
(\lambda,\nu)
(λ,ν)
要想证明
g
(
λ
,
ν
)
g(\lambda,\nu)
g(λ,ν)是凹函数,只需证明
∀
μ
1
,
μ
2
\forall \mu_1,\mu_2
∀μ1,μ2下式都成立:
g
(
θ
μ
1
+
(
1
−
θ
)
μ
2
)
≥
θ
g
(
μ
1
)
+
(
1
−
θ
)
g
(
μ
2
)
(4-4)
g(\theta \mu_1+(1-\theta)\mu_2)\geq \theta g(\mu_1)+(1-\theta)g(\mu_2)\\ \tag{4-4}
g(θμ1+(1−θ)μ2)≥θg(μ1)+(1−θ)g(μ2)(4-4)
下面是证明过程:
g
(
θ
μ
1
+
(
1
−
θ
)
μ
2
)
=
m
i
n
x
L
(
x
,
θ
μ
1
+
(
1
−
θ
)
μ
2
)
=
m
i
n
x
(
θ
L
(
x
,
μ
1
)
+
(
1
−
θ
)
L
(
x
,
μ
2
)
)
≥
m
i
n
x
(
θ
L
(
x
,
μ
1
)
)
+
m
i
n
x
(
(
1
−
θ
)
L
(
x
,
μ
2
)
)
=
θ
m
i
n
x
(
L
(
x
,
μ
1
)
)
+
(
1
−
θ
)
m
i
n
x
(
L
(
x
,
μ
2
)
)
=
θ
g
(
μ
1
)
+
(
1
−
θ
)
g
(
μ
2
)
(4-5)
\begin{aligned} g(\theta \mu_1+(1-\theta)\mu_2)&=\mathop{min}\limits_{x}L(x,\theta \mu_1+(1-\theta)\mu_2)\\ &=\mathop{min}\limits_{x}\left(\theta L(x, \mu_1)+(1-\theta)L(x, \mu_2)\right)\\ &\geq \mathop{min}\limits_{x}\left(\theta L(x, \mu_1)\right)+\mathop{min}\limits_{x}\left((1-\theta)L(x, \mu_2)\right)\\ &=\theta\mathop{min}\limits_{x}\left( L(x, \mu_1)\right)+(1-\theta)\mathop{min}\limits_{x}\left(L(x, \mu_2)\right)\\ &=\theta g(\mu_1)+(1-\theta)g(\mu_2)\\ \tag{4-5} \end{aligned}
g(θμ1+(1−θ)μ2)=xminL(x,θμ1+(1−θ)μ2)=xmin(θL(x,μ1)+(1−θ)L(x,μ2))≥xmin(θL(x,μ1))+xmin((1−θ)L(x,μ2))=θxmin(L(x,μ1))+(1−θ)xmin(L(x,μ2))=θg(μ1)+(1−θ)g(μ2)(4-5)
得证!
注意,第一步到第二步是因为
L
(
x
,
μ
)
L(x,\mu)
L(x,μ)是关于
u
u
u的仿射函数;第二步到第三步是因为,地二步中取得最小值时,括号中两项中的
x
x
x是取相同的值的,而第三步中两项分别取最小值不要求
x
x
x一定取相同值(也即能够比第二步涵盖更多情况),因此第三步可能取到的最小值肯定小于或等于第二步的最小值。
几何解释如下:
由于
L
(
x
,
μ
)
L(x,\mu)
L(x,μ)是关于
u
u
u的仿射函数,我们将
μ
\mu
μ退化为1维来形象地解释。
L
(
x
,
μ
)
L(x,\mu)
L(x,μ)可以看成是许多的直线簇组成。
g
(
x
,
μ
)
g(x,\mu)
g(x,μ)可以理解成:当
μ
\mu
μ取某一个值时,取曲线簇在这个值上的最小值,遍历所有
μ
\mu
μ,将曲线簇的一些最小值作为
g
(
x
,
μ
)
g(x,\mu)
g(x,μ)的值域。因此,
g
(
x
,
μ
)
g(x,\mu)
g(x,μ)可以看成下图中黄色区域的边界线,显然是一个凹函数。
此外,Lagrange对偶函数还有如下性质:
∀
λ
⪰
0
\forall \lambda \succeq 0
∀λ⪰0(每一维都大于0)和
ν
\nu
ν,都有
g
(
λ
,
ν
)
≤
p
⋆
(4-6)
g(\lambda,\nu)\leq p^{\star}\\ \tag{4-6}
g(λ,ν)≤p⋆(4-6)
其中
p
⋆
p^{\star}
p⋆是原问题的最优值。也即,对偶函数构成了原问题的最优值的下界。
4.2. 共轭函数
设函数
f
:
R
n
→
R
f:R^n\rightarrow R
f:Rn→R,定义
f
⋆
:
R
n
→
R
f^{\star}:R^n\rightarrow R
f⋆:Rn→R为:
f
⋆
(
y
)
=
s
u
p
x
∈
d
o
m
f
(
y
T
x
−
f
(
x
)
)
(4-7)
f^{\star}(y)=\mathop{sup}\limits_{x\in dom\ f}\left(y^Tx-f(x)\right)\\ \tag{4-7}
f⋆(y)=x∈dom fsup(yTx−f(x))(4-7)
此函数成为函数
f
f
f的共轭函数。共轭函数是一系列仿射函数的逐点上确界,所以必然是一个凸函数。
对于负熵函数
x
l
o
g
x
xlog{x}
xlogx,它的共轭函数不难推导出是
f
⋆
(
y
)
=
e
y
−
1
f^{\star}(y)=e^{y-1}
f⋆(y)=ey−1,这在后面会用到
4.3. Lagrange对偶问题
由
(
4
−
6
)
(4-6)
(4−6)可以看到,对于任意一组
(
λ
,
ν
)
(\lambda,\nu)
(λ,ν),其中
λ
⪰
0
\lambda \succeq0
λ⪰0,Lagrange对偶函数给出了优化问题
(
4
−
1
)
(4-1)
(4−1)的最优值
p
⋆
p^{\star}
p⋆的一个下界。我们来看一下从Lagrange函数得到的最好下界。该问题可以表述为如下优化问题:
m
a
x
g
(
λ
,
ν
)
s
u
b
j
e
c
t
t
o
λ
⪰
0
(4-8)
\begin{aligned} max\ \ g(\lambda,\nu)\\ subject\ to\ \ \lambda\succeq 0 \tag{4-8} \end{aligned}
max g(λ,ν)subject to λ⪰0(4-8)
上述问题被称为原问题的Lagrange对偶问题。
满足
λ
⪰
0
\lambda \succeq 0
λ⪰0和
g
(
λ
,
ν
)
>
−
∞
g(\lambda,\nu)>-\infty
g(λ,ν)>−∞的一组
(
λ
,
ν
)
(\lambda,\nu)
(λ,ν)被称为一组对偶可行解。如果一组
(
λ
⋆
,
ν
⋆
)
(\lambda^{\star},\nu^{\star})
(λ⋆,ν⋆)是对偶问题的最优解,那么称它是对偶最优解或者最优Lagrange乘子。
由于
g
(
λ
,
ν
)
>
−
∞
g(\lambda,\nu)>-\infty
g(λ,ν)>−∞必然是凹函数,且约束条件是凸函数,所以问题
(
4
−
8
)
(4-8)
(4−8)必然是一个凸优化问题。
因此Lagrange对偶问题是一个凸优化问题,与原问题的凸性无关
记Lagrange对偶问题的最优值为 d ⋆ d^{\star} d⋆,原问题的最优值为 p ⋆ p^{\star} p⋆。显然有 d ⋆ ≤ p ⋆ d^{\star}\leq p^{\star} d⋆≤p⋆,这个性质称为弱对偶性。无论原问题是不是凸问题无论原问题和对偶问题的最优值是否有上下界,弱对偶性都存在。
4.4. 强对偶性与Slater约束准则
如果前面的有
d
⋆
=
p
⋆
d^{\star}=p^{\star}
d⋆=p⋆,则强对偶性成立。对于一般情况的优化问题,强对偶性一般不成立。如果玉啊为图是凸问题,强对偶性一般存在(但不总是)。
强对偶性成立的一个简单的约束条件(Slater条件)是:存在一点
x
∈
r
e
l
i
n
t
D
x\in relint\ D
x∈relint D使得下式成立:
f
i
(
x
)
<
0
,
i
=
1
,
⋯
,
m
,
A
x
=
b
(4-9)
f_i(x)< 0,i=1,\cdots,m,\ \ Ax=b\\ \tag{4-9}
fi(x)<0,i=1,⋯,m, Ax=b(4-9)
满足上述条件的点也称为严格可行点
如果不等式约束函数中有一些是仿射函数时,Slater条件可以进一步改进为:不是仿射函数的那些不等式约束函数需要满足
(
4
−
9
)
(4-9)
(4−9)。换言之,仿射不等式不需要严格成立。例如,假设
f
1
,
f
2
,
⋯
,
f
k
f_1,f_2,\cdots,f_k
f1,f2,⋯,fk是仿射函数,则Slater条件可变为:存在一点
x
∈
r
e
l
i
n
t
D
x\in relint\ D
x∈relint D使得下式成立:
f
i
(
x
)
≤
0
,
i
=
1
,
⋯
,
k
,
f
i
(
x
)
<
0
,
i
=
k
+
1
,
⋯
,
m
,
A
x
=
b
(4-10)
f_i(x)\leq 0,i=1,\cdots,k,f_i(x)< 0,i=k+1,\cdots,m,Ax=b\\ \tag{4-10}
fi(x)≤0,i=1,⋯,k,fi(x)<0,i=k+1,⋯,m,Ax=b(4-10)
由此可以得到一个推论:当所有约束条件是线性等式或线性不等式且
d
o
m
f
0
dom\ f_0
dom f0是开集时,上述改进的Slater条件其实就是可行性条件。也即只要问题是可行的,强对偶性就成立。
Boyd的《Convex Optimization》一书中的5.3.2,证明了当原问题是凸问题且Slater条件成立时,强对偶性成立。
4.5. 最优性条件
注意,此小节讨论的问题并不要求是凸问题。
4.5.1. 互补松弛性
如果强对偶性成立,则有:
f
0
(
x
⋆
)
=
g
(
λ
⋆
,
ν
⋆
)
=
i
n
f
x
(
f
0
(
x
)
+
∑
i
=
1
m
λ
i
⋆
f
i
(
x
)
+
∑
i
=
1
p
ν
i
⋆
h
i
(
x
)
)
≤
f
0
(
x
⋆
)
+
∑
i
=
1
m
λ
i
⋆
f
i
(
x
⋆
)
+
∑
i
=
1
p
ν
i
⋆
h
i
(
x
⋆
)
≤
f
0
(
x
⋆
)
(4-11)
\begin{aligned} f_0(x^{\star})&=g(\lambda^{\star},\nu^{\star})\\ &=\mathop{inf}\limits_{x}\left(f_0(x)+\sum_{i=1}^{m}{\lambda _i^{\star}f_i(x)} + \sum_{i=1}^{p}{\nu _i^{\star}h_i(x)}\right)\\ &\leq f_0(x^{\star})+\sum_{i=1}^{m}{\lambda _i^{\star}f_i(x^{\star})} + \sum_{i=1}^{p}{\nu _i^{\star}h_i(x^{\star})}\\ &\leq f_0(x^{\star})\\ \tag{4-11} \end{aligned}
f0(x⋆)=g(λ⋆,ν⋆)=xinf(f0(x)+i=1∑mλi⋆fi(x)+i=1∑pνi⋆hi(x))≤f0(x⋆)+i=1∑mλi⋆fi(x⋆)+i=1∑pνi⋆hi(x⋆)≤f0(x⋆)(4-11)
上式可以得到几个有用的结论:
- 由于第三个不等式取等号,说明 L ( x , λ ⋆ , ν ⋆ ) L(x,\lambda^{\star},\nu^{\star}) L(x,λ⋆,ν⋆)在 x ⋆ x^{\star} x⋆处取得局部最小值,也即该点处导数为0
- λ i ⋆ f i ( x ⋆ ) = 0 , i = 1 , 2 , ⋯ , m \lambda_i^{\star}f_i(x^{\star})=0,i=1,2,\cdots,m λi⋆fi(x⋆)=0,i=1,2,⋯,m,这个称为互补松弛条件,意味着在最优点处,不等式约束要么取等号 ( f i ( x ⋆ ) = 0 ) (f_i(x^{\star})=0) (fi(x⋆)=0),要么它对应的Lagrange乘子为零 λ i ⋆ = 0 \lambda_i^{\star}=0 λi⋆=0
4.5.2. KKT最优性条件
这小节讨论的目标函数
f
0
f_0
f0和约束函数
f
1
,
f
2
,
⋯
,
f
m
,
h
1
,
h
2
,
⋯
,
h
p
f_1,f_2,\cdots,f_m,h_1,h_2,\cdots,h_p
f1,f2,⋯,fm,h1,h2,⋯,hp是可微的,但并不要求它们都是凸函数。
结合上一小节的内容,我们可以推出,对于目标函数和约束函数可微的任意优化问题,如果强对偶性成立,则任一原问题的最优解
x
∗
x^*
x∗和对偶问题的最优解
(
λ
∗
,
ν
∗
)
(\lambda^*,\nu^*)
(λ∗,ν∗)必须满足下列的式子:
f
i
(
x
⋆
)
≤
0
,
i
=
1
,
2
,
⋯
,
m
h
i
(
x
⋆
)
=
0
,
i
=
1
,
2
,
⋯
,
p
λ
i
⋆
≥
0
,
i
=
1
,
2
,
⋯
,
m
λ
i
⋆
f
i
(
x
⋆
)
=
0
,
i
=
1
,
2
,
⋯
,
m
∇
f
0
(
x
⋆
)
+
∑
i
=
1
m
λ
i
⋆
∇
f
i
(
x
⋆
)
+
∑
i
=
1
p
ν
i
⋆
∇
h
i
(
x
⋆
)
=
0
(4-12)
\begin{aligned} f_i(x^{\star})&\leq 0 ,i=1,2,\cdots,m\\ h_i(x^{\star})&=0,i=1,2,\cdots,p\\ \lambda_i^{\star}&\geq 0,i=1,2,\cdots,m\\ \lambda_i^{\star}f_i(x^{\star})&=0,i=1,2,\cdots,m\\ \nabla f_0(x^{\star})+\sum_{i=1}^{m}{\lambda _i^{\star}\nabla f_i(x^{\star})} &+ \sum_{i=1}^{p}{\nu _i^{\star}\nabla h_i(x^{\star})}=0\\ \tag{4-12} \end{aligned}
fi(x⋆)hi(x⋆)λi⋆λi⋆fi(x⋆)∇f0(x⋆)+i=1∑mλi⋆∇fi(x⋆)≤0,i=1,2,⋯,m=0,i=1,2,⋯,p≥0,i=1,2,⋯,m=0,i=1,2,⋯,m+i=1∑pνi⋆∇hi(x⋆)=0(4-12)
上式被称为非凸问题的KKT条件:对于目标函数和约束函数可微的任意优化问题,如果强对偶性成立,那么任意一对 原问题最优解和对偶问题最优解必须满足KKT条件。
凸问题的KKT条件:如果原问题是凸问题,则满足KKT条件的点也是原、对偶问题的最优解。这个定理很重要!
上述定理的证明:前面两个条件说明了
x
⋆
x^{\star}
x⋆是原问题的可行解;因为
λ
⋆
≥
0
\lambda^{\star}\geq 0
λ⋆≥0,所以
L
(
x
,
λ
⋆
,
ν
⋆
)
L(x,\lambda^{\star},\nu^{\star})
L(x,λ⋆,ν⋆)是x的凸函数;最优一个条件说明了Lagrange函数在
x
⋆
x^{\star}
x⋆处导数为零,也即Lagrange函数取得全局最小值,因此此时有:
g
(
λ
⋆
,
ν
⋆
)
=
L
(
x
⋆
,
λ
⋆
,
ν
⋆
)
=
f
0
(
x
⋆
)
+
∑
i
=
1
m
λ
i
⋆
f
i
(
x
⋆
)
+
∑
i
=
1
p
ν
i
⋆
h
i
(
x
⋆
)
=
f
0
(
x
⋆
)
(4-13)
\begin{aligned} g(\lambda^{\star},\nu^{\star})&=L(x^{\star},\lambda^{\star},\nu^{\star})\\ &=f_0(x^{\star})+\sum_{i=1}^{m}{\lambda _i^{\star}f_i(x^{\star})} + \sum_{i=1}^{p}{\nu _i^{\star}h_i(x^{\star})}\\ &=f_0(x^{\star})\\ \tag{4-13} \end{aligned}
g(λ⋆,ν⋆)=L(x⋆,λ⋆,ν⋆)=f0(x⋆)+i=1∑mλi⋆fi(x⋆)+i=1∑pνi⋆hi(x⋆)=f0(x⋆)(4-13)
上述意味着对偶间隙为0,强对偶性成立,因此得证。
4.5.3. 通过解对偶问题求解原问题
由前面可知,如果强对偶性成立,且存在一个对偶最优解
(
λ
⋆
,
ν
⋆
)
(\lambda^{\star},\nu^{\star})
(λ⋆,ν⋆),那么任意原问题最优点也是
L
(
x
,
λ
⋆
,
ν
⋆
)
L(x,\lambda^{\star},\nu^{\star})
L(x,λ⋆,ν⋆)的最优解。利用这个性质,我们可以从对偶最优方程中去求解原问题最优解。确切的讲,如果强对偶性成立,对偶最优解
(
λ
⋆
,
ν
⋆
)
(\lambda^{\star},\nu^{\star})
(λ⋆,ν⋆)已知,并且下列问题的解唯一:
m
i
n
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
ν
i
h
i
(
x
)
(4-12)
min\ f_0(x)+\sum_{i=1}^{m}{\lambda _if_i(x)} + \sum_{i=1}^{p}{\nu _ih_i(x)}\tag{4-12}
min f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x)(4-12)
(Lagrange函数是严格凸函数时上述最优化问题的解是唯一的),如果上式问题的解是原问题的可行解,那么它就是原问题的最优解;如果它不是原问题的可行解,那么原问题不存在最优解(或者无法达到)。当对偶问题比原问题更容易求解时,上述方法很有意义。具体应用见下文的熵的最大化的例子
5. 利用Lagrange对偶求解最优化问题的例子
5.0. 优化问题的一般解决流程
- 根据问题,列出目标函数和约束条件
- 如果问题是凸优化问题,判断能不能直接求解。如果没有约束条件,则可以直接求解(求极值);如果约束条件比较简单,对目标函数求极值后直接满足约束条件则,则也已解决。否则转到3
- 当直接求解不方便时,列出Lagrange函数,和Lagrange对偶函数,假设Slater条件成立(强对偶性成立),求取对偶问题的最优解,并代入到Lagrange函数里面求它的最优解,如果Lagrange函数最优解唯一且满足原问题的可行性条件,则就是原问题的最优解
5.1. 熵的最大化问题
这个例子在机器学习中可能会经常遇到。问题描述如下:
m
i
n
f
0
(
x
)
=
∑
i
=
1
n
x
i
l
o
g
x
i
s
.
t
.
A
x
⪯
b
1
T
x
=
1
(5-1)
\begin{aligned} min\ f_0(x)&=\sum_{i=1}^{n}{x_ilog{x_i}}\\ s.t.\ Ax&\preceq b\\ 1^Tx&=1\\ \tag{5-1} \end{aligned}
min f0(x)s.t. Ax1Tx=i=1∑nxilogxi⪯b=1(5-1)
定义域为
R
+
+
R_{++}
R++。上述目标函数其实就是负熵,是凸函数。原问题是凸问题,但是不好直接求解。
记目标函数为
f
0
(
x
)
f_0(x)
f0(x),Lagrange函数为:
L
(
x
,
λ
,
ν
)
=
f
0
(
x
)
+
λ
T
(
A
x
−
b
)
+
ν
(
1
⃗
T
x
−
1
)
(5-2)
\begin{aligned} L(x,\lambda,\nu)=f_0(x)+\lambda^T(Ax-b)+\nu(\vec 1^Tx-1)\\ \tag{5-2} \end{aligned}
L(x,λ,ν)=f0(x)+λT(Ax−b)+ν(1Tx−1)(5-2)
Lagrange对偶函数为:
g
(
λ
,
ν
)
=
i
n
f
x
(
f
0
(
x
)
+
λ
T
(
A
x
−
b
)
+
ν
(
1
T
x
−
1
)
)
=
−
b
T
λ
−
ν
+
i
n
f
x
(
f
0
(
x
)
+
(
A
T
λ
+
1
⃗
ν
)
T
x
)
=
−
b
T
λ
−
ν
−
s
u
p
x
(
−
f
0
(
x
)
−
(
A
T
λ
+
1
⃗
ν
)
T
x
)
=
−
b
T
λ
−
ν
−
f
0
⋆
(
−
(
A
T
λ
+
1
⃗
ν
)
)
(5-3)
\begin{aligned} g(\lambda,\nu)&=\mathop{inf}\limits_{x}\ \left(f_0(x)+\lambda^T(Ax-b)+\nu(1^Tx-1)\right)\\ &=-b^T\lambda-\nu+\mathop{inf}\limits_{x}\ \left(f_0(x)+(A^T\lambda+\vec 1\nu)^Tx\right)\\ &=-b^T\lambda-\nu-\mathop{sup}\limits_{x}\ \left(-f_0(x)-(A^T\lambda+\vec 1\nu)^Tx\right)\\ &=-b^T\lambda-\nu-f_0^{\star}\left(-(A^T\lambda+\vec 1\nu)\right)\\ \tag{5-3} \end{aligned}
g(λ,ν)=xinf (f0(x)+λT(Ax−b)+ν(1Tx−1))=−bTλ−ν+xinf (f0(x)+(ATλ+1ν)Tx)=−bTλ−ν−xsup (−f0(x)−(ATλ+1ν)Tx)=−bTλ−ν−f0⋆(−(ATλ+1ν))(5-3)
其中
f
0
⋆
f_0^{\star}
f0⋆是
f
0
f_0
f0的共轭函数。对于负熵函数
x
l
o
g
x
xlog{x}
xlogx,它的共轭函数不难推导出是
f
⋆
(
y
)
=
e
y
−
1
f^{\star}(y)=e^{y-1}
f⋆(y)=ey−1,因此不难得出
(
5
−
3
)
(5-3)
(5−3)可进一步化为:
g
(
λ
,
ν
)
=
i
n
f
x
(
f
0
(
x
)
+
λ
T
(
A
x
−
b
)
+
ν
(
1
T
x
−
1
)
)
=
−
b
T
λ
−
ν
−
∑
i
=
1
n
e
(
−
a
i
T
λ
−
ν
−
1
)
(5-3)
\begin{aligned} g(\lambda,\nu)&=\mathop{inf}\limits_{x}\ \left(f_0(x)+\lambda^T(Ax-b)+\nu(1^Tx-1)\right)\\ &=-b^T\lambda-\nu-\sum_{i=1}^{n}e^{\left(-a_i^T\lambda-\nu-1\right)}\\ \tag{5-3} \end{aligned}
g(λ,ν)=xinf (f0(x)+λT(Ax−b)+ν(1Tx−1))=−bTλ−ν−i=1∑ne(−aiTλ−ν−1)(5-3)
假设原问题可行,也即Slater条件成立(注意这里的约束条件都是仿射函数),那么此时强对偶性成立。因此对Lagrange函数求最小值即可求得原问题的最小值解。注意到Lagrange函数是严格凸函数,很容易求得最小值点(是唯一的)
x
i
⋆
=
e
x
p
(
−
(
a
i
T
λ
⋆
+
ν
⋆
+
1
)
)
,
i
=
1
,
2
,
⋯
,
n
(5-4)
x_i^{\star}=exp\left(-(a_i^T\lambda^{\star}+\nu^{\star}+1)\right),i=1,2,\cdots,n\\ \tag{5-4}
xi⋆=exp(−(aiTλ⋆+ν⋆+1)),i=1,2,⋯,n(5-4)
其中 a i a_i ai是 A A A的列向量,如果 x ⋆ x^{\star} x⋆是原问题的可行解,则必定是原问题的最优解;否则说明原问题的最优解不可达到
5.2. 线性规划问题
原问题:
m
i
n
c
T
x
s
.
t
.
A
x
=
b
x
⪰
0
(5-5)
\begin{aligned} min\ \ &c^Tx\\ s.t.\ &Ax=b\\ &x\succeq 0\\ \tag{5-5} \end{aligned}
min s.t. cTxAx=bx⪰0(5-5)
Lagrange函数:
L
(
x
,
λ
,
μ
)
=
−
b
T
ν
+
(
c
+
A
T
ν
−
λ
)
T
x
(5-6)
L(x,\lambda,\mu)=-b^T\nu+(c+A^T\nu-\lambda)^Tx\tag{5-6}
L(x,λ,μ)=−bTν+(c+ATν−λ)Tx(5-6)
Lagrange对偶函数:
g
(
λ
,
ν
)
=
i
n
f
x
L
(
x
,
λ
,
ν
)
=
{
−
b
T
ν
,
A
T
ν
−
λ
+
c
=
0
−
∞
,
o
t
h
e
r
s
(5-7)
\begin{aligned} g(\lambda,\nu)&=\mathop{inf}\limits_{x}L(x,\lambda,\nu)\\ &=\left\{ \begin{aligned} &-b^T\nu, \ \ A^T\nu-\lambda+c=0 \\ & -\infty,\ \ others \\ \end{aligned} \right.\\ \tag{5-7} \end{aligned}
g(λ,ν)=xinfL(x,λ,ν)={−bTν, ATν−λ+c=0−∞, others(5-7)
注意:线性函数只有恒为零时才有下界(零,上界也是零),否则为负无穷(没有下界)。
Lagrange对偶问题:
m
a
x
−
b
T
ν
s
.
t
.
A
T
ν
−
λ
+
c
=
0
λ
⪰
0
(5-8)
\begin{aligned} max\ \ &-b^T\nu\\ s.t.\ &A^T\nu-\lambda+c=0\\ &\lambda\succeq 0\\ \tag{5-8} \end{aligned}
max s.t. −bTνATν−λ+c=0λ⪰0(5-8)
等价于:
m
i
n
b
T
ν
s
.
t
.
A
T
ν
+
c
⪰
0
(5-9)
\begin{aligned} min\ \ &b^T\nu\\ s.t.\ &A^T\nu+c\succeq 0\\ \tag{5-9} \end{aligned}
min s.t. bTνATν+c⪰0(5-9)
(未完待续)