前言
BP 算法是迄今最成功的神经网络学习算法,现实任务中使用神经网络时,大多是在使用 BP 算法进行训练。BP 算法允许来自代价函数的信息通过网络向后流动,以便计算梯度。
反向传播的四个基本方程及推导
定义
在接下来的公式中:
wljk 表示从 (l−1)th 层的 kth 个神经元到 lth 层的 jth 个神经元的链接上的权重。
alj 表示 lth 层第 jth 个神经元的激活值。
blj 表示在 lth 层第 jth 个神经元的偏置。
C 表示代价函数。
有了上面的表示,我们可以将两个相邻层之间的激活值通过方程关联起来:
zlj=∑kwljkal−1k+bljalj=σ(zlj)
其中 σ() 为激励函数。
上面两个公式的向量化形式:
zl=wlal−1+blal=σ(zl)
关于代价函数的两个假设:
1. 代价函数可以被写成一个在每个训练样本 x 上的代价函数
2. 代价可以写成神经网络输出的函数 cost C=C(aL) 。
最后,定义 l 层的第
δlj≡∂C∂