最优化学习笔记:无约束优化算法(3)

6.3 次梯度算法

上一节讨论了梯度下降法,使用该方法的前提为目标函数 f ( x ) f(x) f(x) 是一阶可微的。在实际应用中经常会遇到不可微的函数,对于这类函数我们无法在每个点处求出梯度,但往往它们的最优值都是在不可微点处取到的。为了能处理这种情形,这一节介绍次梯度算法。

回顾定义 2.21 (次梯度) 设 f f f 为适当凸函数, x x x 为定义域 d o m f \mathbf{dom}f domf 中的一点. 若向量 g ∈ R n g\in\mathbb{R}^n gRn 满足
f ( y ) ⩾ f ( x ) + g T ( y − x ) , ∀ y ∈ d o m f , f(y)\geqslant f(x)+g^\mathrm{T}(y-x),\quad\forall y\in\mathbf{dom}f, f(y)f(x)+gT(yx),ydomf,

则称 g g g 为函数 f f f 在点 x x x 处的一个次梯度,进一步地,称集合
∂ f ( x ) = { g   ∣   g ∈ R n , f ( y ) ⩾ f ( x ) + g T ( y − x ) , ∀ y ∈ dom   f } \partial f(x)=\{g\:|\:g\in\mathbb{R}^n,f(y)\geqslant f(x)+g^\text{T}(y-x),\forall y\in\textbf{dom}\:f\} f(x)={ggRn,f(y)f(x)+gT(yx),ydomf}

f f f 在点 x x x 处的次微分.

6.3.1 次梯度算法结构

在问题 min ⁡ x ∈ R n f ( x ) \min_{x\in\mathbb{R}^{n}}f(x) minxRnf(x) 中假设 f ( x ) f(x) f(x) 为凸函数,但不一定可微。对凸函数可以在定义域的内点处定义次梯度 g ∈ ∂ f ( x ) g\in\partial f(x) gf(x)。为了极小化一个不可微的凸函数 f f f,可类似梯度法构造如下次梯度算法的迭代格式:
x k + 1 = x k − α k g k , g k ∈ ∂ f ( x k ) ( 6.3.1 ) x^{k+1}=x^{k}-\alpha_{k}g^{k},\quad g^{k}\in\partial f(x^{k})\qquad(6.3.1) xk+1=xkαkgk,gkf(xk)(6.3.1)

其中 α k > 0 \alpha_k>0 αk>0 为步长。它通常有如下四种选择:
(1) 固定步长 α k = α \alpha_k=\alpha αk=α
(2) 固定 ∥ x k + 1 − x k ∥ \|x^{k+1}-x^k\| xk+1xk,即 α k ∥ g k ∥ \alpha_k\|g^k\| αkgk 为常数;
(3) 消失步长 α k → 0 \alpha_k\to 0 αk0 ∑ k = 0 ∞ α k = + ∞ \displaystyle\sum_{k=0}^{\infty}\alpha_k=+\infty k=0αk=+
(4) 选取 α k \alpha_k αk 使其满足某种线搜索准则。

步长选取在次梯度法中的影响非常大,下面将讨论在不同步长取法下次梯度算法的收敛性质。

6.3.2 收敛性分析

本小节讨论次梯度算法的收敛性。首先我们列出 f ( x ) f(x) f(x) 所要满足的基本假设。

假设 6.1 对无约束优化问题 min ⁡ x ∈ R n f ( x ) \min_{x\in\mathbb{R}^{n}} f(x) minxRnf(x),目标函数 f ( x ) f(x) f(x) 满足:
(1) f f f 为凸函数;
(2) f f f 至少存在一个有限的极小值点 x ∗ x^* x,且 f ( x ∗ ) > − ∞ f(x^*)>-\infty f(x)>
(3) f f f 为利普希茨连续的,即
∣ f ( x ) − f ( y ) ∣ ⩽ G ∥ x − y ∥ , ∀   x , y ∈ R n \begin{aligned}|f(x)-f(y)|\leqslant G\|x-y\|,\quad\forall\:x,y\in\mathbb{R}^n\end{aligned} f(x)f(y)Gxy,x,yRn

其中 G > 0 G>0 G>0 为利普希茨常数.

对于次梯度算法,我们假设 f ( x ) f(x) f(x) 本身是利普希茨连续的,这等价于 f ( x ) f(x) f(x) 的次梯度有界。实际上有如下引理:

引理 6.2 f ( x ) f(x) f(x) 为凸函数,则 f ( x ) f(x) f(x) 是 G-利普希茨连续的当且仅当 f ( x ) f(x) f(x) 的次梯度是有界的,即
∥ g ∥ ⩽ G , ∀   g ∈ ∂ f ( x ) , x ∈ R n . \lVert g\rVert\leqslant G,\quad\forall\:g\in\partial f(x),x\in\mathbb{R}^n. gG,gf(x),xRn.

证明.
先证充分性. 假设对任意次梯度 g g g 都有 ∥ g ∥ ⩽ G \|g\|\leqslant G gG, 取 g y ∈ ∂ f ( y ) , g x ∈ ∂ f ( x ) g_y\in\partial f(y),g_{x}\in\partial f(x) gyf(y),gxf(x), 由次梯度的定义得出
g x T ( x − y ) ⩾ f ( x ) − f ( y ) ⩾ g y T ( x − y ) . g_{x}^{\mathrm{T}}(x-y)\geqslant f(x)-f(y)\geqslant g_{y}^{\mathrm{T}}(x-y). gxT(xy)f(x)f(y)gyT(xy).

再由柯西不等式,
g x T ( x − y ) ⩽ ∥ g x ∥ ∥ x − y ∥ ⩽ G ∥ x − y ∥ , g y T ( x − y ) ⩾ − ∥ g y ∥ ∥ x − y ∥ ⩾ − G ∥ x − y ∥ . \begin{aligned}g_x^\mathrm{T}(x-y)&\leqslant\|g_x\|\|x-y\|\leqslant G\|x-y\|,\\g_y^\mathrm{T}(x-y)&\geqslant-\|g_y\|\|x-y\|\geqslant-G\|x-y\|.\end{aligned} gxT(xy)gyT(xy)gx∥∥xyGxy,gy∥∥xyGxy∥.

结合上面两个不等式最终有
∣ f ( x ) − f ( y ) ∣ ⩽ G ∥ x − y ∥ . \begin{aligned}|f(x)-f(y)|\leqslant G\|x-y\|.\end{aligned} f(x)f(y)Gxy∥.

再证必要性. 设 f ( x ) f(x) f(x) 是 G-利普希茨连续的,反设存在 x x x g ∈ ∂ f ( x ) g\in\partial f(x) gf(x) 使得 ∥ g ∥ > G \|g\|>G g>G, 取 y = x + g ∥ g ∥ y=x+\frac{g}{\|g\|} y=x+gg, 则根据次梯度的定义,
f ( y ) ⩾ f ( x ) + g T ( y − x ) = f ( x ) + ∥ g ∥ > f ( x ) + G , \begin{gathered} f(y) \geqslant f(x)+g^{\mathrm{T}}(y-x)=f(x)+\|g\|>f(x)+G, \end{gathered} f(y)f(x)+gT(yx)=f(x)+g>f(x)+G,

这与 f ( x ) f(x) f(x) G G G-利普希茨连续的矛盾,因此必要性成立. 得证.

1. 不同步长下的收敛性
次梯度法不是一个下降方法,即无法保证 f ( x k + 1 ) < f ( x k ) f(x^{k+1})<f(x^k) f(xk+1)<f(xk), 收敛性分析的关键是分析 f ( x ) f(x) f(x) 历史迭代的最优点所满足的性质. 实际上有如下定理。

定理 6.5 (次梯度算法的收敛性) 在假设 6.1 的条件下,设 { α k > 0 } \{\alpha_k>0\} {αk>0} 为任意步长序列, { x k } \{x^k\} {xk} 是由算法 (6.3.1) 产生的迭代序列,则对任意的 k ⩾ 0 k\geqslant 0 k0,有
2 ( ∑ i = 0 k α i ) ( f ^ k − f ∗ ) ⩽ ∥ x 0 − x ∗ ∥ 2 + ∑ i = 0 k α i 2 G 2 ( 6.3.2 ) 2\left(\sum_{i=0}^k\alpha_i\right)(\hat{f}^k-f^*)\leqslant\|x^0-x^*\|^2+\sum_{i=0}^k\alpha_i^2G^2\qquad(6.3.2) 2(i=0kαi)(f^kf)x0x2+i=0kαi2G2(6.3.2)

其中 x ∗ x^* x f ( x ) f(x) f(x) 的一个全局极小值点, f ∗ = f ( x ∗ ) , f ^ k f^*=f(x^*),\hat{f}^k f=f(x),f^k 为前 k k k 次迭代 f ( x ) f(x) f(x) 的最小值,即
f ^ k = min ⁡ 0 ⩽ i ⩽ k f ( x i ) . \hat{f}^{k}=\operatorname*{min}_{0\leqslant i\leqslant k}f(x^{i}). f^k=0ikminf(xi).

证明. 该证明的关键是估计迭代点 x k x^k xk 与最小值点 x ∗ x^* x 之间的距离满足的关系.
根据迭代格式 x k + 1 = x k − α k g k , g k ∈ ∂ f ( x k ) x^{k+1}=x^{k}-\alpha_{k}g^{k},\quad g^{k}\in\partial f(x^{k}) xk+1=xkαkgk,gkf(xk), 有
∥ x i + 1 − x ∗ ∥ 2 = ∥ x i − α i g i − x ∗ ∥ 2 = ∥ x i − x ∗ ∥ 2 − 2 α i ⟨ g i , x i − x ∗ ⟩ + α i 2 ∥ g i ∥ 2 ⩽ ∥ x i − x ∗ ∥ 2 − 2 α i ( f ( x i ) − f ∗ ) + α i 2 G 2 . ( 6.3.3 ) \begin{aligned} \|x^{i+1}-x^{*}\|^{2}& =\|x^{i}-\alpha_{i}g^{i}-x^{*}\|^{2} \\ &=\|x^{i}-x^{*}\|^{2}-2\alpha_{i}\left\langle g^{i},x^{i}-x^{*}\right\rangle+\alpha_{i}^{2}\|g^{i}\|^{2} \\ &\leqslant\|x^{i}-x^{*}\|^{2}-2\alpha_{i}(f(x^{i})-f^{*})+\alpha_{i}^{2}G^{2}. \end{aligned}\qquad(6.3.3) xi+1x2=xiαigix2=xix22αigi,xix+αi2gi2xix22αi(f(xi)f)+αi2G2.(6.3.3)

这里最后一个不等式是根据次梯度的定义和 ∥ g i ∥ ⩽ G \|g^i\|\leqslant G giG. 将 (6.3.3) 式移项,等价于
2 α i ( f ( x i ) − f ∗ ) ⩽ ∥ x i − x ∗ ∥ 2 − ∥ x i + 1 − x ∗ ∥ 2 + α i 2 G 2 . ( 6.3.4 ) \begin{aligned}2\alpha_{i}(f(x^{i})-f^{*})\leqslant\|x^{i}-x^{*}\|^{2}-\|x^{i+1}-x^{*}\|^{2}+\alpha_{i}^{2}G^{2}.\end{aligned}\qquad(6.3.4) 2αi(f(xi)f)xix2xi+1x2+αi2G2.(6.3.4)

对(6.3.4)式两边关于 i i i 求和 (从 0 到 k k k), 有
2 ∑ i = 0 k α i ( f ( x i ) − f ∗ ) ⩽ ∥ x 0 − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 + G 2 ∑ i = 0 k α i 2 ⩽ ∥ x 0 − x ∗ ∥ 2 + G 2 ∑ i = 0 k α i 2 . \begin{gathered} 2\sum_{i=0}^{k}\alpha_{i}(f(x^{i})-f^{*}) \leqslant\|x^0-x^*\|^2-\|x^{k+1}-x^*\|^2+G^2\sum_{i=0}^k\alpha_i^2 \\ \leqslant\|x^{0}-x^{*}\|^{2}+G^{2}\sum_{i=0}^{k}\alpha_{i}^{2}. \end{gathered} 2i=0kαi(f(xi)f)x0x2xk+1x2+G2i=0kαi2x0x2+G2i=0kαi2.

根据 f ^ k \hat{f}^k f^k 的定义容易得出
∑ i = 0 k α i ( f ( x i ) − f ∗ ) ⩾ ( ∑ i = 0 k α i ) ( f ^ k − f ∗ ) . \sum_{i=0}^k\alpha_i(f(x^i)-f^*)\geqslant\left(\sum_{i=0}^k\alpha_i\right)(\hat{f}^k-f^*). i=0kαi(f(xi)f)(i=0kαi)(f^kf).
结合以上两式得证.

定理 6.5 揭示了次梯度算法的一些关键性质:次梯度算法的收敛性非常依赖于步长的选取;次梯度算法是非单调算法,可以配套非单调线搜索准则 (6.1.5) 和 (6.1.6) 一起使用。根据定理 6.5 可以直接得到不同步长取法下次梯度算法的收敛性。

推论 6.2 在假设 6.1 的条件下,次梯度算法的收敛性满足 ( f ^ k \hat{f}^k f^k 的定义和定理 6.5 中的定义相同):
(1) 取 α i = t \alpha_i=t αi=t 为固定步长,则
f ^ k − f ∗ ⩽ ∥ x 0 − x ∗ ∥ 2 2 k t + G 2 t 2 \hat{f}^{k}-f^{*}\leqslant\frac{\|x^{0}-x^{*}\|^{2}}{2kt}+\frac{G^{2}t}{2} f^kf2ktx0x2+2G2t

(2) 取 α i \alpha_i αi 使得 ∥ x i + 1 − x i ∥ \|x^{i+1}-x^i\| xi+1xi 固定,即 α i ∥ g i ∥ = s \alpha_i\|g^i\|=s αigi=s 为常数,则
f ^ k − f ∗ ⩽ G ∥ x 0 − x ∗ ∥ 2 2 k s + G s 2 \hat{f}^k-f^*\leqslant\frac{G\|x^0-x^*\|^2}{2ks}+\frac{Gs}2 f^kf2ksGx0x2+2Gs

(3) 取 α i \alpha_i αi 为消失步长,即 α i → 0 \alpha_i\to 0 αi0 ∑ i = 0 ∞ α i = + ∞ \displaystyle\sum_{i=0}^\infty\alpha_i=+\infty i=0αi=+,则
f ^ k − f ∗ ⩽ ∥ x 0 − x ∗ ∥ 2 + G 2 ∑ i = 0 k α i 2 2 ∑ i = 0 k α i \hat{f}^k-f^*\leqslant\frac{\|x^0-x^*\|^2+G^2\displaystyle\sum_{i=0}^k\alpha_i^2}{2\displaystyle\sum_{i=0}^k\alpha_i} f^kf2i=0kαix0x2+G2i=0kαi2

进一步可得 f ^ k \hat{f}^k f^k 收敛到 f ∗ . f^*. f.

从推论 6.2 可以看到,和梯度法不同,只有当 α k \alpha_k αk 取消失步长时 f ^ k \hat{f}^k f^k 才具有收敛性。一个常用的取法是 α k = 1 k \alpha_k=\frac{1}{k} αk=k1 这样不但可以保证其为消失步长,还可以保证 ∑ i = 0 ∞ α i 2 \displaystyle\sum_{i=0}^{\infty}\alpha_i^2 i=0αi2 有界。

2. 收敛速度和步长的关系
在推论 6.2 中,通过适当选取步长 α i \alpha_i αi 可以获得对应次梯度算法的收敛速度。假设 ∥ x 0 − x ∗ ∥ ⩽ R \|x^0-x^*\|\leqslant R x0xR,即初值和最优解之间的距离有上界,并且总迭代步数 k k k 是给定的,根据推论 6.2 的第一个结论,
f ^ k − f ∗ ⩽ ∥ x 0 − x ∗ ∥ 2 2 k t + G 2 t 2 ⩽ R 2 2 k t + G 2 t 2 \hat{f}^k-f^*\leqslant\frac{\lVert x^0-x^*\rVert^2}{2kt}+\frac{G^2t}{2}\leqslant\frac{R^2}{2kt}+\frac{G^2t}{2} f^kf2ktx0x2+2G2t2ktR2+2G2t

在固定步长下,由平均值不等式得知当 t t t 满足

R 2 2 k t = G 2 t 2 , 即  t = R G k \frac{R^2}{2kt}=\frac{G^2t}{2},\quad\text{即 }t=\frac{R}{G\sqrt{k}} 2ktR2=2G2t, t=Gk R

时,右端达到最小,k 步后得到的上界是
f ^ k − f ∗ ⩽ G R k \hat{f}^k-f^*\leqslant\frac{GR}{\sqrt{k}} f^kfk GR

以上分析表明要使得目标函数值达到 ε \varepsilon ε 的精度,即 f ^ k − f ∗ ⩽ ε \hat{f}^k-f^*\leqslant\varepsilon f^kfε,必须取迭代步数 k = O ( 1 ε 2 ) k=\mathcal{O}\left(\displaystyle\frac{1}{\varepsilon^2}\right) k=O(ε21) 且固定步长 α k \alpha_k αk 要满足 t = O ( 1 k ) t=\mathcal{O}\left(\displaystyle\frac{1}{\sqrt{k}}\right) t=O(k 1)。这里的固定步长依赖于最大迭代步数。从上面的取法中还可以看出对于满足假设 6.1 的函数 f f f,最大迭代步数可以作为判定迭代点是否最优的一个终止准则。
类似地,根据推论 6.2 的第二个结论以及平均值不等式,在固定 ∥ x i + 1 − \|x^{i+1}- xi+1 x i ∥ x^i\| xi 的条件下可以取 s = R k s=\displaystyle\frac{R}{\sqrt{k}} s=k R,同样会得到估计
f ^ k − f ∗ ⩽ G R k \hat{f}^k-f^*\leqslant\frac{GR}{\sqrt{k}} f^kfk GR

如果我们知道 f ( x ) f(x) f(x) 的更多信息,则可以利用这些信息来选取步长。例如在某些应用中可预先知道 f ∗ f^* f 的值 (但不知道最小值点),根据 (6.3.3) 式当

α i = f ( x i ) − f ∗ ∥ g i ∥ 2 \alpha_i=\frac{f(x^i)-f^*}{\|g^i\|^2} αi=gi2f(xi)f

时,不等式右侧达到极小,这等价于

( f ( x i ) − f ∗ ) 2 ∥ g i ∥ 2 ⩽ ∥ x i − x ∗ ∥ 2 − ∥ x i + 1 − x ∗ ∥ 2 \frac{(f(x^i)-f^*)^2}{\|g^i\|^2}\leqslant\|x^i-x^*\|^2-\|x^{i+1}-x^*\|^2 gi2(f(xi)f)2xix2xi+1x2

递归地利用上式并结合 ∥ x 0 − x ∗ ∥ ⩽ R \|x^0-x^*\|\leqslant R x0xR ∥ g i ∥ ⩽ G \|g^i\|\leqslant G giG,可以得到

f ^ k − f ∗ ⩽ G R k \hat{f}^k-f^*\leqslant\frac{GR}{\sqrt{k}} f^kfk GR

注意,此时步长的选取已经和最大迭代数无关,它仅仅依赖于当前点处的函数值与最优值的差和次梯度模长。

参考教材:《最优化:建模、算法与理论》
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值