在最速梯度下降法中:
忆臻:【最优化】一文搞懂最速下降法可以知道迭代点的更新为:
,可以看到只用到了目标函数的一阶导数信息(迭代方向),而牛顿法则用到了二阶导数信息,下面讲解如何用到了二阶导数信息。
用目标函数的二阶泰勒展开近似该目标函数,通过求解这个二次函数的极小值来求解凸优化的搜索方向。
以上推导来自于:凸优化(七)——牛顿法
我们可以看出,牛顿法和最速梯度的不同就是在于最速梯度下降法的迭代方向是梯度的负方向,迭代步长根据一维搜索得到。
而牛顿法的迭代方向为上述推导的牛顿步径,迭代步长可以看为定值1。如下:
假设我们认可这个定理:直观理解见下:)
忆臻:多元函数判断是否为函数值下降方向的直观理解我们判断牛顿法的迭代方向是否朝着函数值下降的方向移动,也就是判断一下迭代方向和 当前点的梯度值做内积,如果小于0就说明是下降方向,我们来计算一下:
迭代方向和当前点的梯度做内积为:
想让它小于0,也就是要求
大于0,这恰好是海塞矩阵正定的条件,也就是需要满足当前点的海塞矩阵是正定的,这个要求是很强的,因此并不能保证牛顿法的迭代方向是一定沿着函数值下降的方向。
换句话说就是不一定迭代能够收敛,后面的阻尼牛顿法会解决这个问题,牛顿法就到此为止了。
参考资料:
凸优化(七)——牛顿法最优化计算课程总结