总目录
一、 凸优化基础(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
在前几节中我们讨论了对偶。在强对偶条件下,给定对偶问题的最优解 u ∗ , v ∗ u^*,v^* u∗,v∗,任何使得拉普拉斯方程 L ( x , u ∗ , v ∗ ) L(x,u^*,v^*) L(x,u∗,v∗)最小化的 x x x都是原问题的最优解。特别是当原问题的解唯一时,其一定是最优解 x ∗ x^* x∗。这使得我们可以借助于对偶来求解原问题的解。本节我们主要讨论跟对偶相关的一些知识及应用。
对偶范数
令
∥
x
∥
\|x\|
∥x∥为一个范数(norm), 定义其对偶范数(dual norm)
∥
x
∥
∗
\|x\|_*
∥x∥∗为
∥
x
∥
∗
=
max
∥
z
∥
≤
1
z
T
x
\|x\|_*=\max_{\|z\|\leq1}z^Tx
∥x∥∗=∥z∥≤1maxzTx
那么根据对偶关系可以得到
∥
z
T
x
∥
≤
∥
z
∥
∥
x
∥
∗
\|z^Tx\|\leq\|z\|\|x\|_*
∥zTx∥≤∥z∥∥x∥∗。
例如,
- l p \mathcal{l}_p lp norm: ∥ x ∥ p = ( ∑ i = 1 m ∣ x i ∣ p ) 1 / p \|x\|_p=(\sum^m_{i=1}|x_i|^p)^{1/p} ∥x∥p=(∑i=1m∣xi∣p)1/p, for p ≥ 1 p\geq1 p≥1
- Trace norm: ∥ X ∥ t r = ∑ i = 1 r σ i ( X ) \|X\|_{tr}=\sum^r_{i=1}\sigma_i(X) ∥X∥tr=∑i=1rσi(X) (迹范数定义为矩阵所有特征值之和)
则其对应的对偶范数为
- l p \mathcal{l}_p lp norm dual: ( ∥ x ∥ p ) ∗ = ∥ x ∥ q (\|x\|_p)_*=\|x\|_q (∥x∥p)∗=∥x∥q,其中, 1 / p + 1 / q = 1 1/p+1/q=1 1/p+1/q=1
- Trace norm dual: ( ∥ X ∥ t r ) ∗ = ∥ X ∥ o p = σ 1 ( X ) (\|X\|_{tr})_*=\|X\|_{op}=\sigma_1(X) (∥X∥tr)∗=∥X∥op=σ1(X) 即矩阵最大的特征值
在强对偶下,对偶范数的对偶范数为其本身,即 ∥ x ∥ ∗ ∗ = ∥ x ∥ \|x\|_{**}=\|x\| ∥x∥∗∗=∥x∥。
共轭函数
共轭函数的定义
给定一个函数
f
:
R
n
→
R
f: R^n \to R
f:Rn→R,定义其共轭(conjugate)为
f
∗
:
R
n
→
R
f^*: R^n\to R
f∗:Rn→R,
f
∗
(
y
)
=
max
x
y
T
x
−
f
(
x
)
f^*(y)=\max_x y^Tx-f(x)
f∗(y)=xmaxyTx−f(x)
注意到
f
∗
f^*
f∗总是凸函数,因为其是凸函数(仿射函数)的最大值。如下图所示,
f
∗
(
y
)
f^*(y)
f∗(y)表示最大化线性函数
y
T
x
y^Tx
yTx与函数
f
(
x
)
f(x)
f(x)的间隔。
对于可微函数
f
f
f,共轭也被叫做勒让德变换(Legendre transform)。
共轭函数的性质
-
Fenchel不等式:对于任意 x , y x,y x,y,
f ( x ) + f ∗ ( y ) ≥ x T y f(x)+f^*(y)\geq x^Ty f(x)+f∗(y)≥xTy -
共轭的共轭 f ∗ ∗ f^{**} f∗∗满足 f ∗ ∗ ≤ f f^{**}\leq f f∗∗≤f。
-
如果 f f f是闭合的且是凸的,那么 f ∗ ∗ = f f^{**}=f f∗∗=f
-
如果 f f f是闭合的且是凸的,那么对于任意 x , y x,y x,y,
x ∈ ∂ f ∗ ( y ) ⟺ y ∈ ∂ f ( x ) ⟺ f ( x ) + f ∗ ( y ) = x T y x\in\partial f^*(y) \Longleftrightarrow y\in\partial f(x) \Longleftrightarrow f(x)+f^*(y)=x^Ty x∈∂f∗(y)⟺y∈∂f(x)⟺f(x)+f∗(y)=xTy -
如果 f ( u , v ) = f 1 ( u ) + f 2 ( v ) f(u,v)=f_1(u)+f_2(v) f(u,v)=f1(u)+f2(v),那么
f ∗ ( w , z ) = f 1 ∗ ( w ) + f 2 ∗ ( z ) f^*(w,z)=f^*_1(w)+f^*_2(z) f∗(w,z)=f1∗(w)+f2∗(z)
例子:
- 二次规划:
f
(
x
)
=
1
2
x
T
Q
x
f(x)=\frac{1}{2}x^TQx
f(x)=21xTQx,其中
Q
≻
0
Q\succ0
Q≻0。那么
y
T
x
−
1
2
x
T
Q
x
y^Tx-\frac{1}{2}x^TQx
yTx−21xTQx是严格凹的,其最大值在
y
=
Q
−
1
x
y=Q^{-1}x
y=Q−1x处取得,因此
f ∗ ( y ) = 1 2 y T Q − 1 y f^*(y)=\frac{1}{2}y^TQ^{-1}y f∗(y)=21yTQ−1y - 指示函数:如果
f
(
x
)
=
I
C
(
x
)
f(x)=I_C(x)
f(x)=IC(x),那么其共轭为
f ∗ ( y ) = I c ∗ ( x ) = max x ∈ C y T x f^*(y)=I^*_c(x)=\max_{x\in C}y^Tx f∗(y)=Ic∗(x)=x∈CmaxyTx也被称为集合 C C C的支持函数(support function)。 - 范数:如果
f
(
x
)
=
∥
x
∥
f(x)=\|x\|
f(x)=∥x∥,那么其共轭为
f ∗ ( y ) = I { z : ∥ z ∥ ∗ ≤ 1 } ( y ) f^*(y)=I_{\{z:\|z\|_*\leq 1\}}(y) f∗(y)=I{z:∥z∥∗≤1}(y) 其中 ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗是 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥的对偶范数
共轭与对偶问题
共轭常出现在对偶问题的推导中。在最小化拉格朗日函数过程中,以
−
f
∗
(
u
)
=
min
x
f
(
x
)
−
u
T
x
-f^*(u)=\min_x f(x)-u^Tx
−f∗(u)=xminf(x)−uTx 形式出现。
如考虑优化问题
min
x
f
(
x
)
+
g
(
x
)
\min_x f(x)+g(x)
xminf(x)+g(x)
其等价于
min
x
,
z
f
(
x
)
+
g
(
z
)
s
u
b
j
e
c
t
t
o
x
=
z
\begin{aligned} \min_{x,z}f(x)+g(z)\\ subject\ to\quad x=z\\ \end{aligned}
x,zminf(x)+g(z)subject tox=z
拉格朗日对偶函数为
g
(
u
)
=
min
x
,
z
f
(
x
)
+
g
(
z
)
+
u
T
(
z
−
x
)
=
min
x
,
z
f
(
x
)
−
u
T
x
+
g
(
z
)
−
(
−
u
)
T
z
=
−
max
x
{
u
T
x
−
f
(
x
)
}
−
max
z
{
(
−
u
)
T
z
−
g
(
z
)
}
=
−
f
∗
(
u
)
−
g
∗
(
−
u
)
\begin{aligned} g(u)=&\min_{x,z} f(x)+g(z)+u^T(z-x)\\ &=\min_{x,z}f(x)-u^Tx+g(z)-(-u)^Tz\\ &=-\max_x\{u^Tx-f(x)\}-\max_z\{(-u)^Tz-g(z)\}\\ &=-f^*(u)-g^*(-u) \end{aligned}
g(u)=x,zminf(x)+g(z)+uT(z−x)=x,zminf(x)−uTx+g(z)−(−u)Tz=−xmax{uTx−f(x)}−zmax{(−u)Tz−g(z)}=−f∗(u)−g∗(−u)
因而对偶问题为
max
u
−
f
∗
(
u
)
−
g
∗
(
−
u
)
\max_u -f^*(u)-g^*(-u)
umax−f∗(u)−g∗(−u)
转移线性变换
对偶公式可以帮助我们在目标函数的不同部分之间转移线性变换(shifting linear transformations)。
考虑以下问题
min
x
f
(
x
)
+
g
(
A
x
)
\min_x f(x)+g(Ax)
xminf(x)+g(Ax)
其等价于
min
x
,
z
f
(
x
)
+
g
(
z
)
s
u
b
j
e
c
t
t
o
A
x
=
z
\begin{aligned} \min_{x,z}f(x)+g(z)\\ subject\ to\quad Ax=z\\ \end{aligned}
x,zminf(x)+g(z)subject toAx=z
像前面一样,其对偶问题为
max
u
−
f
∗
(
A
T
u
)
−
g
∗
(
−
u
)
\max_u -f^*(A^Tu)-g^*(-u)
umax−f∗(ATu)−g∗(−u)
对偶的技巧
常常我们把对偶转换为一个等价的问题,仍然称为对偶。在强对偶条件下,我们可以使用对偶问题(或经过变换的对偶问题)的解来求解原问题的解。
为了得到无约束问题的对偶形式,一般首先在原问题中加入一个虚拟的中间变量,从而引入等式约束。再通过拉格朗日方程得到对偶形式。通常这种变换并不是唯一的,不同的变换可能导致不同的对偶问题。