BP神经网络

误差反向传播算法(Backpropagation)是目前用来训练人工神经网络(Artificial Neural Network,ANN)的最常用且最有效的算法。其主要思想是:

(1)前向传播:训练及数据经过输入层、隐含层、输出层,计算估计值

(2)反向传播:由于估计值与实际值有偏差,计算估计值与实际值的误差,并将此误差由输出层经过隐含层向输入层传播
(3)更新权重:在反向传播过程中,根据误差参数调整权值,不断迭代上述过程直到收敛。

以3层神经网络为例计算

BP神经网络

总结:BP算法也存在一些缺陷,比如:

  • 训练时间长
  • 可能陷入局部最小值

针对BP算法的这些缺陷,目前也有许多BP算法的改进型,比如Adagrad,Momentum等。总之,BP算法作为神经网络训练最经典的算法,需要我们从来源到结果有一个深入的了解。