【优化算法】牛顿法(Newton's method)

牛顿法是利用 Hessian 矩阵提供的二阶导数信息来指导搜索的最简单的算法。

牛顿法基于一个二阶泰勒展开来近似 x 0 附近的 f ( x ) ,

f ( x ) f ( x 0 ) + ( x x 0 ) x f ( x 0 ) + 1 2 ( x x 0 ) T H f ( x 0 ) ( x x 0 )
, 接着通过计算, 我们可以得到这个函数的临界点
x = x 0 H f ( x 0 ) 1 x f ( x 0 )

  • 如果 f 是一个正定二次函数,牛顿法只要应用一次就能直接跳到函数的最小点。
  • 如果 f 不是一个真正二次但能在局部近似为正定二次,牛顿法需要多次迭代应用式,而且能比梯度下降更快得到达临界点

以上在接近全局极小点时是一个特别有用的性质,但是在鞍点附近是有害的,牛顿法会被鞍点吸引跑偏。只有当附近的临近点是最小点(Hessian 的所有特征值都是正的)时,牛顿法才适用,而梯度下降不会被吸引到鞍点(除非梯度指向鞍点)。


Ref

猜你喜欢

转载自blog.csdn.net/baishuo8/article/details/81458983
今日推荐