基于BP算法的前馈神经网络
来源:互联网 发布:php 访问粘贴板 编辑:程序博客网 时间:2024/05/16 01:00
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(
参考
- 数据挖掘:概念与技术 第三版
- http://blog.csdn.net/google19890102/article/details/32723459
- http://blog.csdn.net/google19890102/article/details/32723459
- http://www.jianshu.com/p/3d96dbf3f764
阅读全文
0 0
- 基于BP算法的前馈神经网络
- 前馈神经网络,BP算法
- 多层前馈神经网络及BP算法
- 基于遗传算法的BP神经网络优化算法
- 基于MATLAB的BP神经网络的算法实现
- 基于C++实现简单的BP神经网络算法
- 遗传算法优化BP神经网络前(由于遗传算法优化BP神经网络编辑的部分有缺少,故加以补充前)
- 基于BP神经网络的字符识别研究
- 基于BP神经网络的数字识别
- 基于Matlab的BP神经网络编程过程
- 基于BP神经网络的数据分类
- 基于BP神经网络的PID控制
- 基于BP神经网络的数据分类
- 基于opencv的bp神经网络判别
- 基于遗传算法优化的BP神经网络的 非线性函数拟合
- bp神经网络算法的java实现
- 遗传算法优化的BP神经网络建模
- 神经网络的反向传播BP算法
- 学习开源项目的若干建议
- 具官论
- ActiveMQ入门实例
- [HDU] 1542
- 控件转换算法参考
- 基于BP算法的前馈神经网络
- 文档总结19-C语言中的指针
- jsts算法研究
- 如何动态的获取数据库里面的字段以…
- win7下使用TileStache生成geojson…
- zTree介绍
- linux环境下的tomcat下面如何更新…
- 关于html中拼写字符串转义字符
- zTree在addHoverDom中获取级别判断…