本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
三层BP神经网络是最常用的神经网络
本文给出三层BP神经网络具体的梯度公式
用于三层BP神经网络代码实现时参考
本节展示三层BP神经网络的梯度公式,详细推导过程见下节
三层BP神经网络的梯度公式
对于常用的三层BP神经网络
即如下的BP神经网络:
👉 一个隐层
👉 隐层使用的激活函数为tansig
👉 输出层的激活函数为purelin
待求的权重、阈值只有四个:
、 、
它们单样本的梯度公式为
隐层->输出层权重梯度 :
输出层阈值梯度 :
输入层->隐层权重梯度 :
隐层阈值梯度 :
✍️关于整体样本的梯度公式
整体样本的梯度公式则为所有样本的梯度公式之和
例如
本节在多层网络的推导结果基础上,推导三层BP的具体梯度公式
多层网络单样本梯度公式回顾
根据《BP神经网络的梯度公式推导》的结果
对于多层网络,
单样本第k层的梯度计算公式如下
其中
👉符号说明
N是节点值
A代表N的激活值
是哈达玛积(矩阵对应元素相乘)
✍️关于激活函数的导数公式
节点的梯度中,依赖了激活函数的梯度
对于常用的激活函数,有:
当 T 为tansig时:
当 T 为logsig时:
当 T 为purelin时:
三层网络公式推导
将多层网络的推导结果套用于三层BP神经网络
(隐层激活函数为tansig、输出层为purelin)
可轻易得到
隐层到输出层的公式
输出层的节点梯度为
所以隐层到输出层的权重 和输出层的阈值梯度为
输入层到隐层的公式
输入层到隐层的节点梯度为:
所以输入层到隐层的权重 和隐层的阈值梯度为:
End