老饼讲解-神经网络 机器学习 神经网络 深度学习
BP算法-自实现
1.BP神经网络自实现-开篇导读与回顾
2.BP神经网络的初始化与梯度公式
3. BP神经网络-训练算法
4.BP神经网络-代码自实现

【原理】高斯-牛顿法原理

作者 : 老饼 发表日期 : 2022-11-02 17:55:44 更新日期 : 2024-01-07 05:08:39
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



高斯-牛顿法是牛顿法在均方差目标函数时的改进

本文讲解高斯-牛顿法的思想、原理和相关迭代公式



  01. 高斯-牛顿法思想  


本节介绍高斯-牛顿法的思想和具体迭代公式


     高斯-牛顿法的思想     


梯度下降的缺点
梯度下降法的好处是非常简单有效,
但有个缺点,
就是接近极小值时,梯度会非常小,迭代也就非常慢
 
 牛顿法的缺点
牛顿法可参考文章:【牛顿法】
牛顿法借助二阶信息,也就是用当前值的近似二次曲面,
迭代起来会更快且在接近极小值时不会发生以上所说的迭代变慢的问题
但二阶信息信息的缺点是要求二阶导,
多维时也就是Hession矩阵,计算量极大
 
 高斯牛顿法
高斯牛顿法则是为误差为均方差时量身订造的算法
它利用了误差函数是误差的平方这一特性,
用一阶的平方来近似获取二阶信息
✍️高斯牛顿法是如何避开二阶导的
 
以一维函数为例
 
直接展开要计算二阶导,如下:
 
 
 用一阶的平方不需计算二阶导,类似如下:
 





     高斯-牛顿法迭代公式    


当目标函数为为多个函数的平方和时
即 

可用高斯-牛顿迭代法

高斯-牛顿迭代法的思想与牛顿法一样,
每次迭代时,
  迭代到在当前的二次近似曲面的极值处
与牛顿法不同的是,它的迭代公式不需计算二阶导(Hession矩阵)

 高斯-牛顿法的迭代公式
 高斯-牛顿法的迭代公式如下
  

 其中
 

  

  是雅克比矩阵:
  
 





  

  02. 高斯-牛顿法迭代公式推导  



本节介绍高斯-牛顿法的迭代公式的推导过程
  


    高斯-牛顿法的目标函数    


高斯-牛顿法的目标函数
高斯-牛顿法专用于以下形式的目标函数:

 

 即目标函数为多个函数的平方和
  目标函数的矩阵表示形式  
目标函数用矩阵表示如下
  
 
 
  其中

  备注:都是列向量



 

    目标函数的二阶近似    


高斯-牛顿法并不直接求的二阶近似
而是采用如下方法

  
 对 取一阶泰勒展开如下
 
  
 
其中是雅克比矩阵:
 
 

那么
  

 从而处的二阶近似(即二次近似曲面)为
 
 



    高斯牛顿法的迭代公式    


高斯牛顿法每次迭代都是将x迭代到二阶近似曲面的驻点
要求二阶近似曲面的驻点
只需令二阶近似曲面的偏导数为0
 如下
 

即可求得二阶近似曲面的极值处为:

  

也即高斯-牛顿法的迭代公式为





  03. 高斯-牛顿法的相关证明  




    JTf的意义   


高斯牛顿法中的迭代量为
其中的实际就是梯度
  
 证明如下
 




    关于高斯-牛顿法下降的证明   


下面证明h能够使F下降:
 
所以,当是正定时,
从而 也大于0,
可得小于0,说明 h 是个下降的方向










 End 






联系老饼