BP基础理论
模型结构与训练
梯度下降法求解BP算法流程
作者 : 老饼 日期 : 2022-06-21 20:17:07 更新 : 2022-06-29 01:23:19
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com



本文讲解梯度下降算法求解BP神经网络的算法思路与流程,

具体实现代码可参考《梯度下降法求解BP的简单DEMO》。


  01. 梯度下降法回顾 


这里我们以梯度下降法为例,理解算法求解BP神经网络的思想与流程。


   梯度下降算法思想   


梯度下降算法的思想是先初始化先初始化一个初始解,
然后不断地根据目标函数L的梯度下降方向,调整x,最后达到局部最优值。

其原理如下:



算法具体介绍请看《梯度下降算法》



  02. BP神经网络的梯度公式 


梯度下降法在迭代过程使用到了E(W,b)的梯度,我们需要求出它的梯度公式。

我们这里以一个隐层,隐层激活函数为tansig,输出层激活函数为purelin为例,梯度公式为:


1、隐层到输出层


 隐层-->输出层的权重、输出层阈值梯度为:

                       



其中,
为隐层的激活值,         

为输出层的节点梯度:






2、输入层到隐层


隐层-->输出层的权重、隐层的阈值梯度为:



  


其中,为隐层的节点梯度:

  



备注:本文我们旨在了解梯度下降算法在BP上的应用,梯度公式不展示详细推导过程。         

公式中缺乏一定的详细说明,可对照《梯度下降法求解BP的Demo代码》进行理解。



  03. 算法主流程   


(1) 先初始化W,b                                      
(2) 按照梯度公式算出梯度                       
(3) 将W和b往负梯度方向调整                 
(4) 不断循环(1)和(2),直到达到终止条件
终止条件为:达到最大迭代次数,或误差足够小






 End 







联系小饼