Newton 方法
Newton 步
设
称为
因此 Newton 步是下降方向(除非
二阶近似的极小点
它是
Hessian 范数下的最速下降方向
Newton 步也是
下的最速下降方向。这提供了 Newton 步为何是好的搜索方向的另一种解释:回忆最速下降方法在二次范数
待配图:对应教材图 9.17 —— 某凸函数的等高线、椭圆体
、负梯度方向以及 Hessian 范数下的(归一化)最速下降方向。
线性化最优性条件的解
将最优性条件
这是关于
待配图:对应教材图 9.16 与图 9.18 —— 左:函数
与其二阶近似 ,Newton 步 把 加上后得到 的极小点;右:导数 及其线性近似 ,Newton 步是 的零点与 之差。
Newton 步的仿射不变性
Newton 步的一个重要特征是它不依赖于线性(或仿射)坐标变换。设
其中
即
Newton 减量
量
称为
即
Newton 减量也可以表示为
这说明
它可以解释为
Newton 方法
下面的算法有时称为阻尼(damped)Newton 方法或受保护(guarded)Newton 方法,以区别于使用固定步长
算法 9.5(Newton 方法) 给定初始点
- 计算 Newton 步与减量:
; 。 - 终止准则:若
则退出。 - 直线搜索:用回溯直线搜索选取步长
。 - 更新:
。
这与一般下降方法基本相同,只是用 Newton 步作搜索方向,且终止准则在计算搜索方向之后(而不是更新之后)检查。
收敛性分析
假设
收敛证明的思路
可以证明存在满足
- 若
,则 ; - 若
,则回溯直线搜索选择 ,且
分析第二个条件:一旦它对第
这说明第二条件成立后收敛极其迅速,这一现象称为二次收敛(quadratic convergence):大致地说,在足够多次迭代之后,每次迭代会使正确数字的位数翻倍。
Newton 方法的迭代自然分为两个阶段。第二阶段(条件
复杂度估计
阻尼 Newton 阶段中
次迭代(其中
其中
更精确的表述是:该式是计算极好近似解所需迭代次数的界。
阻尼 Newton 阶段
设
步长
(利用
二次收敛阶段
设
积分两次并取
若
即第二条性质。综上,当
时算法选取单位步并满足二次收敛条件。总迭代次数的上界为
例子
中的例子
对前文的非二次测试函数采用参数
待配图:对应教材图 9.19 与图 9.20 ——
例子中 Newton 方法的迭代点与相应椭圆体,以及误差随迭代次数的变化曲线。
中的例子
对
待配图:对应教材图 9.21 与图 9.22 ——
问题的误差曲线与步长曲线。
中的例子
考虑更大规模的问题
其中
待配图:对应教材图 9.23 ——
问题的误差曲线;即使对如此大规模的问题,Newton 方法也只需 18 次迭代即达到很高精度。
Newton 方法的仿射不变性
Newton 方法的一个非常重要的特征是它不依赖于线性(或仿射)坐标变换。设
例如,对前文条件数随参数
总结
与梯度和最速下降方法相比,Newton 方法有以下非常强的优点:
- 收敛一般很快,且在
附近是二次的。一旦进入二次收敛阶段,至多六次左右的迭代即可产生很高精度的解。 - Newton 方法是仿射不变的,对坐标选择和目标函数下水平集的条件数不敏感。
- Newton 方法对问题规模具有很好的伸缩性:它在
问题上的表现与其在 问题上的表现相似,所需步数只有适度的增加。 - Newton 方法的良好性能不依赖于算法参数的选择;相比之下,最速下降方法中范数的选择对其性能起关键作用。
Newton 方法的主要缺点是形成和存储 Hessian 的代价,以及计算 Newton 步(需要求解一个线性方程组)的代价。许多情形下可以利用问题的结构显著降低计算 Newton 步的代价(见下文实现部分)。另一类替代算法是拟 Newton(quasi-Newton)方法,它们形成搜索方向所需计算量更小,但保留了 Newton 方法的一些重要优点(如
实现
直线搜索的预计算
最简单的直线搜索实现对每个
设
一个更具体的例子是线性矩阵不等式的解析中心问题,即极小化
先对
其中
计算 Newton 步
计算 Newton 步
Newton 减量可由
带状结构:若
例如
稀疏结构:更一般地,当目标函数可以表示为一些只依赖少数变量的函数之和、且每个变量只出现在其中少数几个函数中时,Hessian 是稀疏的。此时可用稀疏 Cholesky 分解计算置换矩阵
对角加低秩:若 Hessian 可以表示为对角矩阵加低秩(秩为
其中
求解后由