BP算法原理学习笔记

使用反向传播训练多层神经网络的原则


本文描述了采用反向传播算法的多层神经网络的教学过程为了说明这个过程,使用了如下图所示的具有两个输入和一个输出的三层神经网络: 



每个神经元由两个单元组成。第一单元添加权重系数和输入信号的乘积。第二个单元实现非线性函数,称为神经元激活函数。信号e是加法器输出信号,y = f(e)是非线性元件的输出信号。信号y也是神经元的输出信号。 



   为了讲解神经网络,我们需要训练数据集。训练数据集由分配有相应目标(期望输出)z的输入信号(1和 2)组成网络培训是一个迭代过程。在每次迭代中,使用来自训练数据集的新数据修改节点的权重系数。使用下面描述的算法计算修改:每个示教步骤从强制来自训练集的两个输入信号开始。在这个阶段之后,我们可以确定每个网络层中每个神经元的输出信号值。下图显示了信号如何通过网络传播,符号(xm)n 表示网络输入之间的连接权重m输入层中的神经元n符号n 表示神经元n的输出信号。 







通过隐藏层传播信号。符号mn表示神经元m的输出与下一层的神经元n的输入之间的连接的权重 。 





通过输出层传播信号。 



在下一个算法步骤中,将网络y的输出信号与在训练数据集中发现的期望输出值(目标)进行比较。差异称为输出层神经元的误差信号d。 



不可能直接计算内部神经元的误差信号,因为这些神经元的输出值是未知的。多年来,多人网络培训的有效方法一直未知。只有在八十年代中期,反向传播算法才被制定出来。这个想法是将误差信号d(在单个教学步骤中计算)传播回所有神经元,为所讨论的神经元输入输出信号。 





权重系数瓦特MN用来传播错误背面都等于该计算的输出值时使用。只有数据流的方向发生改变(信号从一个接一个地传输到输入端)。该技术用于所有网络层。如果传播的错误来自它们添加的少数神经元。插图如下: 







当计算每个神经元的误差信号时,可以修改每个神经元输入节点的加权系数。在下面的公式中, df(e)/ de表示神经元激活函数的导数(其权重被修改)。 











具体数学原理见下一片公式推导。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值