本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
高斯-牛顿法是牛顿法在均方差目标函数时的改进
本文讲解高斯-牛顿法的思想、原理和相关迭代公式
本节介绍高斯-牛顿法的思想和具体迭代公式
高斯-牛顿法的思想
梯度下降的缺点
梯度下降法的好处是非常简单有效,
但有个缺点,
就是接近极小值时,梯度会非常小,迭代也就非常慢
牛顿法的缺点
牛顿法可参考文章:【牛顿法】
牛顿法借助二阶信息,也就是用当前值的近似二次曲面,
迭代起来会更快且在接近极小值时不会发生以上所说的迭代变慢的问题
但二阶信息信息的缺点是要求二阶导,
多维时也就是Hession矩阵,计算量极大
高斯牛顿法
高斯牛顿法则是为误差为均方差时量身订造的算法
它利用了误差函数是误差的平方这一特性,
用一阶的平方来近似获取二阶信息
✍️高斯牛顿法是如何避开二阶导的
以一维函数为例
直接展开要计算二阶导,如下:
用一阶的平方不需计算二阶导,类似如下:
高斯-牛顿法迭代公式
当目标函数为为多个函数的平方和时
即
可用高斯-牛顿迭代法
高斯-牛顿迭代法的思想与牛顿法一样,
每次迭代时,
将 迭代到在当前的二次近似曲面的极值处
与牛顿法不同的是,它的迭代公式不需计算二阶导(Hession矩阵)
高斯-牛顿法的迭代公式
高斯-牛顿法的迭代公式如下
其中
是雅克比矩阵:
本节介绍高斯-牛顿法的迭代公式的推导过程
高斯-牛顿法的目标函数
高斯-牛顿法的目标函数
高斯-牛顿法专用于以下形式的目标函数:
即目标函数为多个函数的平方和
目标函数的矩阵表示形式
目标函数用矩阵表示如下
其中
备注:和都是列向量
目标函数的二阶近似
高斯-牛顿法并不直接求的二阶近似
而是采用如下方法
对 取一阶泰勒展开如下
其中是雅克比矩阵:
那么
从而在处的二阶近似(即二次近似曲面)为
高斯牛顿法的迭代公式
高斯牛顿法每次迭代都是将x迭代到二阶近似曲面的驻点
要求二阶近似曲面的驻点
只需令二阶近似曲面的偏导数为0
如下
即可求得二阶近似曲面的极值处为:
也即高斯-牛顿法的迭代公式为
JTf的意义
高斯牛顿法中的迭代量为
其中的实际就是梯度
证明如下
关于高斯-牛顿法下降的证明
下面证明h能够使F下降:
所以,当是正定时,
从而 也大于0,
可得小于0,说明 h 是个下降的方向
End