1.前向传播:
以三层神经网络为例,图中input为0.9,0.1,0.8,我们不用数字,用字母代替,设输入为x1,x2,x3,隐藏层的第一个神经元输出Ohidden1=S[(w11x1+b1)+(w21x2+b2)+(w31*x1+b3)](原文中未考虑偏置,这里我们加上偏置),S为激活函数sigmoid函数,其他神经元也是如此,用归纳的公式写出第l层第j个神经元的输出为:
也可以用矩阵表示:Xhidden = Whidden • I+bhidden,其中Whidden为输入层到隐藏层的权值矩阵,I为输入层的输入矩阵,因为是第一层所以不需要激活函数激活,b为偏置矩阵,X为隐藏层的输入矩阵,该层的输出需要经过激活函数,所以Ohidden=sigmoid(X),输出层的输入矩阵Xout=Wout• Ohidden+bout,Wout为隐藏层到输出层的权值矩阵,bout为隐藏层到输入层的偏置矩阵,最后的输出矩阵O=sigmoid(Xout)
2.反向传播
第一个输出节点的误差标记为e1,这个值等于由训练数据提供的所期望的输出值t1 与实际输出值o1 之间的差。也就是,e 1 = ( t 1-O 1)。
用矩阵来表示:
为了方便计算和好看我们使用简
单得多的e1 * w1,1 来代替e1 * w1,1/ ( w1,1 + w2,1),所以:
即误差反向传播的误差权重矩阵为前向传播的转置矩阵,同理,有偏置时偏置反向矩阵为bT所以
ehidden=
神经网络的前向传播和反向传播公式及代码实现
最新推荐文章于 2023-02-20 15:17:09 发布
本文介绍了三层神经网络的前向传播和反向传播过程。在前向传播中,详细阐述了从输入层到隐藏层再到输出层的计算过程,包括激活函数的应用。在反向传播部分,解释了误差计算和权重更新的原理,并给出了简单的误差反向传播矩阵表达式。最后,简要展示了神经网络的程序实现,包括学习率和权重更新的细节,最终达到良好的预测性能。
摘要由CSDN通过智能技术生成