Skip to content

对应 note_7_newton.pdf。这一章把第六章中的 Newton 概念展开成完整算法:Newton 方向、Newton decrement、阻尼 Newton、inexact Newton,以及 self-concordant 函数下的复杂度分析。

0. 一句话理解这一章 ​

Newton 法 = 每一步最小化二阶 Taylor 模型;阻尼 Newton 用线搜索保证全局下降;靠近最优解后自动接受 t=1,进入二次收敛。Newton decrement 是这章的核心量。

1. 知识地图 ​

            二阶模型
            m_k(p)=f(x_k)+∇f(x_k)^T p+1/2 p^T∇²f(x_k)p
                          │
                          ▼
            Newton 方向 d_k = -[∇²f(x_k)]^{-1}∇f(x_k)
                          │
                          ├── descent direction:∇f^T d_k < 0
                          ├── affine invariant:坐标变换不影响本质迭代
                          └── Newton decrement:λ(x)^2 = -∇f(x)^T d(x)
                          │
                          ▼
            阻尼 Newton
              先试 t=1,不满足 Armijo 就回溯
                          │
                          ▼
            两阶段收敛
              Phase 1:每步至少下降 γ
              Phase 2:t=1,二次收敛
                          │
                          ▼
            扩展
              inexact Newton / Newton-CG
              self-concordant 分析

2. Newton 方向与 decrement ​

2.1 从二阶模型推出 Newton 步 ​

在 xk 处用二阶 Taylor 模型:

mk(p)=f(xk)+∇f(xk)Tp+12pT∇2f(xk)p.

若 ∇2f(xk)≻0,一阶最优性条件给出:

∇2f(xk)p+∇f(xk)=0,dk=p=−[∇2f(xk)]−1∇f(xk).

实际计算时不要显式求逆,而是解线性方程:

∇2f(xk)dk=−∇f(xk).

这也是 hw9 的核心:写 Newton system、说明 Hessian 正定、用 Cholesky/CG 求方向。

2.2 Newton 方向为什么下降 ​

若 ∇f(xk)≠0 且 ∇2f(xk)≻0,则

∇f(xk)Tdk=−∇f(xk)T[∇2f(xk)]−1∇f(xk)<0.

所以 Newton 方向是下降方向,可以配 Armijo 回溯。

2.3 Newton decrement ​

定义:

λ(x)=(∇f(x)T[∇2f(x)]−1∇f(x))1/2.

等价形式:

λ(x)2=−∇f(x)Td(x),λ(x)2=d(x)T∇2f(x)d(x).

二阶模型下:

f(x)−infyf^(y)=12λ(x)2.

因此 λ(x)2/2 可以看成“用二阶模型估计的剩余 optimality gap”,也是 Newton 法常用停止准则:

λ(xk)22≤ϵ.

3. 阻尼 Newton 法 ​

算法框架:

  1. 解 ∇2f(xk)dk=−∇f(xk)。
  2. 从 t=1 开始做 Armijo 回溯,直到f(xk+tdk)≤f(xk)+αt∇f(xk)Tdk.
  3. 更新 xk+1=xk+tkdk。
  4. 用 λ2/2≤ϵ 或 ∥∇f∥≤ϵ 停止。

和纯 Newton 的区别:

方法步长适用状态
纯 Newton固定 t=1已经靠近最优解,Hessian 正定且模型可信
阻尼 NewtonArmijo 回溯选 t全局更稳,远离最优点也能下降
modified Newton解 (∇2f+μI)d=−∇fHessian 可能不定或病态
inexact Newton线性系统只近似求解大规模问题,常配 CG

4. 收敛分析:两阶段图景 ​

讲义假设:

mI⪯∇2f(x)⪯MI,∥∇2f(x)−∇2f(y)∥≤L∥x−y∥.

4.1 Phase 1:阻尼阶段 ​

当 ∥∇f(xk)∥≥η 时,线搜索保证每步至少有固定下降:

f(xk+1)−f(xk)≤−γ.

含义:还没靠近最优点时,算法不一定快,但一定在稳定下降;因为目标值不能无限下降,所以这种“慢阶段”的迭代次数有限。

4.2 Phase 2:二次收敛阶段 ​

当 ∥∇f(xk)∥<η 后,回溯会接受 t=1,并且

∥∇f(xk+1)∥≤L2m2∥∇f(xk)∥2.

这就是二次收敛:误差大致平方级下降。等价地,在距离形式中常见结论是

∥xk+1−x∗∥≤L2m∥xk−x∗∥2.

复习时不要只背“Newton 很快”,要能说清楚:快发生在靠近解且 t=1 被接受以后。

5. Affine invariance ​

若做变量变换 x=Ty,定义 f¯(y)=f(Ty),则

∇f¯(y)=TT∇f(x),∇2f¯(y)=TT∇2f(x)T.

对应的 Newton 方向满足

df¯(y)=T−1df(x).

所以如果 x0=Ty0,两边迭代始终满足 xk=Tyk。这说明 Newton 法本质上不受线性坐标变换影响;相比之下,梯度下降会明显受条件数影响。

6. Inexact Newton / Newton-CG ​

精确 Newton 要解

∇2f(xk)pk=−∇f(xk).

大规模时可以允许残差

rk=∇2f(xk)pk+∇f(xk)≠0,∥rk∥≤ηk∥∇f(xk)∥.

讲义结论:

ηk 选择收敛含义
ηk≤t<1局部线性收敛
ηk→0超线性收敛
ηk=O(|∇f(xk)|) 且 Hessian Lipschitz二次收敛

实践理解:

  • ηk=0.5:方向比较粗,便宜,但靠近解时通常只能保证线性级别。
  • ηk=min{0.5,∥∇f(xk)∥}:远处粗算、近处精算,更符合 Newton-CG 的常用策略。

7. Modified Newton ​

当 ∇2f(xk) 可能不定或病态时,用

(∇2f(xk)+μkI)dk=−∇f(xk).

只要

∇2f(xk)+μkI≻0,

就有

∇f(xk)Tdk=−∇f(xk)T(∇2f(xk)+μkI)−1∇f(xk)<0.

所以 dk 是下降方向。hw9 第 4 题基本就在考这个判断。

8. Self-concordant 函数 ​

8.1 定义与例子 ​

一元凸函数 f self-concordant 若

|f‴(x)|≤2(f″(x))3/2.

多元情形要求任意直线限制 g(t)=f(x+tv) 都 self-concordant。

典型例子:

  • 线性函数、二次函数;
  • −log⁡x;
  • −∑ilog⁡(bi−aiTx);
  • −log⁡detX;
  • SOC barrier −log⁡(y2−xTx)。

8.2 为什么重要 ​

Self-concordant 分析的优点:

  • 不需要知道 m,M,L 这些全局常数;
  • 对仿射变换不敏感;
  • 是内点法 barrier 分析的核心工具。

讲义中的关键结论:

若 λ(x)<1 且 x+=x−[∇2f(x)]−1∇f(x),则

λ(x+)≤λ(x)2(1−λ(x))2.

当 λ(xk)≤η≤1/4 时,线搜索接受 t=1,并且

2λ(xk+1)≤(2λ(xk))2.

这就是用 Newton decrement 表达的二次收敛。

9. 作业题型对照 ​

作业题面考点
A8.1 / hw07.4回溯线搜索步长下界用二次上界推 Armijo 一定成立的步长范围;这是阻尼 Newton 的线搜索基础
A8.2预条件梯度法一轮到达最优选 P=Q−1,t=1;本质上就是二次函数上的 Newton 法
hw9.1∑i1+(aiTx−bi)2+ρ|x|2/2证明凸性;写 ∇f,∇2f;写 Newton system 和 decrement
hw9.2log-sum-exp + 正则项写梯度/Hessian;描述阻尼 Newton + backtracking;停止准则用 λ2/2
hw9.3链式 logistic 结构 Hessian 三对角识别 Hessian sparsity;用三对角线性系统 O(n) 求 Newton 方向
hw9.4modified / inexact NewtonμI 保证正定;残差条件 |rk|≤ηk|∇f|;解释 ηk 对局部收敛率的影响
hw9.5logistic regression 编程实现 damped Newton 和 inexact Newton-CG;比较目标值和梯度范数收敛曲线

10. 解题招式 ​

招式 1:遇到 Newton 题先写三件事 ​

Hk=∇2f(xk),gk=∇f(xk),Hkdk=−gk.

然后再写

λk2=−gkTdk.

这几乎覆盖所有 Newton 基础题。

招式 2:证明 Hessian 正定 ​

常见套路:

  • 目标函数是“凸项 + ρ∥x∥2/2”且 ρ>0,所以 Hessian ⪰ρI;
  • Hessian 形如 ATDA+ρI,其中 D⪰0,故 ≻0;
  • modified Newton 中直接选 μ>−λmin(∇2f)。

招式 3:不要写 H−1,写“解线性系统” ​

理论公式可写 d=−H−1g,但算法实现和作业说明应写:

  • dense 小规模:Cholesky;
  • sparse / structured:利用结构,如三对角 O(n);
  • 大规模:CG 求 Hd=−g,只需要 Hessian-vector product。

招式 4:线搜索证明从二次上界开始 ​

若 H⪯MI,则

f(x+td)≤f(x)+t∇f(x)Td+M2t2∥d∥2.

把右边和 Armijo 条件比较,就能推出步长下界。

11. 自检清单 ​

  • [ ] 能从二阶模型推出 Newton system 吗?
  • [ ] 能解释为什么 Newton 方向是下降方向吗?
  • [ ] 能写出 λ(x)2=−∇f(x)Td(x) 吗?
  • [ ] 能说明为什么停止准则常用 λ2/2≤ϵ 吗?
  • [ ] 阻尼 Newton 的 Armijo 条件会写吗?
  • [ ] 两阶段收敛:Phase 1 固定下降、Phase 2 二次收敛,能说清楚吗?
  • [ ] Inexact Newton 的残差条件和 ηk 对收敛率的影响能解释吗?
  • [ ] Hessian 稀疏/三对角时,知道不要用 dense Cholesky 吗?
  • [ ] self-concordant 的典型例子能列出 3 个吗?

12. 常见陷阱 ​

  1. 显式求逆是坏写法:代码和算法描述都应写“解线性系统”,不是 inv(H)*g。
  2. Newton 快不是全局快:远离最优解时需要阻尼;二次收敛只在局部阶段出现。
  3. Hessian 不正定时 Newton 方向可能不是下降方向:这时要 modified Newton、trust region 或回退到梯度方向。
  4. λ2/2 是模型 gap,不是永远等于真实 gap:self-concordant 或局部分析下才有更强解释。
  5. Inexact Newton 残差越小越好但越贵:远处粗算、近处精算是实际算法的关键。
  6. 结构化 Hessian 不要当 dense 矩阵处理:三对角、低秩加对角、稀疏结构都应该影响复杂度分析。

13. 接下来怎么学 ​

学完本章后,直接做 hw9 第 1-5 题,尤其第 5 题。然后进入 8_拟牛顿法,学习如何在不显式计算 Hessian 的情况下保留 Newton 的加速效果。