找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4214|回复: 12

深入理解BP神经网络

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:28
  • 打卡月天数:7
  • 打卡总奖励:7961
  • 最近打卡:2025-12-22 17:16:30

3317

主题

285

回帖

2万

积分

管理员

积分
24106
发表于 2019-8-6 21:28:00 | 显示全部楼层 |阅读模式
一、BP神经网络的概念
BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:
BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。



3层BP神经网络

二、BP神经网络流程
神经网络的基本组成单元是神经元。神经元的通用模型如图所示,其中常用的激活函数有阈值函数、sigmoid函数和双曲正切函数。



神经元模型

神经元的输出为:



神经元输出

神经网络是将多个神经元按一定规则联结在一起而形成的网络,如图 所示。



神经网络示意图

从图 可以看出,一个神经网络包括输入层、隐含层(中间层)和输出层。输入层神经元个数与输入数据的维数相同,输出层神经元个数与需要拟合的数据个数相同,隐含层神经元个数与层数就需要设计者自己根据一些规则和目标来设定。在深度学习出现之前,隐含层的层数通常为一层,即通常使用的神经网络是3层网络。
三、BP网络输入与输出关系
BP网络采用的传递函数是非线性变换函数——Sigmoid函数(又称S函数)。其特点是函数本身及其导数都是连续的,因而在处理上十分方便。为什么要选择这个函数,等下在介绍BP网络的学习算法的时候会进行进一步的介绍。S函数有单极性S型函数和双极性S型函数两种,单极性S型函数定义如下:f(x)=1/1+e−x
其函数曲线如图所示:



单极性S曲线

双极性S型函数:f(x)=1−e−x/1+e−x




双极性S曲线

使用S型激活函数时,输入:



输入

输出:



输出

输出的导数:



导数

使用S型激活函数时,BP网络的输出及其导数图形:



图形

根据S激活函数的图形:
net在 -5~0 的时候导数的值为正,且导数的值逐渐增大,说明此时f(x)在逐渐变大 且 变大的速度越来越快
net在 0~5  的时候导数的值为正,且导数的值逐渐减小,说明此时f(x)在逐渐变大 但是 变大的速度越来越慢
对神经网络进行训练,我们应该尽量将net的值尽量控制在收敛比较快的范围内。
四、揭秘有监督的BP神经网络学习过程:



流程图




初始化和样本随机选取




计算隐含层相关数据




误差计算1




误差计算2




反向传播1




反向传播2




全局误差和迭代

五、BP算法直观解释



情况1




情况2

六、 BP算法的Java代码实现
1.  定义一个BP神经网络的类,设置网络相关参数





2.    实例化该神经网络,按下图被构建成一个输出3维,输出1维,带有3个隐藏层(每个隐藏层10个节点)的BP网络;(此处还可以随意扩展输入、输出维度和隐藏层相关系数)





3.    初始化BP神经网络的时候,开始初始化各层网络节点的 权重、权重动量、误差初始值





4.  引入学习训练数据;4组输入、输出数据迭代5000次





    5000次中不断向前逐层计算输出的节点数据





    并同时逐层计算误差反向修改权重值,直到迭代完毕;注意误差函数值必须呈现下降趋势





5.  引入数据进行结果预测,将数据带回模型计算得结果;最终可知预测结果趋近于0.7










七、 BP算法意味着什么
神经网络利用现有的数据找出输入与输出之间得权值关系(近似),然后利用这样的权值关系进行仿真,例如输入一组数据仿真出输出结果,当然你的输入要和训练时采用的数据集在一个范畴之内。例如预报天气:温度 湿度 气压等作为输入 天气情况作为输出利用历史得输入输出关系训练出神经网络,然后利用这样的神经网络输入今天的温度 湿度 气压等 得出即将得天气情况。同理,运用到自动化测试中,使用测试数据反映结果走向,bug数,质量问题等情况也可以做到提前预测的!
附录:





欢迎大家一起学习,讨论~~!



作者:烨枫_邱
链接:https://www.jianshu.com/p/6ab6f53874f7
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
工控课堂 www.gkket.com

0

主题

130

回帖

806

积分

中级会员

积分
806
发表于 2019-8-9 04:43:19 | 显示全部楼层
我只是路过打酱油的。
工控课堂 www.gkket.com

0

主题

73

回帖

331

积分

注册会员

积分
331
发表于 2020-10-10 10:42:44 | 显示全部楼层
感恩无私的分享与奉献
工控课堂 www.gkket.com

0

主题

582

回帖

2068

积分

高级会员

积分
2068
发表于 2025-11-12 17:46:55 | 显示全部楼层
路过混个脸熟,顺便为优质内容打 call~
工控课堂 www.gkket.com

0

主题

132

回帖

280

积分

注册会员

积分
280
发表于 2025-11-12 23:41:00 | 显示全部楼层
楼主辛苦啦,期待下一篇分享!
工控课堂 www.gkket.com

0

主题

98

回帖

146

积分

新手上路

积分
146
发表于 2025-11-13 11:21:23 | 显示全部楼层
这波分析到位,逻辑满分!
工控课堂 www.gkket.com

0

主题

116

回帖

176

积分

新手上路

积分
176
发表于 2025-11-13 23:26:18 | 显示全部楼层
同款经历!简直是世另我
工控课堂 www.gkket.com

0

主题

96

回帖

147

积分

新手上路

积分
147
发表于 2025-11-16 23:56:52 | 显示全部楼层
笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下
工控课堂 www.gkket.com

0

主题

73

回帖

113

积分

新手上路

积分
113
发表于 2025-11-17 00:05:20 | 显示全部楼层
理性围观,感觉大家说的都有道理~
工控课堂 www.gkket.com

0

主题

113

回帖

229

积分

注册会员

积分
229
发表于 2025-11-17 00:05:42 | 显示全部楼层
这波反向操作,我属实没想到!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 21:33 , Processed in 0.138531 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表