牛顿法和梯度下降法大家都很熟悉了,所以这里就不细讲了,直接总结两者的区别,这也是面试算法可能会问到的问题。
Name | Note |
---|---|
梯度下降 | 一阶优化算法 |
牛顿法 | 二阶优化算法 |
牛顿法:
- 通过求解目标函数一阶导数为0时的参数集,间接地求目标函数达到最小值时的参数。
- 当 f f f是一个正定二次函数时,牛顿法只需一次迭代就能直接跳到函数最小点,如果 f f f不是一个二次真正但也能局部近似为正定二次时,牛顿法需要多次迭代。迭代更新近似函数和跳到近似函数最小点比梯度下降更快地到达临界点。这在接近局部极小点时是一个特别有用的性质,但在鞍点是有害的。
- Hessian矩阵在地带过程中不断减小,可以起到逐步减小步长的效果。
- 缺点:Hessian矩阵的逆计算复杂,代价很大,为了解决这个问题有拟牛顿法。
梯度下降:
- 通过梯度(一阶)方向和步长,直接求解目标函数最小值时的参数。
- 越接近最优值,步长应该越小,避免在最优值附近来回震荡。
参考
- 深度学习中文版
- https://www.cnblogs.com/lyr2015/p/9010532.html