8.5 对偶算法(1)
对于复合优化问题,许多实际问题的原始问题有时候比较难以处理,这时候可以考虑它的对偶问题.本节将讲解两种算法:一种是把前面提到的算法应用到对偶问题上,例如对偶近似点梯度法;另一种是同时把原始问题和对偶问题结合起来考虑,例如原始–对偶混合梯度类的算法.
为了方便起见,这一节主要考虑如下形式的问题:
( P ) min x ∈ R n ψ ( x ) = f ( x ) + h ( A x ) ( 8.5.1 ) (\text{P})\quad\min\limits_{x\in\mathbb{R}^n}\quad\psi(x)=f(x)+h(Ax)\qquad(8.5.1) (P)x∈Rnminψ(x)=f(x)+h(Ax)(8.5.1)
其中 f , h f, h f,h 都是闭凸函数, A ∈ R m × n A\in\mathbb{R}^{m\times n} A∈Rm×n 为实数矩阵. 通过引入约束 y = A x y=Ax y=Ax, 可以写出与问题 (8.5.1) 等价的约束优化问题:
min f ( x ) + h ( y ) s . t . y = A x ( 8.5.2 ) \begin{aligned}\min&\quad f(x)+h(y)\\\mathrm{s.t.}&\quad y=Ax\end{aligned}\qquad(8.5.2) mins.t.f(x)+h(y)y=Ax(8.5.2)
对约束 y = A x y=Ax y=Ax 引入乘子 z z z, 得到拉格朗日函数
L ( x , y , z ) = f ( x ) + h ( y ) − z T ( y − A x ) = ( f ( x ) + ( A T z ) T x ) + ( h ( y ) − z T y ) . \begin{aligned}L(x,y,z)&=f(x)+h(y)-z^{\mathrm{T}}(y-Ax)\\&=\big(f(x)+(A^{\mathrm{T}}z)^{\mathrm{T}}x\big)+\big(h(y)-z^{\mathrm{T}}y\big).\end{aligned} L(x,y,z)=f(x)+h(y)−zT(y−Ax)=(f(x)+(ATz)Tx)+(h(y)−zTy).
利用共轭函数的定义 (2.6.1), 可计算拉格朗日对偶问题为
( D ) max z ϕ ( z ) = − f ∗ ( − A T z ) − h ∗ ( z ) ( 8.5.3 ) \mathrm{(D)}\quad\max_z\quad\phi(z)=-f^*(-A^\mathrm{T}z)-h^*(z)\qquad(8.5.3) (D)zmaxϕ(z)=−f∗(−ATz)−h∗(z)(8.5.3)
定义 2.19 (共轭函数) 任一适当函数 f f f 的共轭函数定义为 f ∗ ( y ) = sup x ∈ dom f { y T x − f ( x ) } ( 2.6.1 ) f^*(y)=\sup\limits_{x\in\textbf{dom}f}\{y^\text{T}x-f(x)\}\quad(2.6.1) f∗(y)=x∈domfsup{ yTx−f(x)}(2.6.1).
8.5.1 对偶近似点梯度法
本小节我们将近似点梯度算法应用到对偶问题上,得到对偶近似点梯度法,还将讨论与其等价的、针对原始问题设计的算法.
对偶问题 (8.5.3) 是无约束的复合优化形式,因此可以考虑近似点梯度算法. 要在对偶问题上使用近似点梯度法,要求对偶问题的目标函数 ϕ ( z ) \phi(z) ϕ(z) 满足 “可微函数+凸函数” 的复合形式.
如果假设原始问题中 f ( x ) f(x) f(x) 是闭的强凸函数 (强凸参数为 μ \mu μ), 下面的引理说明其共轭函数是定义在全空间 R n \mathbb{R}^n Rn 上的梯度利普希茨连续函数:
引理 8.5 (强凸函数共轭函数的性质) 设 f ( x ) f(x) f(x) 是适当且闭的强凸函数, 其强凸参数为 μ > 0 , f ∗ ( y ) \mu>0, f^*(y) μ>0,f∗(y) 是 f ( x ) f(x) f(x) 的共轭函数,则 f ∗ ( y ) f^*(y) f∗(y) 在全空间 R n \mathbb{R}^n Rn 上有定义,且 f ∗ ( y ) f^*(y) f∗(y) 是梯度 1 μ \displaystyle\frac{1}{\mu} μ1-利普希茨连续的可微函数.
证明:
对任意的 y ∈ R n y\in\mathbb{R}^n y∈Rn, 函数 f ( x ) − x T y f(x)-x^\mathrm{T}y f(x)−xTy 是强凸函数,因此对任意的 y ∈ R n y\in\mathbb{R}^n y∈Rn, 存在唯一的 x ∈ d o m f x\in\mathbf{dom}f x∈domf, 使得 f ∗ ( y ) = x T y − f ( x ) f^*(y)=x^\text{T}y-f(x) f∗(y)=xTy−f(x). 根据凸优化问题的一阶最优性条件可知
y ∈ ∂ f ( x ) ⇔ f ∗ ( y ) = x T y − f ( x ) y\in\partial f(x)\Leftrightarrow f^*(y)=x^\mathrm{T}y-f(x) y∈∂f(x)⇔f∗(y)=xTy−f(x)由于 f ( x ) f(x) f(x) 是闭凸函数,由定理 2.15 可知 f ( x ) f(x) f(x) 的二次共轭为其本身,于是对同一组 x , y x, y x,y 有
x T y − f ∗ ( y ) = f ( x ) = f ∗ ∗ ( x ) = sup y { x T y − f ∗ ( y ) } x^\mathrm{T}y-f^*(y)=f(x)=f^{**}(x)=\sup_{y}\left\{x^\mathrm{T}y-f^*(y)\right\} xTy−f∗(y)=f(x)=f∗∗(x)=ysup{ xTy−f∗(y)}这说明 y y y 也使得 x T y − f ∗ ( y ) x^\mathrm{T}y-f^*(y) xTy−f∗(y) 取到最大值. 根据一阶最优性条件, x ∈ ∂ f ∗ ( y ) x\in\partial f^*(y) x∈∂f∗(y).
再根据 x x x 的唯一性容易推出 ∂ f ∗ ( y ) \partial f^*(y) ∂f∗(y) 中只含一个元素,故 f ∗ ( y ) f^*(y) f∗(y) 可微.
下证 f ∗ ( y ) f^*(y) f∗(y) 为梯度 1 μ \displaystyle\frac{1}{\mu} μ1-利普希茨连续的. 对任意的 y 1 , y 2 y_1,y_2 y1,y2, 存在唯一的 x 1 , x 2 ∈ d o m f x_1,x_2\in\mathbf{dom} f x1,x2∈domf 使得
y 1 ∈ ∂ f ( x 1 ) , y 2 ∈ ∂ f ( x 2 ) . y_1\in\partial f(x_1),\quad y_2\in\partial f(x_2). y1∈∂f(x1),y2∈∂f(x2).根据次梯度性质以及 f ( x ) − μ 2 ∥ x ∥ 2 f(x)-\displaystyle\frac{\mu}{2}\|x\|^2 f(x)−2μ∥x∥2 是凸函数,
f ( x 2 ) − μ 2 ∥ x 2 ∥ 2 ⩾ f ( x 1 ) − μ 2 ∥ x 1 ∥ 2 + ( y 1 − μ x 1 ) T ( x 2 − x 1 ) , f ( x 1 ) − μ 2 ∥ x 1 ∥ 2 ⩾ f ( x 2 ) − μ 2 ∥ x 2 ∥ 2 + ( y 2 − μ x 2 ) T ( x 1 − x 2 ) , \begin{aligned}f(x_2)-\frac{\mu}{2}\|x_2\|^2&\geqslant f(x_1)-\frac{\mu}{2}\|x_1\|^2+(y_1-\mu x_1)^\mathrm{T}(x_2-x_1),\\f(x_1)-\frac{\mu}{2}\|x_1\|^2&\geqslant f(x_2)-\frac{\mu}{2}\|x_2\|^2+(y_2-\mu x_2)^\mathrm{T}(x_1-x_2),\end{aligned} f(x2)−2μ∥x2∥2f(x1)−2μ∥x1∥2⩾f(x1)−2μ∥x1∥2+(y1−μx1)T(x2−x1),⩾f(x2)−2μ∥x2∥2+(y2−μx2)T(x1−x2),将上述两式相加得
( y 1 − y 2 ) T ( x 1 − x 2 ) ⩾ μ ∥ x 1 − x 2 ∥ 2 . (y_1-y_2)^\mathrm{T}(x_1-x_2)\geqslant\mu\|x_1-x_2\|^2. (y1−y2)T(x1−x2)⩾μ∥x1−x2∥2.
根据 x x x 和 y y y 的关系我们有 x 1 = ∇ f ∗ ( y 1 ) , x 2 = ∇ f ∗ ( y 2 ) x_1=\nabla f^*(y_1),x_2=\nabla f^*(y_2) x1=∇f∗(y1),x2=∇f∗(y2), 代入上式可得
( y 1 − y 2 ) T ( ∇ f ∗ ( y 1 ) − ∇ f ∗ ( y 2 ) ) ⩾ μ ∥ ∇ f ∗ ( y 1 ) − ∇ f ∗ ( y 2 ) ∥ 2 . (y_1-y_2)^\mathrm{T}(\nabla f^*(y_1)-\nabla f^*(y_2))\geqslant\mu\|\nabla f^*(y_1)-\nabla f^*(y_2)\|^2. (y1−y2)T(∇f∗(y1)−∇f∗(y2))⩾μ∥∇f∗(y1)−∇f∗(y2)∥2.这正是 ∇ f ∗ ( y ) \nabla f^*(y) ∇f∗(y) 的余强制性,根据引理 6.1 可知 ∇ f ∗ ( y ) \nabla f^*(y) ∇f∗(y) 是 1 μ \displaystyle\frac{1}{\mu} μ1-利普希茨连续的.
经过上面的推导,我们知道 ∇ f ∗ \nabla f^* ∇f∗ 是利普希茨连续函数,因此在对偶问题 (8.5.3) 中 f ∗ ( − A T z ) f^*(-A^{\mathrm{T}}z) f∗(−ATz) 是梯度 1 μ ∥ A ∥ 2 2 \displaystyle\frac{1}{\mu}\|A\|_{2}^{2} μ1∥A∥22-利普希茨连续的函数,这是因为对于任意的 z 1 , z 2 z_1,z_2 z1,z2, 有
∥ A ∇ f ∗ ( − A T z 1 ) − A ∇ f ∗ ( − A T z 2 ) ∥ ⩽ 1 μ ∥ A ∥ 2 ∥ A T ( z 1 − z 2 ) ∥ ⩽ ∥ A ∥ 2 2 μ ∥ z 1 − z 2 ∥ \begin{aligned}\|A\nabla f^{*}(-A^{\mathrm{T}}z_{1})-A\nabla f^{*}(-A^{\mathrm{T}}z_{2})\|&\leqslant\frac{1}{\mu}\|A\|_{2}\|A^{\mathrm{T}}(z_{1}-z_{2})\|\leqslant\frac{\|A\|_{2}^{2}}{\mu}\|z_{1}-z_{2}\|\end{aligned} ∥A∇f∗(−ATz1)−A∇f∗(−ATz2)∥⩽μ1∥A∥2∥AT(z1−z2)∥⩽μ∥A∥22∥z1−z2∥
考虑在对偶问题上应用近似点梯度算法,每次迭代更新如下:
z k + 1 = p r o x t h ∗ ( z k + t A ∇ f ∗ ( − A T z k ) ) ( 8.5.4 ) z^{k+1}=\mathrm{prox}_{th^*}(z^k+tA\nabla f^*(-A^\mathrm{T}z^k))\qquad(8.5.4) zk+1=proxth∗(zk+tA∇