BP神经网络,采用有监督的训练方法,有监督的训练方法适用于已经具备可以用来训练网络的各种数据例子。
他的工作过程:把一个输入模式送给网络,考察他这时的输出,并将它的输出与慕白哦输出进行比较,如果实际的输出和目标的输出不同,则网络的所有权重都要稍作改变。
使它下一次的输出和期望的记过接近一i点。这一过程必须对要求网络学习的每一种输入模式进行重复,直到网络能正确识别每一种为止。
反向传播工作原理:
反向传播backpropagation,简称backprop,工作过程:首先创建一个含有一层或多层隐藏神经细胞的神经网络,并随机地这些神经细胞的全值赋值,如-1到1之间的任意i一个实数。然后把一个输入模式奎松到网络的输入端,并考察网络 的输出值。并考察网络的输出值。这一呼出值和要求达到的目标输出值之间的差值称为误差值(erro value)。利用这一误差值就可以来调整来自输出层底下的那个层输出的权重,使得当用同样的输入模式再次送入网络时,其输出能向正确答案接近一i写。一旦当权重调节完毕,就可以为它钱买呢的那个层来做同样的事情。这样由输入层开始,一层一层地向输入层方向推,知道达到第一个隐藏层为止,使u哦有的权重都获得嫂亮的调整。如果这一工作正确做完,则输入有不同的输入模式重复进行许多次,知道误差值降低到所有处理问题可接受的一个极限值以内,这时就可以说网络已经训练好(trained)了。
1.调整输出层的权重
把第k个输出神经细胞的输出记作为ok,而第k个输出神经细胞的目标输出tk,则第k个输出神经细胞开始时的误差值为:
为了改变在隐藏层第j个神经单元和输出层第k个神经单元之间的权重,使用下面的公式:
其中L是学习率(learning rate),这是一个正的小数。学习率L的数值越大,权重调整也越多,为了使网络获得最佳性能,这个数字必须人工调整。
2.为隐藏层调节权重
首先计算第第j个神经细胞的误差:
其中n为输出层神经元的个数。
确定了误差值后,从隐藏层j单元到输出层i单元的权重调整可用以下公式得到:
这样的整个过程要对所有的训练模式进行重复,直到总的误差减少到一个可以接受的水平为止。