1985年,Rumelhart等人提出BP网络的误差反向传播(Back Propagation,BP)学习算法。主要思想是:对于n个输入学习样本已知与其对应的m个输出样本为之间的误差来修改其权值,使与期望的尽可能的接近。
BP神经网络的学习过程主要由4个部分组成:输入模式顺传播、输出误差逆传播、循环记忆训练、学习结果判别。这个算法的学习过程由正向传播和逆向传播组成。在正向传播过程中,输入信息从输入层经隐藏层单元逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到所期望的输出,则转入误差反向传播,将误差信号沿原来的连接通路返回,通过修饰各层神经元的权值,是的误差信号减小;然后转入正向传播过程。反复迭代,直到误差小于给定的值为止。
下面推导BP网络权值更新的公式:
设网络输入模式为,隐藏层有h个单元,隐藏层的输出为,输出层有m个单元,他们的输出为,目标输出为,从输入层到隐藏层的传递函数为,从隐藏层到输出层的传递函数为。于是可得: