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

一.BP算法简介

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

1.正向传播

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

2.反向传播

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

二.BP算法原理

1.传递过程

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

2.代价函数

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

3.四个重要公式

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

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

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

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

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

神经网路反向传播(BP)算法原理_第8张图片神经网路反向传播(BP)算法原理_第9张图片
z是输入

(4)计算偏置的梯度

神经网路反向传播(BP)算法原理_第10张图片这里写图片描述
z是输入,b是偏置

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

神经网路反向传播(BP)算法原理_第11张图片

你可能感兴趣的:(神经网路反向传播(BP)算法原理)