一.BP算法简介
BP算法的学习过程由
正(前)向传播
过程和反向传播
过程组成。
1.正向传播
将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果;
2.反向传播
由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并
将该误差从输出层向隐藏层反向传播,直至传播到输入层
。
在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。
二.BP算法原理
1.传递过程
红色字第二行k改为j.
2.代价函数
n是表示神经元个数
(样本个数),1/2是为了方便求导构造出来的(类似SVM),这里的C是平均代价函数。
3.四个重要公式
(1)计算最后一层神经网络误差
第L层误差=代价函数对该层输出求偏导x该层输出对输入求偏导。
(2)由后往前,计算每一层神经网络误差
z是输入,a是输出,j是该层神经元个数
。
(3)计算权重的梯度(变化率)
z是输入
(4)计算偏置的梯度
z是输入,b是偏置