- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安科技大学神经网络作业5
基于MATLAB的改进BP神经网络的仿真1.引言神经网络(Neural Networks,简称NN)是由大量的、简单的处理单元(简称为神经元)广泛的相互连接而成的复杂网络系统,它反映了人脑功能的许多基本特性,是一个高度复杂的非线性动力学系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科。1986年Rumelhart和McCelland等人提出并行分布处理(PDP)的理论,同时提出了多层网络的误差反向传播学习算法,简称BP算法。这种算法根据学习的误差大小,把学习的结果反馈到中间层次的隐单元,改变它的权系数矩阵,从而达到预期的学习目的,解决了多层网络的学习问题。BP算法从实践上证明神经网络的运算能力很强,可以完成许多学习任务,解决许多具体问题。BP网络是迄今为止最常用、最普通的网络。2.论述BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入/view/40051.htm误差的反向传播阶段。/view/40051.htm误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与/view/40051.htm误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的/view/40051.htm误差减少到可接受的程度,或进行到预先设定的学习次数为止。随着人工神经网络的发展,BP算法的用途日益广泛,应用领域也在不断扩展,已在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别等各个领域中有着成功的案例。在众多神经网络中,又以BP(Back Propagation)网络的应用最为广泛,它所采用的BP算法已成为目前应用最为广泛的神经网络学习算法,绝大部分的神经网络模型都是采用BP算法或它的变化形式。这样的算法具有很好的非线性映射能力、泛化能力、容错能力,已在各个领域中取得了广泛的应用。但是人们在使用过程中却发现,这种算法存在这样或那样的局限,比如收敛速度慢、容易陷入局部最小值以及忘记旧样本的趋势,这些局域性严重影响了BP算法的应用。本文主要针对BP算法的缺点,采用以下几种改进算法来对其进行改善:1.附加动量法;2.自适应调整参数法;3.弹性算法;4.BFGS拟牛顿法;5.Levenberg-Marquardt的改进算法。3.实例验证考虑以下Hermit多项式的逼近问题:,其中。训练样本产生方式如下:样本数N=100,其中样本输入服从区间[-4,4]内的均匀分布,样本输出为,为添加的噪声,服从均值为0,方差为0.1的正态分布。采用MATLAB软件进行编程仿真,分别运用附加动量法、自适应调整参数法、弹性算法、BFGS拟牛顿法、Levenberg-Marquardt法,对其训练结果进行考察如下。本仿真训练次数为20000,训练结果的间隔次数为50,训练目标误差为0.05,训练允许时间为50秒,学习率为0.003。1. 基本BP算法,工具函数为traingd()。图1 基本BP算法仿真曲线此时,训练时间为12s,训练次数为2092次。2. 附加动量法,工具函数为traingdm(),仿真曲线如图2所示。图2 附加动量法仿真曲线此时,训练时间为11s,训练次数为2082次。3. 自适应调整参数法,工具函数为traingda(),仿真曲线如图3所示。图3 自适应调整参数法仿真曲线此时,训练时间为0s,训练次数为102次。4. 弹性算法,工具函数为trainrp(),仿真曲线如图4所示。图4 弹性算法仿真曲线此时,训练时间为0s,训练次数为12次。5. BFGS拟牛顿法,工具函数为trainbfg(),仿真曲线如图5所示。图5 BFGS拟牛顿法仿真曲线此时,训练时间为0s,训练次数为5次。6. Levenberg-Marquardt法,工具函数为trainlm仿真曲线如图5所示。图5 Levenberg-Marquardt法仿真曲线此时,训练时间为0s,训练次数为1次。4.结论将以上各种BP算法的结果统计如1所示。表1 各种BP算法的结果统计学习算法训练时间(单位:秒)训练次数(精度要求0.05)基本BP算法(traingd)122092附加动量法(traingdm
原创力文档


文档评论(0)