摘抄于:https://www.jianshu.com/p/78f27fcf532d
一、主要介绍梯度下降法和牛顿法的区别
1 梯度下降法
最简单也是最常用的最优化方法,它是一种迭代方法:随机选取初值, 不断迭代更新,从而进行损失函数极小化.注意这里是极小化而非最小化.当求解问题是凸函数时,这个极小值也就是全局最小值,或者说全局解,其他情况下,梯度下降法并不保证求解全局最优.
2 牛顿法原理
从本质上来说,牛顿法是二阶收敛,梯度下降是一阶收敛,因此,牛顿法肯定更快.
三、牛顿法和梯度下降法的比较
1.牛顿法:是通过求解目标函数的一阶导数为0时的参数,进而求出目标函数最小值时的参数。
收敛速度很快。
海森矩阵的逆在迭代过程中不断减小,可以起到逐步减小步长的效果。
缺点:海森矩阵的逆计算复杂,代价比较大,因此有了拟牛顿法。
2.梯度下降法:是通过梯度方向和步长,直接求解目标函数的最小值时的参数。
越接近最优值时,步长应该不断减小,否则会在最优值附近来回震荡。