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=xktkf(xk).

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

xk+1=argminxf(xk)+f(xk)T(xxk)+12tkxxk2.

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

2.2 步长策略(要会区分)

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

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

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

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

2.3 终止判据

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

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

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

xkxx0x=(γ1γ+1)k.

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

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

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

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

f 是 L-Lipschitz,则

f(y)f(x)+f(x)T(yx)+L2yx2, x,y.

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

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

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

f 是 L-Lipschitz,则

f(x)f(xtf(x))t(1Lt2)f(x)2.

推导:在 Lemma 1.2 中令 y=xtf(x)

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

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

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

4.1 一般情形(Theorem 1.5–1.6

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

  • f(xk) 单调不增;
  • minikf(xi)f(x0)f(k+1)MM=t(1Lt/2)
  • f 收敛速度是 O(1/k)对非凸问题这通常已经是最好结果

4.2 凸 + L-smooth(Theorem 1.7)⭐

0<t1/L

f(xk)f(x)12ktx0x2.

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

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

  1. 用 Lemma 1.3 + t1/Lf(x+)f(x)t2f(x)2
  2. 用凸性 f(x)f(x)+f(x)T(xx)f(x),得:f(x+)f(x)+f(x)T(xx)t2f(x)2.
  3. 配方:右边 = f(x)+12t(xx2x+x2)
  4. 累加 i=1,,k:左边 f(xi)f,右边 telescoping → 12tx0x2
  5. f(xk)1kf(xi)(单调性)得最终结果。

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

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

t=1/L 时:

f(xk)f(1μ/L)k(f(x0)f).

线性收敛!达 ϵO(Lμlog1ϵ) 次。

证明

  1. Lemma 1.3 + t=1/Lf(x+)ff(x)f12Lf2
  2. 强凸的二次下界:ff(x)12μf2,移项:f(x)f12μf2
  3. 代回得 f(x+)f(1μ/L)(f(x)f)

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

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

5. 牛顿法

5.1 标准牛顿法

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

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

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

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

xk+1xL2μxkx2.

x0xμ/L,则 xkx2μL(1/2)2k二次收敛——精度每步翻倍指数级)。

证明思路

  1. xk+1x=(2f(xk))1(f(x)f(xk)) (用 f(x)=0 代入迭代式)。
  2. 用积分中值 f(x)f(xk)=012f(xk+t(xxk))(xxk)dt移项后能写成 Hessian 差 01[2f(xk+t(xxk))2f(xk)]dt(xxk)
  3. 用 Hessian 的 Lipschitz 2f()2f(xk)Ltxxk,再用 (2f)11/μ,积出 L2μxxk2

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

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

  • 计算 Newton 方向 dk=2f1f
  • 用 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=A1x0 出发的牛顿迭代 = A1 乘原迭代。所以条件数对 Newton 没影响——这点比 GD 强很多。

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

6.1 拟牛顿(Quasi-Newton)

Bk2f(xk)Hk2f1

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

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

经典更新

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

6.2 Trust Region 信赖域 + Cubic Regularization

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

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

6.3 Gauss-Newton 与 Levenberg-Marquardt

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

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

6.4 Barzilai-Borwein (BB)

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

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

作业题面考点
A8.1 / hw07.4Backtracking 步长下界 + 回溯次数用强凸的二次上界 f(x+tΔx)f(x)+tfTΔx+M2t2|Δx|2 → 推 Armijo 条件何时一定成立 → 得 tfTΔxM|Δx|2 时 ok → tβmin{1,} → 回溯次数对数级
A8.2(a)预条件 GD:xk+1=xktPf,证 ek+1=(ItPQ)ekf(x)=Qxcf(x)=0f(xk)=Q(xkx)=Qek;代入迭代式
A8.2(b)怎么选 P,t 让 1 步到最优ItPQ=0 → 选 P=Q1,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 凸 → xgx 的极小;(b) gx 也是 L-smooth + 凸 → 用 Lemma 1.3 + 步长 1/Lgx(y1Lgx(y))gx(y)12L|gx(y)|2,再用 (a) 的 gx(x)gx();(c) 把 (b) 的不等式展开成 f 的形式
A8.5t=φ/L 步长,f(xk)f1φkL2|x0x|2用题给恒等式 L2|xnx|2L2|xn+1x|2=L2|xnxn+1|2+Lxnxn+1,xn+1x + 凸性 + 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)+L2x+x2; (2) 代入 x+=xtf,把 fT 项与平方项合并; (3) 用凸性(f(x)f(x)+fT(xx))或强凸(ff(x)12μf2)把 f(x)f 联系起来; (4) 配方xx2x+x2 形式,telescoping 累加 k 步。

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

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

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

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

f(x)+f(x)T(yx)+12Lf(x)f(y)2f(y).

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

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

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

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

Newton 法的二次收敛证明里出现"f(x)f(xk)"——用 012f(xk+t(xxk))(xxk)dt 替代,再加减 2f(xk)


9. 自检清单

  • [ ] GD 的等价"邻近视角":argminf(xk)+fT(xxk)+12txxk2
  • [ ] 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(保证下降);t1/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(yx)(线性下界);
    • L-smooth:f(y)f(x)+f(x)T(yx)+L2yx2(二次上界);
    • μ-强凸:f(y)f(x)+f(x)T(yx)+μ2yx2(二次下界)。 做题时不要混用,每个不等式有自己的"假设"。
  5. 互补松弛 / KKT 与 Newton 法没什么关系——这章是无约束的。
  6. Newton 法的二次收敛要 x0xm/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_拟牛顿法