神经网络-BP算法简单推导

相信很多人和我一样看了很多的博客,很多书始终对于BP算法都是一头雾水。

在看了很多的博客之后,多数为如下的一些计算步骤:

  1. 通过前向传播计算出各个层的输入,输出,以及计算出总的损失函数。
  2. 计算出每一层每个神经元的误差。
  3. 计算每个神经元权重或者偏置的梯度。
  4.  更新梯度。

里面总是出现一些公式很费解。

我通过一个简单的推导,来验证这些等式的同时,也对BP算法进行了推导。

下图是简单的神经网络结构。

神经网络-BP算法简单推导

由于前向传播相简单,就直接开始推导反响传播。

输入层对权重w5核偏置b3进行更新,隐藏层对w1,和b1进行更新。

需要说明几点:我下面的推导in**表示输入,out**表示输出。E表示误差。

首先是输出层的:(下面是输出层手误写错了…………

神经网络-BP算法简单推导

然后是隐藏层的:

神经网络-BP算法简单推导

大家可以仔细观察我的各个计算结果,我这个推到还算是蛮简单的。有什么问题欢迎留言。

----------------------------------------------------------------------------------------------------------------

参考   https://blog.csdn.net/u014303046/article/details/78200010#t2
参考   https://www.cnblogs.com/charlotte77/p/7783261.html

吴恩达机器学习视频

周志华机器学习中神经网络