基于BP算法的前馈神经网络

基于BP算法的前馈神经网络BP神经网络首先给出只包含一个隐层的BP神经网络模型(两层神经网络):BP神经网络其实由两部分组成:前馈神经网络:神经网络是前馈的,其权重都不回送到输入单元,或前一层输出单元(数据信息是单向传播的,不会回流),区别于循环神经网络RNN。BP算法(BackPropagation):误差反向传播算法,用于更新网络中的权重。BP神经网络思想:表面上:1.数据信息的前向传播,从输入层到隐

大家好,欢迎来到IT知识分享网。

BP神经网络

首先给出只包含一个隐层的BP神经网络模型(两层神经网络):

这里写图片描述

BP神经网络其实由两部分组成

  • 前馈神经网络:神经网络是前馈的,其权重都不回送到输入单元,或前一层输出单元(数据信息是单向传播的,不会回流),区别于循环神经网络RNN
  • BP算法(Back Propagation):误差反向传播算法,用于更新网络中的权重。

BP神经网络思想

  • 表面上:1. 数据信息的前向传播,从输入层到隐含层,最后到输出层。2. 误差的反向传播:输出结果与真实结果的误差值,从输出层传递到隐含层,最后到输入层。
  • 本质上:针对每个输入样本,采用随机梯度下降算法,动态更新网络中的权重和偏倚,以使网络的输出不断地接近期望的输出。

BP神经网络算法推导(更新权重和偏倚):

这里写图片描述

从上面推导可以发现:

  • 对于任意从神经元i(输出神经元/隐层神经元)至 神经元j(隐层神经元/输出层神经元)的权重 wij ,其权重更新量 Δwij =学习步长 η × 前一层神经元的输出( xi yj × 后一层神经元( yj ok )的误差
  • 神经元偏倚的变化量: ΔΘ =学习步长 η × 乘以神经元的误差

BP神经网络算法过程

  • 网络的初始化:包括权重和偏倚的初始化
  • 计算隐含层的输入输出
  • 计算输出层的输入输出
  • 误差的计算:隐层和输出层的误差
  • 权值的更新:1. 输入层—隐层。2. 隐层—输出层
  • 偏倚的更新:神经元的步长 η × 相应的误差err
  • 判断算法迭代是否结束:1.超过迭代次数,2.相邻的两次误差之间的差别小于阈值等。

误差的反向传播描述
反向传播过程是这样的:输出层每个节点都会得到一个误差e( dkok ),把e作为输出层反向输入,这时候就像是输出层当输入层一样把误差往回传播,先得到输出层误差 errk ,然后将输出层 errk 根据连接权重往隐层传输,得到隐层误差 errj 。具体如下图所示(画的有点难看,将就看吧。。)

这里写图片描述

参考

  1. 数据挖掘:概念与技术 第三版
  2. http://blog.csdn.net/google19890102/article/details/32723459
  3. http://blog.csdn.net/google19890102/article/details/32723459
  4. http://www.jianshu.com/p/3d96dbf3f764

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21966.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信