总目录
一、 凸优化基础(Convex Optimization basics)
二、 一阶梯度方法(First-order methods)
- 梯度下降(Gradient Descent)
- 次梯度(Subgradients)
- 近端梯度法(Proximal Gradient Descent)
- 随机梯度下降(Stochastic gradient descent)
三、对偶
- 线性规划中的对偶(Duality in linear programs)
- 凸优化中的对偶(Duality in General Programs)
- KKT条件(Karush-Kuhn-Tucker Conditions)
- 对偶的应用及拓展(Duality Uses and Correspondences)
- 对偶方法(Dual Methods)
- 交替方向乘子法(Alternating Direction Method of Multipliers)
Introduction
对偶(duality)是优化中的一个重要概念,当原问题的最小值很难求解时,我们常常将其变为对偶形式,通过求解对偶问题的最大值,从而得到原问题的最优解。我们从最简单的线性规划问题入手来介绍对偶的概念。
线性规划的下界
假设我们想要寻找一个凸优化问题的下界(lower bound),即寻找
B
≤
min
x
f
(
x
)
B\leq \min_xf(x)
B≤minxf(x)。
以线性规划(LP)问题为例,考虑一个简单的LP问题:
min
x
,
y
x
+
y
s
u
b
j
e
c
t
t
o
x
+
y
≥
2
x
,
y
≥
0
\begin{aligned} \min_{x,y}\ x+y\\ subject\ to\quad x+y\geq 2\\ x,y\geq 0 \end{aligned}
x,ymin x+ysubject tox+y≥2x,y≥0
很明显,该问题的下界为
B
=
2
B=2
B=2。
那么考虑更一般的形式,如:
min
x
,
y
p
x
+
q
y
s
u
b
j
e
c
t
t
o
x
+
y
≥
2
x
,
y
≥
0
\begin{aligned} \min_{x,y}\ px+qy\\ subject\ to\quad x+y\geq 2\\ x,y\geq 0 \end{aligned}
x,ymin px+qysubject tox+y≥2x,y≥0
那么对于任意
a
,
b
,
c
≥
0
a,b,c\geq 0
a,b,c≥0,都有
p
x
+
q
y
=
(
a
+
b
)
x
+
(
a
+
c
)
y
=
(
a
x
+
a
y
)
+
b
x
+
b
y
≥
2
a
px+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by\geq 2a
px+qy=(a+b)x+(a+c)y=(ax+ay)+bx+by≥2a。
既然我们找到了该问题的下界,那么最小化该问题就可以转化为最大化该问题的下界。即原问题变为:
min
a
,
b
,
c
2
a
s
u
b
j
e
c
t
t
o
a
+
b
=
p
a
+
c
=
q
a
,
b
,
c
≥
0
\begin{aligned} \min_{a,b,c}\quad 2a\\ subject\ to\quad a+b=p\\ a+c=q\\ a,b,c\geq 0 \end{aligned}
a,b,cmin2asubject toa+b=pa+c=qa,b,c≥0
我们把上面的形式称为原问题(primal LP)的对偶(dual LP)。注意到对偶变量的数量等于原问题的约束条件数目(这里都为3)。
线性规划的对偶
考虑一般形式的LP问题,给定
c
∈
R
n
,
A
∈
R
m
×
n
,
b
∈
R
m
,
G
∈
R
r
×
n
,
h
∈
R
r
c\in R^n, A\in R^{m\times n}, b\in R^m, G\in R^{r\times n}, h\in R^r
c∈Rn,A∈Rm×n,b∈Rm,G∈Rr×n,h∈Rr,
min
x
c
T
x
s
u
b
j
e
c
t
t
o
A
x
=
b
G
x
≤
h
\begin{aligned} \min_{x}\quad c^Tx\\ subject\ to\quad Ax=b\\ Gx\leq h \end{aligned}
xmincTxsubject toAx=bGx≤h
其对偶问题为:
min
u
,
v
−
b
T
u
−
h
T
v
s
u
b
j
e
c
t
t
o
−
A
T
u
−
G
T
v
=
c
v
≥
0
\begin{aligned} \min_{u,v}\quad &-b^Tu-h^Tv\\ subject\ to\quad &-A^Tu-G^Tv=c\\ &v\geq 0\\ \end{aligned}
u,vminsubject to−bTu−hTv−ATu−GTv=cv≥0
解释:对于任意
u
u
u和
v
≥
0
v\geq 0
v≥0,
u
T
(
A
x
−
b
)
+
v
T
(
G
x
−
h
)
≤
0
⇔
(
−
A
T
u
−
G
T
v
)
T
x
≥
−
b
T
u
−
h
T
v
u^T(Ax-b)+v^T(Gx-h)\leq 0\\ \Leftrightarrow (-A^Tu-G^Tv)^Tx\geq -b^Tu-h^Tv
uT(Ax−b)+vT(Gx−h)≤0⇔(−ATu−GTv)Tx≥−bTu−hTv
所以如果令 c = − A T u − G T v c=-A^Tu-G^Tv c=−ATu−GTv,那么我们就可以得到原问题的一个下界。
例子:最大流最小割(max flow and min cut)
给定一个图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),定义流(flow)
f
i
j
,
(
i
,
j
)
∈
E
f_{ij}, (i,j)\in E
fij,(i,j)∈E满足:
- f i j ≥ 0 , ( i , j ) ∈ E f_{ij}\geq 0, (i,j)\in E fij≥0,(i,j)∈E (所有流都是正的)
- f i j ≤ c i j , ( i , j ) ∈ E f_{ij}\leq c_{ij}, (i,j)\in E fij≤cij,(i,j)∈E (所有流都是有限的)
- ∑ ( i , k ) ∈ E f i k = ∑ ( k , j ) ∈ E f k j , k ∈ V s , t \sum_{(i,k)\in E}f_{ik}=\sum_{(k,j)\in E}f_{kj}, k\in V\\{s,t} ∑(i,k)∈Efik=∑(k,j)∈Efkj,k∈Vs,t (除了始末节点外,流入某个节点的所有流等于流出该节点的所有流)
最大流问题:找到从
s
s
s流向
t
t
t的所有流的最大值。这是一个LP问题:
max
f
∈
R
∣
E
∣
∑
(
s
,
j
)
∈
E
f
s
j
s
u
b
j
e
c
t
t
o
0
≤
f
i
j
≤
c
i
j
f
o
r
a
l
l
(
i
,
j
)
∈
E
∑
(
i
,
k
)
∈
E
f
i
k
=
∑
(
k
,
j
)
∈
E
f
k
j
f
o
r
a
l
l
k
∈
V
\
{
s
,
t
}
\begin{aligned} \max_{f\in R^{|E|}}\quad &\sum_{(s,j)\in E}f_{sj}\\ subject\ to\quad &0\leq f_{ij}\leq c_{ij}\quad for\ all\ (i,j)\in E\\ &\sum_{(i,k)\in E}f_{ik}=\sum_{(k,j)\in E}f_{kj}\quad for\ all\ k\in V\backslash \{s,t\}\\ \end{aligned}
f∈R∣E∣maxsubject to(s,j)∈E∑fsj0≤fij≤cijfor all (i,j)∈E(i,k)∈E∑fik=(k,j)∈E∑fkjfor all k∈V\{s,t}
求其对偶形式:
∑
(
i
.
j
)
∈
E
(
−
a
i
j
f
i
j
+
b
i
j
(
f
i
j
−
c
i
j
)
)
+
∑
k
∈
V
\
{
s
,
t
}
x
k
(
∑
(
i
,
k
)
∈
E
f
i
k
−
∑
(
k
,
j
)
∈
E
f
k
j
)
≤
0
\sum_{(i.j)\in E}(-a_{ij}f_{ij}+b_{ij}(f_{ij}-c_{ij}))+\sum_{k\in V\backslash\{s,t\}}x_k(\sum_{(i,k)\in E}f_{ik}-\sum_{(k,j)\in E}f_{kj})\leq 0
(i.j)∈E∑(−aijfij+bij(fij−cij))+k∈V\{s,t}∑xk((i,k)∈E∑fik−(k,j)∈E∑fkj)≤0
f o r a n y a i j , b i j ≥ 0 , ( i , j ) ∈ E , a n d x k , k ∈ V \ { s , t } for\ any\ a_{ij},b_{ij}\geq 0, (i,j)\in E,\ and\ x_k,k\in V\backslash\{s,t\} for any aij,bij≥0,(i,j)∈E, and xk,k∈V\{s,t}
重新整理可得:
∑
(
i
,
j
)
∈
E
M
i
j
(
a
,
b
,
x
)
f
i
j
≤
∑
(
i
,
j
)
∈
E
b
i
j
c
i
j
\sum_{(i,j)\in E}M_{ij}(a,b,x)f_{ij}\leq \sum_{(i,j)\in E}b_{ij}c_{ij}
(i,j)∈E∑Mij(a,b,x)fij≤(i,j)∈E∑bijcij
其中
M
i
j
(
a
,
b
,
x
)
M_{ij}(a,b,x)
Mij(a,b,x)表示所有与
f
i
j
f_{ij}
fij相乘的项。
那么对偶问题可以表示为:
min
b
∈
R
∣
E
∣
,
x
∈
R
∣
V
∣
∑
(
i
,
j
)
∈
E
b
i
j
c
i
j
s
u
b
j
e
c
t
t
o
b
i
j
+
x
j
−
x
i
≥
0
f
o
r
a
l
l
(
i
,
j
)
∈
E
b
≥
0
,
x
s
=
1
,
x
t
=
0
\begin{aligned} \min_{b\in R^{|E|},x\in R^{|V|}}\quad &\sum_{(i,j)\in E}b_{ij}c_{ij}\\ subject\ to\quad &b_{ij}+x_j-x_i\geq 0\quad for\ all\ (i,j)\in E\\ &b\geq 0,\ x_s=1,\ x_t=0\\ \end{aligned}
b∈R∣E∣,x∈R∣V∣minsubject to(i,j)∈E∑bijcijbij+xj−xi≥0for all (i,j)∈Eb≥0, xs=1, xt=0
假设对于所有
i
∈
V
i\in V
i∈V,
x
i
x_i
xi只能取0或1,那么只有在
x
i
=
1
x_i=1
xi=1且
x
j
=
0
x_j=0
xj=0时,
b
i
j
=
1
b_{ij}=1
bij=1,否则为0。那么目标函数
∑
(
i
,
j
)
∈
E
b
i
j
c
i
j
\sum_{(i,j)\in E}b_{ij}c_{ij}
∑(i,j)∈Ebijcij就是在求解有哪些路径会被切断。因此原最大流问题就变成了线性规划松弛的最小割(min cut)问题:
min
b
∈
R
∣
E
∣
,
x
∈
R
∣
V
∣
∑
(
i
,
j
)
∈
E
b
i
j
c
i
j
s
u
b
j
e
c
t
t
o
b
i
j
≥
x
i
−
x
j
b
i
j
,
x
i
,
x
j
∈
{
0
,
1
}
f
o
r
a
l
l
i
,
j
\begin{aligned} \min_{b\in R^{|E|},x\in R^{|V|}}\quad &\sum_{(i,j)\in E}b_{ij}c_{ij}\\ subject\ to\quad &b_{ij}\geq x_i-x_j\\ &b_{ij}, x_i, x_j\in \{0,1\}\ for\ all\ i,j\\ \end{aligned}
b∈R∣E∣,x∈R∣V∣minsubject to(i,j)∈E∑bijcijbij≥xi−xjbij,xi,xj∈{0,1} for all i,j
从上面的分析可以看出:
最大流的值
≤
\leq
≤LP松弛的最小割问题的最优解
≤
\leq
≤最小割的容量
而根据最大流最小割定理,通过一个网络的最大流的值就等于最小割的容量。即上面公式全部取等号。这种原问题和对偶问题有相同的最优值的情况称为强对偶(strong duality)。
LP对偶的另一种视角
对于LP问题的对偶形式的另一种更加通用的解释是:
对于任意
u
u
u和
v
≥
0
v\geq 0
v≥0,
c
T
x
≥
c
T
x
+
u
T
(
A
x
−
b
)
+
v
T
(
G
x
−
h
)
:
=
L
(
x
,
u
,
v
)
c^Tx\geq c^Tx+u^T(Ax-b)+v^T(Gx-h):=L(x,u,v)
cTx≥cTx+uT(Ax−b)+vT(Gx−h):=L(x,u,v)
因此如果
C
C
C表示原问题的可行域,
f
∗
f^*
f∗表示原问题的最优解,那么对于任意
u
u
u和
v
≥
0
v\geq 0
v≥0,
f
∗
≥
min
x
∈
C
L
(
x
,
u
,
v
)
≥
min
x
L
(
x
,
u
,
v
)
:
=
g
(
u
,
v
)
f^*\geq \min_{x\in C}L(x,u,v)\geq \min_x L(x,u,v):=g(u,v)
f∗≥x∈CminL(x,u,v)≥xminL(x,u,v):=g(u,v)
即
g
(
u
,
v
)
g(u,v)
g(u,v)是
f
∗
f^*
f∗的一个下界。其中,
g
(
u
,
v
)
=
{
−
b
T
u
−
h
T
v
i
f
c
=
−
A
T
u
−
G
T
v
−
∞
o
t
h
e
r
w
i
s
e
g(u,v)=\left\{ \begin{aligned} &-b^Tu-h^Tv &if\ c=-A^Tu-G^Tv\\ &-\infty &otherwise \end{aligned} \right.
g(u,v)={−bTu−hTv−∞if c=−ATu−GTvotherwise
我们可以通过最大化 g ( u , v ) g(u,v) g(u,v)来逼近原问题的最优解。