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+12pT2f(xk)p.

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

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

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

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

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

2.2 Newton 方向为什么下降

f(xk)02f(xk)0,则

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

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

2.3 Newton decrement

定义:

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

等价形式:

λ(x)2=f(x)Td(x),λ(x)2=d(x)T2f(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)+αtf(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. 收敛分析:两阶段图景

讲义假设:

mI2f(x)MI,2f(x)2f(y)Lxy.

4.1 Phase 1:阻尼阶段

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

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

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

4.2 Phase 2:二次收敛阶段

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

f(xk+1)L2m2f(xk)2.

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

xk+1xL2mxkx2.

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

5. Affine invariance

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

f¯(y)=TTf(x),2f¯(y)=TT2f(x)T.

对应的 Newton 方向满足

df¯(y)=T1df(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ηkf(xk).

讲义结论:

ηk 选择收敛含义
ηkt<1局部线性收敛
ηk0超线性收敛
η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)+μkI0,

就有

f(xk)Tdk=f(xk)T(2f(xk)+μkI)1f(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。

典型例子:

  • 线性函数、二次函数;
  • logx
  • ilog(biaiTx)
  • logdetX
  • SOC barrier log(y2xTx)

8.2 为什么重要

Self-concordant 分析的优点:

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

讲义中的关键结论:

λ(x)<1x+=x[2f(x)]1f(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=Q1,t=1;本质上就是二次函数上的 Newton 法
hw9.1i1+(aiTxbi)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 正定

常见套路:

  • 目标函数是“凸项 + ρx2/2”且 ρ>0,所以 Hessian ρI
  • Hessian 形如 ATDA+ρI,其中 D0,故 0
  • modified Newton 中直接选 μ>λmin(2f)

招式 3:不要写 H1,写“解线性系统”

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

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

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

HMI,则

f(x+td)f(x)+tf(x)Td+M2t2d2.

把右边和 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 的加速效果。