Skip to content

对应 note_6_gd.pdf。本章从理论转向数值算法,核心是收敛性证明——这套证明套路一旦掌握,就能解几乎所有 GD/Newton 类的题。

0. 一句话理解这一章 ​

梯度下降 = 在每一步用线性近似 + 二次惩罚来"小心翼翼地往下走";牛顿法 = 用二次近似精确跳到极小。算法的优劣由 (i) Lipschitz 常数 L、(ii) 强凸常数 μ、(iii) 条件数 κ=L/μ 决定。

1. 知识地图 ​

            梯度下降 (GD)
            ──────────────────────────────
            x_{k+1} = x_k − t_k ∇f(x_k)
                          │
                等价:min  f(x_k) + ∇f(x_k)^T(x − x_k) + 1/(2t)‖x−x_k‖²
                          │
            步长选择:
              - 常数 t < 2/L
              - 精确线搜索(zig-zag)
              - Armijo 回溯(最实用)
                          │
            收敛分析的两块基石:
              ① Lipschitz 梯度  →  二次上界 (Lemma 1.2)
              ② 充分下降引理 (Lemma 1.3)
                          │
            收敛率:
              - 一般非凸:min_i ‖∇f‖² 收敛 (Theorem 1.6)
              - 凸 + L-smooth:O(1/k) (Theorem 1.7)
              - μ-强凸 + L-smooth:(1 − μ/L)^k 线性 (Theorem 1.12)
                
                

            牛顿法 (Newton)
            ──────────────────────────────
            x_{k+1} = x_k − [∇²f(x_k)]^{-1} ∇f(x_k)
                          │
                等价:用二次模型最小化
                          │
            局部二次收敛 (Theorem 2.1):
              ‖x_{k+1} − x*‖ ≤ (L/2m)‖x_k − x*‖²
              
              

            其它二阶方法
            ──────────────────────────────
            damped Newton(带 Armijo)
            quasi-Newton(DFP, BFGS)—— 用 secant 方程拟合 Hessian
            trust region / cubic regularization
            Gauss-Newton / Levenberg-Marquardt(最小二乘专用)
            BB 方法(轻量级 GD with 自适应步长)

2. 梯度下降法 ​

2.1 基本迭代 ​

xk+1=xk−tk∇f(xk).

理解视角(邻近视角 / proximal view):

xk+1=arg⁡minxf(xk)+∇f(xk)T(x−xk)+12tk∥x−xk∥2.

"线性近似 + 二次惩罚" → "majorization minimization"——这正是为什么步长太大会发散,太小会很慢。

2.2 步长策略(要会区分) ​

策略公式优缺点
常数步长tk=α简单,但需要知道 L;要 α<2/L
精确线搜索tk=arg⁡mins≥0f(xk+spk)表面贪心,但易"zig-zag"
Armijo 回溯(最实用)见下不需要 L,鲁棒

Armijo 回溯:选 α∈(0,1/2)、β∈(0,1)、t0(常 1)。从 t=t0 开始,只要 f(xk+tpk)>f(xk)+αt∇f(xk)Tpk 就把 t 缩为 βt。

几何理解:右边是"目标函数沿 pk 方向倾斜了 α 倍下降量的直线"——只要 f 落在这条线下方就接受。

为什么 Armijo 一定终止:由一阶 Taylor,f(x+tp)=f(x)+t∇fTp+o(t)<f(x)+αt∇fTp 对于足够小 t 成立。

2.3 终止判据 ​

∥∇f(xk)∥≤ϵ、|f(xk+1)−f(xk)|≤ϵ、∥xk+1−xk∥≤ϵ(实际要除以"max(1, ...)" 防止数值问题)。

2.4 GD 的"慢"——"zig-zag" 与条件数 ​

例 (2):f(x)=12(x(1)2+γx(2)2),从 x0=(γ,1) 出发,精确线搜索给:

∥xk−x∗∥∥x0−x∗∥=(γ−1γ+1)k.

当 γ=10000 时,这个比值 ≈0.9998——几千次迭代才能下降一点。

"zig-zag" :精确线搜索下 (xk+2−xk+1)T(xk+1−xk)=0(连续两步互相垂直)。条件数 L/μ 越大,GD 越慢。

3. 收敛分析的"两个基石" ​

基石 1:Lipschitz 梯度 → 二次上界(Lemma 1.2)⭐⭐⭐ ​

若 ∇f 是 L-Lipschitz,则

f(y)≤f(x)+∇f(x)T(y−x)+L2∥y−x∥2, ∀x,y.

证明思路:把 f(y)−f(x) 写成 ∫01∇f(x+t(y−x))T(y−x)dt,减掉 ∇f(x)T(y−x) 后用 Cauchy-Schwarz + Lipschitz。

这是后面所有收敛证明的起点。

基石 2:充分下降引理(Lemma 1.3)⭐⭐⭐ ​

若 ∇f 是 L-Lipschitz,则

f(x)−f(x−t∇f(x))≥t(1−Lt2)∥∇f(x)∥2.

推导:在 Lemma 1.2 中令 y=x−t∇f(x)。

当 t<2/L 时右边正——保证下降。当 t=1/L 时右边 =12L∥∇f∥2——最常用的"最佳"常数。

4. 收敛性结果(必须会推导) ​

整套证明的"作业模式":从 Lemma 1.3 出发 → 与凸/强凸不等式叠加 → 累加(telescoping)→ 得到收敛率。

4.1 一般情形(Theorem 1.5–1.6) ​

只需 L-smooth + 0<t<2/L:

  • f(xk) 单调不增;
  • mini≤k∥∇f(xi)∥≤f(x0)−f∗(k+1)M,M=t(1−Lt/2)。
  • 即 ∥∇f∥ 收敛速度是 O(1/k)。对非凸问题这通常已经是最好结果。

4.2 凸 + L-smooth(Theorem 1.7)⭐ ​

0<t≤1/L:

f(xk)−f(x∗)≤12kt∥x0−x∗∥2.

即 O(1/k)。要达 ϵ 精度需 O(1/ϵ) 次。

证明套路(记住这个结构!):

  1. 用 Lemma 1.3 + t≤1/L:f(x+)≤f(x)−t2∥∇f(x)∥2。
  2. 用凸性 f(x)≤f(x∗)+∇f(x)T(x−x∗) 替 f(x),得:f(x+)≤f(x∗)+∇f(x)T(x−x∗)−t2∥∇f(x)∥2.
  3. 配方:右边 = f(x∗)+12t(∥x−x∗∥2−∥x+−x∗∥2)。
  4. 累加 i=1,…,k:左边 ∑f(xi)−f∗,右边 telescoping → 12t∥x0−x∗∥2。
  5. 用 f(xk)≤1k∑f(xi)(单调性)得最终结果。

这套配方 + telescoping 是本章证明题的核心模板。

4.3 强凸 + L-smooth(Theorem 1.12)⭐ ​

t=1/L 时:

f(xk)−f∗≤(1−μ/L)k(f(x0)−f∗).

线性收敛!达 ϵ 需 O(Lμlog⁡1ϵ) 次。

证明:

  1. Lemma 1.3 + t=1/L:f(x+)−f∗≤f(x)−f∗−12L∥∇f∥2。
  2. 强凸的二次下界:f∗≥f(x)−12μ∥∇f∥2,移项:f(x)−f∗≤12μ∥∇f∥2。
  3. 代回得 f(x+)−f∗≤(1−μ/L)(f(x)−f∗)。

4.4 关键概念:条件数 κ=L/μ ​

κ 决定 GD 的速度:κ 越小越好;κ→1 时一步收敛;κ→∞ 时极慢。

5. 牛顿法 ​

5.1 标准牛顿法 ​

xk+1=xk−[∇2f(xk)]−1∇f(xk).

等价视角:在 xk 处用二次模型 mk(p)=f(xk)+∇fTp+12pT∇2fp 最小化 p。

5.2 局部二次收敛(Theorem 2.1)⭐⭐ ​

设 f μ-强凸 + ∇2f L-Lipschitz。则

∥xk+1−x∗∥≤L2μ∥xk−x∗∥2.

若 ∥x0−x∗∥≤μ/L,则 ∥xk−x∗∥≤2μL(1/2)2k(二次收敛——精度每步翻倍指数级)。

证明思路:

  1. xk+1−x∗=(∇2f(xk))−1(∇f(x∗)−∇f(xk)) (用 ∇f(x∗)=0 代入迭代式)。
  2. 用积分中值 ∇f(x∗)−∇f(xk)=∫01∇2f(xk+t(x∗−xk))(x∗−xk)dt,移项后能写成 Hessian 差 ∫01[∇2f(xk+t(x∗−xk))−∇2f(xk)]dt 乘 (x∗−xk)。
  3. 用 Hessian 的 Lipschitz ∥∇2f(⋅)−∇2f(xk)∥≤Lt∥x∗−xk∥,再用 ∥(∇2f)−1∥≤1/μ,积出 L2μ∥x∗−xk∥2。

5.3 阻尼牛顿法(damped Newton, Algorithm 3) ​

加 Armijo 线搜索,保证全局收敛:

  • 计算 Newton 方向 dk=−∇2f−1∇f。
  • 用 Armijo 选 tk。
  • xk+1=xk+tkdk。

为什么纯 Newton 可能不收敛:远离 x∗ 时 Hessian 可能不正定/二次模型偏差大;damped 版加线搜索作为安全网。

5.4 Newton 法的优劣 ​

优劣
局部二次收敛(极快)每步 O(n3) 求线性系统
仿射不变(不依赖 conditioning)⭐需要 Hessian ⇒O(n2) 存储
远离 x∗ 时不一定下降

仿射不变性:对 f~(y)=f(Ay),从 y0=A−1x0 出发的牛顿迭代 = A−1 乘原迭代。所以条件数对 Newton 没影响——这点比 GD 强很多。

6. 其他二阶方法(仅作了解,考试通常只要识别概念) ​

6.1 拟牛顿(Quasi-Newton) ​

用 Bk≈∇2f(xk) 或 Hk≈∇2f−1。

Secant 方程:Bk+1sk=yk,其中

  • sk=xk+1−xk
  • yk=∇f(xk+1)−∇f(xk)

经典更新:

  • DFP:先更新 Bk。
  • BFGS(最常用):直接更新 Hk=Bk−1:Hk+1=(I−ρkskykT)Hk(I−ρkykskT)+ρkskskT, ρk=1/ykTsk.

6.2 Trust Region 信赖域 + Cubic Regularization ​

不是"沿方向走多远",而是"在半径 Δk 的小球内最小化二次模型"。每步根据"实际下降 vs 模型预测下降"的比 ρk 调整 Δk。

Cubic 正则化:在二次模型上加 ρ6∥x−xk∥3 惩罚,全局收敛率 O(ϵ−3/2)(非凸最优)。

6.3 Gauss-Newton 与 Levenberg-Marquardt ​

针对最小二乘 12∥g(x)∥2,用线性化 g(xk)+Jg(xk)(x−xk) 近似。

  • xk+1=xk−(JkTJk)−1JkTg(xk)(GN)。
  • xk+1=xk−(JkTJk+μkI)−1JkTg(xk)(LM,对秩亏处理)。

6.4 Barzilai-Borwein (BB) ​

GD 的步长用 tk=sk−1Tyk−1yk−1Tyk−1 或 sk−1Tsk−1sk−1Tyk−1。 不是单调的——常配 nonmonotone 线搜索。实际中收敛常常很快,但理论保证弱。

7. 作业题型对照(A8 + hw07.4) ​

作业题面考点
A8.1 / hw07.4Backtracking 步长下界 + 回溯次数用强凸的二次上界 f(x+tΔx)≤f(x)+t∇fTΔx+M2t2|Δx|2 → 推 Armijo 条件何时一定成立 → 得 t≤−∇fTΔxM|Δx|2 时 ok → t≥βmin{1,…} → 回溯次数对数级
A8.2(a)预条件 GD:xk+1=xk−tP∇f,证 ek+1=(I−tPQ)ek用 ∇f(x)=Qx−c,∇f(x∗)=0 → ∇f(xk)=Q(xk−x∗)=Qek;代入迭代式
A8.2(b)怎么选 P,t 让 1 步到最优要 I−tPQ=0 → 选 P=Q−1,t=1(这就是 Newton 法)
A8.3(a)Lt∈(0,1] 下"双倍充分下降" f(xn)−f(xn+1)≥t2|∇f(xn)|2+t2|∇f(xn+1)|2关键:在两个端点都用 Lemma 1.3 / Lemma 1.2,再用凸性"梯度单调"或者 A8.4 的"反向不等式"
A8.3(b)Lt∈(0,2] 下 |∇f(xn+1)|≤|∇f(xn)|用 |∇f(x+)|2−|∇f(x)|2 的展开 + Lipschitz 梯度
A8.4gx(y)=f(y)−∇f(x)Ty(a) ∇gx(x)=∇f(x)−∇f(x)=0 + gx 凸 → x 是 gx 的极小;(b) gx 也是 L-smooth + 凸 → 用 Lemma 1.3 + 步长 1/L:gx(y−1L∇gx(y))≤gx(y)−12L|∇gx(y)|2,再用 (a) 的 gx(x)≤gx(⋅);(c) 把 (b) 的不等式展开成 f 的形式
A8.5t=φ/L 步长,f(xk)−f∗≤1φk⋅L2|x0−x∗|2用题给恒等式 L2|xn−x∗|2−L2|xn+1−x∗|2=L2|xn−xn+1|2+L⟨xn−xn+1,xn+1−x∗⟩ + 凸性 + Lipschitz;本质是 Theorem 1.7 证明的精细版

复习要点:A8 的所有题都是"GD 的收敛性证明"的变种,核心套路是 §4.2 的"配方 + telescoping"。A8.4 的 gx 函数是个非常巧妙的"对偶化"工具——通过减去线性项把 x 变成新函数的极小点。


8. 解题"招式手册" ​

招式 1:收敛性证明的"四步走"⭐ ​

(1) 用 Lemma 1.2 (二次上界) 写出 f(x+)≤f(x)+∇fT(x+−x)+L2∥x+−x∥2; (2) 代入 x+=x−t∇f,把 ∇fT 项与平方项合并; (3) 用凸性(f(x)≤f(x∗)+∇fT(x−x∗))或强凸(f∗≥f(x)−12μ∥∇f∥2)把 f(x) 和 f∗ 联系起来; (4) 配方为 ∥x−x∗∥2−∥x+−x∗∥2 形式,telescoping 累加 k 步。

招式 2:Armijo 步长下界证明套路 ​

回溯条件不满足意味着 f(x+βtΔx)>f(x)+αβt∇fTΔx;用二次上界 ≤f(x)+βt∇fTΔx+M2β2t2∥Δx∥2;两者放在一起得 t 的下界。hw07.4 与 A8.1 标准套路。

招式 3:用辅助函数 gx(y) 构造"反向"不等式 ​

gx(y)=f(y)−∇f(x)Ty 这个技巧把 f 在 x 处的"切线信息"剥离掉。它的极小点是 x(A8.4 第 (a) 部分);它仍然 L-smooth + 凸;对 gx 应用 Lemma 1.3 给出反向不等式:

f(x)+∇f(x)T(y−x)+12L∥∇f(x)−∇f(y)∥2≤f(y).

这是 GD 收敛性证明里最常用的"硬核工具"。要会推导。

招式 4:识别"等价问题 = 1 步收敛" ​

f(x)=12xTQx−cTx(凸二次)+ P=Q−1,t=1 → 1 步到 x∗。这就是 Newton 法的本质。出现"如何选预条件矩阵"基本是这个答案。

招式 5:用积分中值代替 Hessian 差 ​

Newton 法的二次收敛证明里出现"∇f(x∗)−∇f(xk)"——用 ∫01∇2f(xk+t(x∗−xk))(x∗−xk)dt 替代,再加减 ∇2f(xk)。


9. 自检清单 ​

  • [ ] GD 的等价"邻近视角":arg⁡minf(xk)+∇fT(x−xk)+12t∥x−xk∥2?
  • [ ] Armijo 回溯的具体形式(α,β,t0)?
  • [ ] Lemma 1.2 / Lemma 1.3 的命题与证明?
  • [ ] 凸 + L-smooth:O(1/k) 收敛——证明能复现吗?
  • [ ] 强凸 + L-smooth:(1−μ/L)k 线性——证明能复现吗?
  • [ ] 条件数 κ=L/μ 的含义?为什么 GD 慢、Newton 不慢?
  • [ ] Newton 法的二次收敛 + 仿射不变?
  • [ ] BFGS 的 secant 方程?
  • [ ] Gauss-Newton 与 Newton 的差别?

10. 常见陷阱 ​

  1. L 的两种含义:本章 L 通常指梯度的 Lipschitz 常数(∇f 是 L-Lipschitz)。但讲义里常把 L 当成 Hessian 的 Lipschitz 常数(Newton 法 Theorem 2.1)。做题前先看 L 修饰的是 ∇f 还是 ∇2f。
  2. 强凸 ≠ 严格凸 ≠ 凸:f(x)=x4 严格凸但不是强凸。
  3. GD 的常数步长上界:t<2/L(保证下降);t≤1/L(凸情形 O(1/k) 证明用);t=1/L(强凸情形 (1−μ/L) 用)。题目里的 "Lt∈(0,1]" 与 "Lt∈(0,2]" 是两种典型设定(A8.3)。
  4. "凸性给的不等式" vs "强凸给的不等式":
    • 凸:f(y)≥f(x)+∇f(x)T(y−x)(线性下界);
    • L-smooth:f(y)≤f(x)+∇f(x)T(y−x)+L2∥y−x∥2(二次上界);
    • μ-强凸:f(y)≥f(x)+∇f(x)T(y−x)+μ2∥y−x∥2(二次下界)。 做题时不要混用,每个不等式有自己的"假设"。
  5. 互补松弛 / KKT 与 Newton 法没什么关系——这章是无约束的。
  6. Newton 法的二次收敛要 ∥x0−x∗∥≤m/L:远的话不一定收敛。这就是为什么实际中要用 damped Newton。

11. 完整学完六章后应当做到 ​

  1. 判凸 + 建模:拿到一个问题,能在 5 分钟内决定它是不是凸的、属于哪个标准形(LP/QP/SOCP/SDP),并写出标准形。
  2. 写 KKT + 写对偶:拿到任何凸问题,能徒手写 KKT、写 Lagrangian、写对偶问题;能用对偶反解原最优。
  3. 算法收敛性:能从 Lipschitz/凸/强凸假设出发,复现 O(1/k) 与 (1−μ/L)k 两条收敛率证明的全部步骤;能改造证明做 A8 这类变种题。
  4. 不被"陷阱"骗:知道 Slater 在哪一步用、CLP 强对偶为什么需要严格可行、Newton 在哪种情形会失效、SDR 什么时候紧。

12. 最后的复习路线(期中) ​

建议按这个顺序刷一遍所有作业:

  1. A1, A2, A3 → 检测 Ch2 凸性判定与 Ch3 建模(用时 1 天)。
  2. A6.1 → 检测 Ch4 KKT(半天)。
  3. A5, A6.2-4, hw07.5 → 检测 Ch5 对偶(1.5 天)。
  4. A8, hw07.4 → 检测 Ch6 GD 收敛性证明(1 天)。
  5. hw07.1-3 → 综合 Ch3 SOCP/SDP 建模(半天)。

总用时 ≈ 4-5 天。做完每道题后,如果不能在 5 分钟内说清"这题考了什么知识点 + 什么招式",就回头重看对应学习指导。


至此 Lecture 6 的一阶算法主线已经覆盖。Newton 法在本章只是作为二阶方法入口;更完整的阻尼 Newton、inexact Newton 和 self-concordant 分析见 7_牛顿法,拟牛顿和 L-BFGS 见 8_拟牛顿法。