神经网路反向传播(BP)算法原理

一.BP算法简介

BP算法的学习过程由正(前)向传播过程和反向传播过程组成。

1.正向传播

将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果;

2.反向传播

由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层
在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。

二.BP算法原理

1.传递过程

神经网路反向传播(BP)算法原理
红色字第二行k改为j.

2.代价函数

神经网路反向传播(BP)算法原理
n是表示神经元个数(样本个数),1/2是为了方便求导构造出来的(类似SVM),这里的C是平均代价函数。
神经网路反向传播(BP)算法原理

3.四个重要公式

(1)计算最后一层神经网络误差

神经网路反向传播(BP)算法原理神经网路反向传播(BP)算法原理
第L层误差=代价函数对该层输出求偏导x该层输出对输入求偏导。

(2)由后往前,计算每一层神经网络误差

神经网路反向传播(BP)算法原理神经网路反向传播(BP)算法原理
z是输入,a是输出,j是该层神经元个数

(3)计算权重的梯度(变化率)

神经网路反向传播(BP)算法原理神经网路反向传播(BP)算法原理
z是输入

(4)计算偏置的梯度

神经网路反向传播(BP)算法原理神经网路反向传播(BP)算法原理
z是输入,b是偏置

4.前向后向传播参数对比

神经网路反向传播(BP)算法原理