知识点:牛顿法

知识点概述

牛顿法是一种经典的二阶优化算法。它在每一步迭代中用一个二次函数来近似目标函数,并直接跳到该二次模型的最小值点。当初始点接近最优解时,牛顿法具有极快的Q-二次收敛速度。

详细解释

  • 核心思想: 在当前点 附近,用二阶泰勒展开来近似目标函数 然后,通过最小化这个二次模型来确定下一步的更新方向(牛顿方向),即令其梯度为零:
  • 算法:
    1. 选择初始点
    2. 迭代更新: 。这等价于求解线性方程组 来获得牛顿方向 ,然后更新
  • 性质:
    • 优点: 在最优解附近具有Q-二次收敛速度,非常快。
    • 缺点:
      1. 计算成本高: 需要计算、存储和求逆海瑟矩阵,对于高维问题(如深度学习)几乎不可行。
      2. 非全局收敛: 只有当初始点足够接近最优解时才保证收敛。如果海瑟矩阵非正定,牛顿方向甚至可能不是下降方向。
  • 修正牛顿法: 为了保证全局收敛,需要对牛顿法进行修正,例如当海瑟矩阵非正定时,将其修正为一个正定矩阵(如 ),并结合线搜索来保证函数值下降。

学习要点

  • 理解牛顿法是基于二次函数近似的思想。
  • 掌握牛顿法的迭代公式及其与求解线性方程组的关系。
  • 了解牛顿法的优缺点:收敛快但成本高,且非全局收敛。
  • 知道修正牛顿法是为了解决其全局收敛性问题。

实践应用

  • 在变量维度不高(几十到几千维)且海瑟矩阵容易计算的问题中非常有效,如训练逻辑回归、求解一些科学计算问题。

关联知识点