跳转至

梯度方法

本页讨论用负梯度方向搜索极小点的一类迭代算法。前半部分是算法本身(最速下降法、固定步长法),后半部分是整门课最有分量的理论:用一个统一的量 \(\gamma_k\) 刻画每步的下降比例,由此一揽子回答"收敛吗?多快?步长怎么选?"。

核心结论速览

针对二次型目标 \(f(\boldsymbol{x}) = \frac{1}{2} \boldsymbol{x}^\top \boldsymbol{Q} \boldsymbol{x} - \boldsymbol{b}^\top \boldsymbol{x}\)(\(\boldsymbol{Q} = \boldsymbol{Q}^\top \succ 0\),极小点 \(\boldsymbol{x}^* = \boldsymbol{Q}^{-1} \boldsymbol{b}\),记 \(\boldsymbol{g}^{(k)} = \nabla f(\boldsymbol{x}^{(k)}) = \boldsymbol{Q}\boldsymbol{x}^{(k)} - \boldsymbol{b}\)):

结论 内容
迭代格式 \(\boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} - \alpha_k \boldsymbol{g}^{(k)}\)
最速下降步长(二次型闭式解) \(\alpha_k = \dfrac{\boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)}}{\boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)}}\)
收敛判据(\(\gamma_k > 0\) 时) 全局收敛 \(\iff \sum_{k=0}^{\infty} \gamma_k = \infty\)
最速下降法 全局收敛(\(\gamma_k \ge \lambda_{\min}/\lambda_{\max} > 0\))
固定步长法 全局收敛 \(\iff 0 < \alpha < \dfrac{2}{\lambda_{\max}(\boldsymbol{Q})}\)
收敛速度 \(V(\boldsymbol{x}^{(k+1)}) \le \left(1 - \frac{1}{r}\right) V(\boldsymbol{x}^{(k)})\),\(r = \dfrac{\lambda_{\max}}{\lambda_{\min}}\) 为条件数
收敛阶数 最速下降法最坏情形仅一阶(线性)收敛;条件数越大锯齿越严重、越慢

为什么沿负梯度走

由数学预备知识中的柯西–施瓦茨不等式,单位方向 \(\boldsymbol{d}\) 上的增长率满足

\[ \frac{\partial f}{\partial \boldsymbol{d}}(\boldsymbol{x}) = \langle \nabla f(\boldsymbol{x}), \boldsymbol{d} \rangle \le \lVert \nabla f(\boldsymbol{x}) \rVert \]

且 \(\boldsymbol{d} = \nabla f / \lVert \nabla f \rVert\) 时取等——梯度方向是增长最快的方向,负梯度方向就是下降最快的方向。沿 \(-\nabla f\) 走一小步,由泰勒定理:

\[ f\big(\boldsymbol{x} - \alpha \nabla f(\boldsymbol{x})\big) = f(\boldsymbol{x}) - \alpha \lVert \nabla f(\boldsymbol{x}) \rVert^2 + o(\alpha) \]

只要 \(\nabla f(\boldsymbol{x}) \ne \boldsymbol{0}\) 且 \(\alpha > 0\) 足够小,函数值必然下降。由此得到梯度(下降)方法的通用迭代格式:

\[ \boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} - \alpha_k \nabla f(\boldsymbol{x}^{(k)}) \]

不同的步长策略 \(\alpha_k\) 对应不同算法,最常用的是下面的最速下降法。

最速下降法

最速下降法每步沿负梯度方向做精确一维搜索,把当前方向上的好处吃干榨净:

\[ \alpha_k = \operatorname*{argmin}_{\alpha \ge 0} f\big(\boldsymbol{x}^{(k)} - \alpha \nabla f(\boldsymbol{x}^{(k)})\big) \]

两条基本性质:

命题(相邻搜索方向正交)

最速下降法产生的迭代点满足:\(\boldsymbol{x}^{(k+1)} - \boldsymbol{x}^{(k)}\) 与 \(\boldsymbol{x}^{(k+2)} - \boldsymbol{x}^{(k+1)}\) 正交。

证明

\(\alpha_k\) 是 \(\phi_k(\alpha) = f(\boldsymbol{x}^{(k)} - \alpha \nabla f(\boldsymbol{x}^{(k)}))\) 的极小点(内点),由 FONC 和链式法则:

\[ 0 = \phi_k'(\alpha_k) = -\nabla f(\boldsymbol{x}^{(k+1)})^\top \nabla f(\boldsymbol{x}^{(k)}) \]

即相邻两步的梯度正交,而迭代位移与梯度共线,故位移也正交。\(\blacksquare\)

几何上:精确搜索停在"当前方向与新等高线相切"处,下一步的负梯度垂直于等高线,于是路径呈直角拐弯——这正是后面"锯齿现象"的根源。

命题(下降性)

只要 \(\nabla f(\boldsymbol{x}^{(k)}) \ne \boldsymbol{0}\),就有 \(f(\boldsymbol{x}^{(k+1)}) < f(\boldsymbol{x}^{(k)})\)。

证明

\(\phi_k'(0) = -\lVert \nabla f(\boldsymbol{x}^{(k)}) \rVert^2 < 0\),故存在 \(\bar{\alpha} > 0\) 使 \(\phi_k(\bar{\alpha}) < \phi_k(0)\);而 \(\alpha_k\) 是极小点,\(f(\boldsymbol{x}^{(k+1)}) = \phi_k(\alpha_k) \le \phi_k(\bar{\alpha}) < f(\boldsymbol{x}^{(k)})\)。\(\blacksquare\)

若某步 \(\nabla f(\boldsymbol{x}^{(k)}) = \boldsymbol{0}\),则 \(\boldsymbol{x}^{(k)}\) 已满足 FONC,迭代停在原地。数值计算中梯度很难恰好为零,实用的停止规则有:

  • 梯度范数:\(\lVert \nabla f(\boldsymbol{x}^{(k)}) \rVert < \varepsilon\);
  • 绝对变化:\(|f(\boldsymbol{x}^{(k+1)}) - f(\boldsymbol{x}^{(k)})| < \varepsilon\) 或 \(\lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^{(k)} \rVert < \varepsilon\);
  • 相对变化(量纲无关,更常用):\(\dfrac{|f(\boldsymbol{x}^{(k+1)}) - f(\boldsymbol{x}^{(k)})|}{\max\{1, |f(\boldsymbol{x}^{(k)})|\}} < \varepsilon\) 或 \(\dfrac{\lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^{(k)} \rVert}{\max\{1, \lVert \boldsymbol{x}^{(k)} \rVert\}} < \varepsilon\)(分母取 \(\max\{1, \cdot\}\) 防止除以过小的数)。

例:最速下降法三步到达极小点

用最速下降法求 \(f(x_1, x_2, x_3) = (x_1 - 4)^4 + (x_2 - 3)^2 + 4(x_3 + 5)^4\) 的极小点,初始点 \(\boldsymbol{x}^{(0)} = (4, 2, -1)^\top\)。

解答

\(\nabla f(\boldsymbol{x}) = \big( 4(x_1 - 4)^3,\ 2(x_2 - 3),\ 16(x_3 + 5)^3 \big)^\top\)。每步用割线法做一维搜索定步长:

\(k\) \(\nabla f(\boldsymbol{x}^{(k)})\) \(\alpha_k\) \(\boldsymbol{x}^{(k+1)}\)
0 \((0, -2, 1024)^\top\) \(0.003967\) \((4.000, 2.008, -5.062)^\top\)
1 \((0.000, -1.984, -0.003875)^\top\) \(0.5\) \((4.000, 3.000, -5.060)^\top\)
2 \((0.000, 0.000, -0.003525)^\top\) \(16.29\) \((4.000, 3.000, -5.002)^\top\)

三步就逼近了真实极小点 \((4, 3, -5)^\top\)。但这只是个例——课件特别强调,千万不要由此得出关于最速下降法迭代次数的任何一般结论。

二次型目标下的显式步长

收敛理论都在二次型目标上展开(任何光滑函数在极小点附近都近似于二次型,所以这并不失代表性):

\[ f(\boldsymbol{x}) = \frac{1}{2} \boldsymbol{x}^\top \boldsymbol{Q} \boldsymbol{x} - \boldsymbol{b}^\top \boldsymbol{x}, \qquad \boldsymbol{Q} = \boldsymbol{Q}^\top \succ 0 \]

由矩阵微分公式,\(\nabla f(\boldsymbol{x}) = \boldsymbol{Q}\boldsymbol{x} - \boldsymbol{b}\),黑塞矩阵 \(\boldsymbol{F} = \boldsymbol{Q} \succ 0\),唯一极小点为 \(\boldsymbol{x}^* = \boldsymbol{Q}^{-1} \boldsymbol{b}\)。记 \(\boldsymbol{g}^{(k)} = \boldsymbol{Q}\boldsymbol{x}^{(k)} - \boldsymbol{b}\),对 \(\phi_k(\alpha)\) 用 FONC 可解出步长的闭式解,最速下降法成为完全显式的迭代:

\[ \boxed{\ \boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} - \frac{\boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)}}{\boldsymbol{g}^{(k)\top} \boldsymbol{Q}\, \boldsymbol{g}^{(k)}}\, \boldsymbol{g}^{(k)}\ } \]

锯齿现象:对 \(f = x_1^2 + x_2^2\)(等高线是圆),任意初始点一步到达极小点;而对 \(f = \frac{x_1^2}{5} + x_2^2\)(狭长椭圆),迭代路径在谷底两侧来回直角折返、形成锯齿,效率很低。等高线越"扁",锯齿越严重——下文用条件数把这件事定量化。

收敛性分析框架

先约定术语:

  • 全局收敛:任意初始点出发,迭代序列都收敛到满足 FONC 的点;
  • 局部收敛:仅当初始点离极小点足够近时才收敛;
  • 收敛率 / 收敛阶:衡量收敛速度的指标。

分析的中心工具是把目标函数平移成非负函数

\[ V(\boldsymbol{x}) = f(\boldsymbol{x}) + \frac{1}{2} \boldsymbol{x}^{*\top} \boldsymbol{Q} \boldsymbol{x}^* = \frac{1}{2} (\boldsymbol{x} - \boldsymbol{x}^*)^\top \boldsymbol{Q} (\boldsymbol{x} - \boldsymbol{x}^*) \]

它与 \(f\) 只差常数、同极小点,且 \(V(\boldsymbol{x}) = 0 \iff \boldsymbol{x} = \boldsymbol{x}^*\),可当作"到最优解的加权距离平方"。

引理(每步下降比例 \(\gamma_k\))

对一般梯度迭代 \(\boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} - \alpha_k \boldsymbol{g}^{(k)}\),有

\[ V(\boldsymbol{x}^{(k+1)}) = (1 - \gamma_k)\, V(\boldsymbol{x}^{(k)}) \]

其中 \(\boldsymbol{g}^{(k)} = \boldsymbol{0}\) 时 \(\gamma_k = 1\);否则

\[ \gamma_k = \alpha_k\, \frac{\boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)}}{\boldsymbol{g}^{(k)\top} \boldsymbol{Q}^{-1} \boldsymbol{g}^{(k)}} \left( 2\, \frac{\boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)}}{\boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)}} - \alpha_k \right) \]
证明

记 \(\boldsymbol{y}^{(k)} = \boldsymbol{x}^{(k)} - \boldsymbol{x}^*\),展开二次型:

\[ V(\boldsymbol{x}^{(k+1)}) = \frac{1}{2} \big( \boldsymbol{y}^{(k)} - \alpha_k \boldsymbol{g}^{(k)} \big)^\top \boldsymbol{Q} \big( \boldsymbol{y}^{(k)} - \alpha_k \boldsymbol{g}^{(k)} \big) = \frac{1}{2} \boldsymbol{y}^{(k)\top} \boldsymbol{Q} \boldsymbol{y}^{(k)} - \alpha_k \boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{y}^{(k)} + \frac{\alpha_k^2}{2} \boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)} \]

关键代换:\(\boldsymbol{g}^{(k)} = \boldsymbol{Q}\boldsymbol{x}^{(k)} - \boldsymbol{Q}\boldsymbol{x}^* = \boldsymbol{Q} \boldsymbol{y}^{(k)}\),于是 \(\boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{y}^{(k)} = \boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)}\),\(\boldsymbol{y}^{(k)\top} \boldsymbol{Q} \boldsymbol{y}^{(k)} = \boldsymbol{g}^{(k)\top} \boldsymbol{Q}^{-1} \boldsymbol{g}^{(k)}\)。代入 \(\frac{V(\boldsymbol{x}^{(k)}) - V(\boldsymbol{x}^{(k+1)})}{V(\boldsymbol{x}^{(k)})}\) 整理即得 \(\gamma_k\) 的表达式。\(\blacksquare\)

由 \(V \ge 0\) 知 \(\gamma_k \le 1\) 恒成立;\(\gamma_k = 1\) 表示一步命中 \(\boldsymbol{x}^*\),当且仅当 \(\boldsymbol{g}^{(k)} = \boldsymbol{0}\) 或 \(\boldsymbol{g}^{(k)}\) 是 \(\boldsymbol{Q}\) 的特征向量(此时负梯度恰好指向 \(\boldsymbol{x}^*\))。

定理(收敛的充要条件)

设对所有 \(k\) 都有 \(\gamma_k > 0\),则任意初始点下 \(\boldsymbol{x}^{(k)} \to \boldsymbol{x}^*\) 的充要条件为

\[ \sum_{k=0}^{\infty} \gamma_k = \infty \]
证明

\(V(\boldsymbol{x}^{(k)}) = \prod_{i=0}^{k-1} (1 - \gamma_i)\, V(\boldsymbol{x}^{(0)})\),而 \(\boldsymbol{x}^{(k)} \to \boldsymbol{x}^* \iff V(\boldsymbol{x}^{(k)}) \to 0 \iff \prod (1 - \gamma_i) = 0 \iff \sum -\ln(1 - \gamma_i) = \infty\)。

充分性:由 \(\ln x \le x - 1\) 得 \(-\ln(1 - \gamma_k) \ge \gamma_k\),故 \(\sum \gamma_k = \infty\) 时对数级数发散。

必要性(反证):若 \(\sum \gamma_k < \infty\) 则 \(\gamma_k \to 0\);当 \(x\) 接近 1 时 \(\ln x \ge 2(x - 1)\),故 \(i\) 足够大时 \(-\ln(1 - \gamma_i) \le 2\gamma_i\),对数级数收敛,矛盾。\(\blacksquare\)

直觉:每步至少要"咬下"一定比例,且这些比例加起来必须发散——若 \(\gamma_k\) 衰减太快(如 \(\sum \gamma_k < \infty\)),即使每步都在下降,总进度也会停在半路(见下文典型例题)。

易错点:\(\gamma_k > 0\) 的假设不能丢

\(\gamma_k > 0\) 对应下降性。若允许某些 \(\gamma_k \le 0\)(函数值可以反弹),存在反例:取 \(\gamma_{2k} = -\frac{1}{2}, \gamma_{2k+1} = \frac{1}{2}\),则 \(V(\boldsymbol{x}^{(2(k+1))}) = \frac{3}{4} V(\boldsymbol{x}^{(2k)}) \to 0\),迭代收敛但 \(\sum \gamma_k < \infty\)——定理的"必要性"方向失效。

还需要一个把 \(\gamma_k\) 与特征值挂钩的不等式(由瑞利不等式直接推出):

\[ \frac{\lambda_{\min}(\boldsymbol{Q})}{\lambda_{\max}(\boldsymbol{Q})} \le \frac{\big( \boldsymbol{x}^\top \boldsymbol{x} \big)^2}{\big( \boldsymbol{x}^\top \boldsymbol{Q} \boldsymbol{x} \big) \big( \boldsymbol{x}^\top \boldsymbol{Q}^{-1} \boldsymbol{x} \big)} \le \frac{\lambda_{\max}(\boldsymbol{Q})}{\lambda_{\min}(\boldsymbol{Q})} \]

最速下降法全局收敛

定理(最速下降法的全局收敛性)

最速下降法对任意初始点 \(\boldsymbol{x}^{(0)}\) 都有 \(\boldsymbol{x}^{(k)} \to \boldsymbol{x}^*\)。

证明

把最速下降步长 \(\alpha_k = \frac{\boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)}}{\boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)}}\) 代入 \(\gamma_k\) 的公式,化简得

\[ \gamma_k = \frac{\big( \boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)} \big)^2}{\big( \boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)} \big) \big( \boldsymbol{g}^{(k)\top} \boldsymbol{Q}^{-1} \boldsymbol{g}^{(k)} \big)} \ge \frac{\lambda_{\min}(\boldsymbol{Q})}{\lambda_{\max}(\boldsymbol{Q})} > 0 \]

\(\gamma_k\) 有正的一致下界,\(\sum \gamma_k = \infty\),由收敛充要条件定理即得全局收敛。\(\blacksquare\)

固定步长梯度法

固定步长法取 \(\alpha_k \equiv \alpha\),免去一维搜索,简单实用,但收敛与否完全取决于 \(\alpha\):

定理(固定步长的收敛充要条件)

固定步长梯度法 \(\boldsymbol{x}^{(k)} \to \boldsymbol{x}^*\)(任意初始点)的充要条件为

\[ 0 < \alpha < \frac{2}{\lambda_{\max}(\boldsymbol{Q})} \]
证明

充分性:用瑞利不等式放缩 \(\gamma_k\) 公式中的两个二次型,得

\[ \gamma_k \ge \alpha\, \lambda_{\min}(\boldsymbol{Q})^2 \left( \frac{2}{\lambda_{\max}(\boldsymbol{Q})} - \alpha \right) > 0 \]

为不依赖 \(k\) 的正常数,\(\sum \gamma_k = \infty\),收敛。

必要性(反证):设 \(\alpha\) 出界。取初始点使 \(\boldsymbol{x}^{(0)} - \boldsymbol{x}^*\) 恰为 \(\lambda_{\max}\) 对应的特征向量,则迭代误差有显式表达式

\[ \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^* = (\boldsymbol{I} - \alpha \boldsymbol{Q})^{k+1} (\boldsymbol{x}^{(0)} - \boldsymbol{x}^*) = \big( 1 - \alpha \lambda_{\max} \big)^{k+1} (\boldsymbol{x}^{(0)} - \boldsymbol{x}^*) \]

\(\alpha \le 0\) 或 \(\alpha \ge 2/\lambda_{\max}\) 时 \(|1 - \alpha \lambda_{\max}| \ge 1\),误差范数不衰减,不收敛,矛盾。\(\blacksquare\)

直觉:沿最"陡"的特征方向(\(\lambda_{\max}\)),一步的"修正系数"是 \(1 - \alpha \lambda_{\max}\);步长太大就会在谷两侧越跳越远。

例:确定固定步长的取值范围

用固定步长梯度法求 \(f(\boldsymbol{x}) = \boldsymbol{x}^\top \begin{bmatrix} 4 & 2\sqrt{2} \\ 0 & 5 \end{bmatrix} \boldsymbol{x} + \boldsymbol{x}^\top \begin{bmatrix} 3 \\ 6 \end{bmatrix} + 24\) 的极小点,求 \(\alpha\) 的范围。

解答

矩阵不对称,先对称化并配成标准二次型:

\[ f(\boldsymbol{x}) = \frac{1}{2} \boldsymbol{x}^\top \begin{bmatrix} 8 & 2\sqrt{2} \\ 2\sqrt{2} & 10 \end{bmatrix} \boldsymbol{x} + \boldsymbol{x}^\top \begin{bmatrix} 3 \\ 6 \end{bmatrix} + 24 \]

对称化后矩阵的特征值为 \(6\) 和 \(12\),故收敛范围为 \(0 < \alpha < \dfrac{2}{12} = \dfrac{1}{6}\)。

易错点:先对称化、再算特征值

题目给的二次型矩阵往往不对称。固定步长定理中的 \(\boldsymbol{Q}\) 是对称化并配上 \(\frac{1}{2}\) 系数后的黑塞矩阵——直接拿原矩阵算特征值会得到错误的步长范围。注意 \(\frac{1}{2} \boldsymbol{x}^\top \boldsymbol{Q} \boldsymbol{x}\) 的黑塞是 \(\boldsymbol{Q}\),而 \(\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}\) 的黑塞是 \(\boldsymbol{A} + \boldsymbol{A}^\top\)。

收敛速度:条件数与收敛阶

条件数决定每步下降比例

由最速下降法 \(\gamma_k \ge \lambda_{\min}/\lambda_{\max}\) 立得:

定理(最速下降法的线性收敛率)

\[ V(\boldsymbol{x}^{(k+1)}) \le \frac{\lambda_{\max}(\boldsymbol{Q}) - \lambda_{\min}(\boldsymbol{Q})}{\lambda_{\max}(\boldsymbol{Q})}\, V(\boldsymbol{x}^{(k)}) = \left( 1 - \frac{1}{r} \right) V(\boldsymbol{x}^{(k)}) \]

其中 \(r = \dfrac{\lambda_{\max}(\boldsymbol{Q})}{\lambda_{\min}(\boldsymbol{Q})} = \lVert \boldsymbol{Q} \rVert \lVert \boldsymbol{Q}^{-1} \rVert\) 称为 \(\boldsymbol{Q}\) 的条件数,\(1 - 1/r\) 称为收敛率。

  • \(r = 1\):等高线是圆,一步收敛;
  • \(r\) 越大:等高线越扁(离心率越大),收敛率越接近 1,锯齿越严重、收敛越慢。

这把"锯齿现象"完全定量化了:最速下降法的速度由黑塞矩阵的条件数决定。

收敛阶数

定义(收敛阶数)

设 \(\boldsymbol{x}^{(k)} \to \boldsymbol{x}^*\)。若

\[ 0 < \lim_{k \to \infty} \frac{\lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^* \rVert}{\lVert \boldsymbol{x}^{(k)} - \boldsymbol{x}^* \rVert^p} < \infty \]

则称序列的收敛阶数为 \(p\)(约定 \(0/0 = 0\);对所有 \(p\) 极限都为 0 时记阶数为 \(\infty\))。

情形 名称
\(p = 1\),极限 \(= 1\) 拟线性收敛
\(p = 1\),极限 \(< 1\) 线性收敛
\(p > 1\) 超线性收敛
\(p = 2\) 二次收敛

任何收敛序列的阶数不小于 1。阶数越高,逼近极小点的速度越快(误差的有效数字大致按 \(p\) 倍增长)。

几个标尺序列(课件例 8.5):

序列 极限 收敛阶数
\(x^{(k)} = 1/k\) \(0\) 1(线性/拟线性边界情形)
\(x^{(k)} = \gamma^k\)(\(0 < \gamma < 1\)) \(0\) 1(线性,比率 \(\gamma\))
\(x^{(k)} = \gamma^{\,q^k}\)(\(q > 1\)) \(0\) \(q\)(超线性)
常数列 \(x^{(k)} = 1\) \(1\) \(\infty\)

阶数与大 O 记号的关系(判阶最常用的手段):

  • \(\lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^* \rVert = O\big( \lVert \boldsymbol{x}^{(k)} - \boldsymbol{x}^* \rVert^p \big)\) \(\Rightarrow\) 阶数至少为 \(p\);
  • 换成 \(o(\cdot)\) \(\Rightarrow\) 阶数大于 \(p\);
  • 反向地,若存在 \(c > 0\) 使 \(\lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^* \rVert \ge c \lVert \boldsymbol{x}^{(k)} - \boldsymbol{x}^* \rVert^p\),则阶数至多为 \(p\)。

定理(最速下降法最坏情形一阶收敛)

最速下降法产生的收敛序列在最坏情况下收敛阶数为 1。

证明思路

只需构造初始点使 \(\lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^* \rVert \ge c \lVert \boldsymbol{x}^{(k)} - \boldsymbol{x}^* \rVert\) 对某 \(c > 0\) 恒成立。由瑞利不等式与 \(V(\boldsymbol{x}^{(k+1)}) = (1 - \gamma_k) V(\boldsymbol{x}^{(k)})\) 可得

\[ \lVert \boldsymbol{x}^{(k+1)} - \boldsymbol{x}^* \rVert \ge \sqrt{(1 - \gamma_k) \frac{\lambda_{\min}}{\lambda_{\max}}}\, \lVert \boldsymbol{x}^{(k)} - \boldsymbol{x}^* \rVert \]

于是只需保证 \(\gamma_k < 1\) 恒成立,即 \(\boldsymbol{g}^{(k)}\) 永远不是 \(\boldsymbol{Q}\) 的特征向量。取 \(\boldsymbol{x}^{(0)} - \boldsymbol{x}^*\) 落在两个特征向量 \(\boldsymbol{v}_1, \boldsymbol{v}_2\) 张成的平面内但不与任一特征向量共线;由 \(\boldsymbol{g}^{(k+1)} = (\boldsymbol{I} - \alpha_k \boldsymbol{Q}) \boldsymbol{g}^{(k)}\) 知整个梯度序列被困在 \(\operatorname{span}[\boldsymbol{v}_1, \boldsymbol{v}_2]\) 内且始终不是特征向量,证毕。\(\blacksquare\)

个别问题上可能更快(如下例的巧合二阶收敛),但一般只能指望线性收敛——这正是引入牛顿法的动机。

例:一个恰好二阶收敛的固定步长迭代

用固定步长法(\(\alpha = 1/2\),\(x^{(0)} = 1\))求 \(f(x) = x^2 - \frac{x^3}{3}\) 的极小点。

解答

\(f'(x) = 2x - x^2\),迭代式化为 \(x^{(k+1)} = x^{(k)} - \frac{1}{2}(2x^{(k)} - (x^{(k)})^2) = \frac{1}{2} (x^{(k)})^2\)。

递推得 \(x^{(k)} = \dfrac{1}{2^{2^k - 1}} \to 0\)(\(f\) 的局部极小点)。又 \(\dfrac{x^{(k+1)}}{(x^{(k)})^2} = \dfrac{1}{2}\),故收敛阶数为 2。这是步长恰好"凑成"平方迭代的巧合,不代表固定步长法的一般行为。

典型例题

例:用固定步长迭代解线性方程组

求 \(\boldsymbol{h}(\boldsymbol{x}) = \begin{bmatrix} 4 + 3x_1 + 2x_2 \\ 1 + 2x_1 + 3x_2 \end{bmatrix} = \boldsymbol{0}\) 的根,迭代式 \(\boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} - \alpha \boldsymbol{h}(\boldsymbol{x}^{(k)})\)。 (a) 直接求根;(b) 求保证全局收敛的 \(\alpha\) 最大范围;(c) \(\alpha\) 出界时给出破坏下降性的初始点(形如 \((x_1, 0)^\top\))。

解答

(a) \(\boldsymbol{h}(\boldsymbol{x}) = \boldsymbol{Q}\boldsymbol{x} + \boldsymbol{b}\),\(\boldsymbol{Q} = \begin{bmatrix} 3 & 2 \\ 2 & 3 \end{bmatrix}\),\(\boldsymbol{b} = (4, 1)^\top\),根为 \(\boldsymbol{x}^* = -\boldsymbol{Q}^{-1}\boldsymbol{b} = (-2, 1)^\top\)。

(b) \(\boldsymbol{Q}\) 的特征值:\(\det(\boldsymbol{Q} - \lambda \boldsymbol{I}) = (\lambda - 1)(\lambda - 5) = 0\),得 \(\lambda = 1, 5\)。由固定步长定理,\(0 < \alpha < \dfrac{2}{5}\)。

(c) 取 \(\boldsymbol{x}^{(0)} - \boldsymbol{x}^*\) 为 \(\lambda_{\max} = 5\) 的特征向量 \(c(1,1)^\top\):令 \(c = -1\),得 \(\boldsymbol{x}^{(0)} = (-1,-1)^\top + (-2,1)^\top \cdot\)(按分量相加)\(= (-3, 0)^\top\),满足题目形式。此时误差按 \(|1 - 5\alpha|^k\) 演化,\(\alpha\) 出界即不再衰减。

例:步长衰减太快——有下降性却不全局收敛

目标 \(f(x) = (x - 1)^2\),迭代式 \(x^{(k+1)} = x^{(k)} - \alpha 2^{-k} f'(x^{(k)})\),\(0 < \alpha < 1\)。该方法有下降性吗?全局收敛吗?

解答

此处 \(\boldsymbol{Q} = 2\)(一维),代入 \(\gamma_k\) 公式得 \(\gamma_k = 4 (\alpha 2^{-k})(1 - \alpha 2^{-k}) > 0\)——有下降性。但

\[ \sum_{k=0}^{\infty} \gamma_k = 4\alpha \sum 2^{-k} - 4\alpha^2 \sum 4^{-k} = 8\alpha - \frac{16}{3}\alpha^2 < \infty \]

由收敛充要条件,不全局收敛:步长 \(\alpha 2^{-k}\) 衰减太快,迭代在中途"耗尽了燃料"。这说明下降性是远弱于收敛性的性质。

例:带松弛系数的最速下降法

迭代式 \(\boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} - \beta \alpha_k \boldsymbol{g}^{(k)}\),其中 \(\alpha_k\) 是最速下降步长、\(\beta\) 为常数(\(\beta = 1\) 即最速下降法)。证明:收敛 \(\iff 0 < \beta < 2\)。

解答

代入 \(\gamma_k\) 公式化简:

\[ \gamma_k = \beta(2 - \beta)\, \frac{\big( \boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)} \big)^2}{\big( \boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)} \big) \big( \boldsymbol{g}^{(k)\top} \boldsymbol{Q}^{-1} \boldsymbol{g}^{(k)} \big)} \]

\(0 < \beta < 2\) 时 \(\gamma_k \ge \beta(2 - \beta) \frac{\lambda_{\min}}{\lambda_{\max}} > 0\) 有一致正下界,\(\sum \gamma_k = \infty\),收敛;\(\beta \le 0\) 或 \(\beta \ge 2\) 时 \(\gamma_k \le 0\),\(V\) 不再下降,不收敛。"精确步长可以整体缩放到 \((0, 2)\) 内"——与固定步长的 \(2/\lambda_{\max}\) 上界遥相呼应。

速查表

结论 公式 / 内容
二次型梯度 \(\nabla f = \boldsymbol{Q}\boldsymbol{x} - \boldsymbol{b}\),极小点 \(\boldsymbol{x}^* = \boldsymbol{Q}^{-1}\boldsymbol{b}\)
最速下降步长 \(\alpha_k = \dfrac{\boldsymbol{g}^{(k)\top} \boldsymbol{g}^{(k)}}{\boldsymbol{g}^{(k)\top} \boldsymbol{Q} \boldsymbol{g}^{(k)}}\)
下降比例 \(V(\boldsymbol{x}^{(k+1)}) = (1 - \gamma_k) V(\boldsymbol{x}^{(k)})\),\(\gamma_k \le 1\)
收敛充要条件(\(\gamma_k > 0\)) \(\sum \gamma_k = \infty\)
固定步长范围 \(0 < \alpha < 2 / \lambda_{\max}(\boldsymbol{Q})\)(充要)
松弛最速下降 \(\beta \alpha_k\) 形式收敛 \(\iff 0 < \beta < 2\)
收敛率 \(1 - 1/r\),\(r = \lambda_{\max}/\lambda_{\min}\)(条件数)
收敛阶 线性 \(p=1\)(极限 \(<1\))/ 超线性 \(p>1\) / 二次 \(p=2\);最速下降最坏为线性

易错点:

  • 二次型矩阵不对称时先对称化(\(\boldsymbol{Q}_0 = \frac{\boldsymbol{A} + \boldsymbol{A}^\top}{2}\))、注意 \(\frac{1}{2}\) 系数,再算特征值定步长范围;
  • 固定步长上界是 \(2/\lambda_{\max}\),不是 \(2/\lambda_{\min}\)——记"最陡方向最先发散";
  • 下降性 \(\ne\) 收敛性:每步都降但步长衰减过快(\(\sum \gamma_k < \infty\))照样停在半路;
  • 相邻梯度正交是精确一维搜索的产物,非精确步长下不成立;
  • 条件数大 → 等高线扁 → 锯齿 → 慢;这是问题本身的性质,换初始点救不了,要靠改变度量(牛顿法)或共轭方向来解决。