本文比较乱,仅适合本人自己查看
BP 算法由信号的正向传播和误创差的反向传播的两个过程组成的。正向传播的过程中,训练样本从输入层 进入网络,再经过隐含层输出到输出层。若输出层的实际输出与最后的期望输出有出入,则将误差(输出值与期望值的差值)方向传播,若误差为零,则结束学习算法。
反向传播时,将输出误差(期望输出与实际输出之差)按原通路反传计算,通过隐层反向,直至输入层,在反传过程中将误差分摊给各层的各个单元,获得各层各单元的误差信号,并将其作为修正各单元权值的根据。这一计算过程使用梯度下降法完成,在不停地调整各层神经元的权值和阈值后,使误差信号减小到最低限度。
基本思想如下:(摘自百度百科)
学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。
算法实行步骤:(摘自百度百科)
不足(摘自百度百科)
推导:
后面摘录自:https://www.cnblogs.com/HolyShine/p/6413653.html
多层网络的训练需要一种强大的学习算法,其中BP(errorBackPropagation)算法就是成功的代表,它是迄今最成功的神经网络学习算法。
今天就来探讨下BP算法的原理以及公式推导吧。
神经网络
先来简单介绍一下神经网络,引入基本的计算公式,方便后面推导使用
图1 神经网络神经元模型