老饼讲解-BP神经网络
BP神经网络入门
【流程】梯度下降法求解BP神经网络算法流程
作者 : 老饼 日期 : 2022-06-09 05:03:21 更新 : 2023-05-08 18:28:50
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



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

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



  01. 梯度下降算法简介 



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



   梯度下降算法思想   


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

算法更详细的介绍请看《梯度下降算法》





   02. 梯度下降求解BP神经网络流程   



   算法主流程   


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



  BP神经网络的梯度公式 


梯度下降法在迭代过程使用到了E(W,b)的梯度,我们需要求出它的梯度公式
我们这里以一个隐层,隐层激活函数为tansig,输出层激活函数为purelin为例,
梯度公式为:

 输出层梯度公式
输出层权重梯度:                                         
输出层阈值梯度:                                               
 隐层梯度公式
隐层权重梯度:     
隐层阈值梯度:             
✍️符号说明
 为样本个数、输出个数                                               
是第m个样本第k个输出的误差        
是第m个样本第i个隐节点的激活值           
是第m个样本第i个输入                                                  



   笔者语   


使用梯度法训练BP神经网络,
整个训练算法流程很简单,
较复杂的地方就仅在求梯度的公式而已







 End 







联系老饼