- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构智能模型算法
南京信息工程大学 实验(实习)报告
实验名称 智能模型算法过程 实验(实习)日期 6.14 得分 指导教师
系 计算机 专业 计算机 年级 2011 班次 3 姓名 学号
一、实验目的
1.了解BP神经网络算法流程
2.掌握BP神经网络算法的建模
二、实验内容及步骤
BP神经元网络算法流程:
算法流程图如下:
具体步骤:
1)确定参数
a确定输入向量;
输入量为(输入层神经元为n个)。
b.确定输出量和希望输出量:
输出向量为(输出层神经元为q个)。
希望输出向量。
c.确定隐含层输出向量:
隐含层输出向量为,(隐含层单元数为p)。
隐含层连接权初始化值:,。
输出层连接权初始化值:,。
2)输入模式顺传播:
a.计算隐含层各神经元的激活值:
式中为隐含层连接权,为隐含层单元的阈值。
激活函数采用S型函数,即
b.计算隐含层j单元的输出值。将上面的激活值代入激活函数中可得隐含层j单元的
输出值为:
其中阈值与一样的被不断修改。
C.计算输出层第个单元的激活值:
d.计算输出层第个单元的实际输出值:
式中为隐含层到输出层的权值;
输出单元阈值
为S型激活函数。
3)输出误差的传播
当实际输出与目标输出的误差大于要求的误差范围时,就要依次一层层对BP网络
的参数进行更改:
a.输出层校正误差为:
式中为实际输出,为希望输出;
b.隐含层各单元的校正误差为:
c.输出层至隐含层连接权和输出层阈值的校正量为:
式中为隐含层单元的输出,校正误差,为学习系数
d.隐含层至输入层的校正量为:
为隐含层单元的校正误差,为学习系数,。
4)循环记忆训练:
为使网络误差趋于极小值,一般要经历多次循环记忆才能使网络记住这一模式,
这种循环记忆实际上就是反复重复上面的过程。
BP算法的缺点:
收敛速度慢
存在局部极小点问题
有动量的梯度下降法:
梯度下降法在修正权值时,只是按照K时刻的负梯度方向修正,并没有考虑到以前积累的经验,即以前的梯度方向,从而使得学习过程发生震荡,收敛缓慢。为此可采用如下算法进行改进:
式中,表示时刻的负梯度;为学习速率;是动量因子,当时,权值修正只与当前负梯度有关当时,权值修正就完全取决于上一次循环的负梯度了。这种方法实际上相当于给系统加入了速度反馈,引入了阻尼项从而减小了系统震荡,从而改善了收敛性。
有自适应lr的梯度下降法:
由于学习速率对于训练的成功与否有很大的影响,而且合理的学习速率将会缩短训练的时间,由此可以想到在训练的不同阶段改变梯度下降法中的学习参数,从而获得更好的训练效果,这就有了自适应lr的梯度下降法。
以上两种改进方法还可以同时使用用以更好的改进BP网路的训练过程。
三、体会和总结
通过本次实验我掌握了BP神经网络算法的流程及建模过程
文档评论(0)