神经网络BP算法改进及其性能剖析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
神经网络BP算法改进及其性能剖析

神经网络BP算法改进及其性能剖析   摘要:传统的神经网络BP算法具有强大的自学习、自适应及非线性映射能力,但算法具有收敛缓慢、易陷入局部极优等缺点。针对传统BP算法的不足提出改进方法,并用于解决异或问题和字符识别问题。实验表明,改进算法能提高网络学习速度、减小网络误差,具有更好的收敛性和鲁棒性,各方面都明显优于传统BP算法。   关键词:神经网络;BP算法;学习速率   DOIDOI:10.11907/rjdk.171726   中图分类号:TP312文献标识码:A文章编号2017)010003903   0引言   人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统,它是在现代神经科学研究成果的基础上提出的,通?^模拟大脑神经网络处理、记忆信息的方式进行信息处理。截至目前,已有大量的训练算法和网络模型[17]被提出,其中BP神经网络应用最为广泛。BP神经网络的核心是“误差反向传播”学习算法。BP算法系统地解决了网络中连接权值的学习问题,使BP网络成为目前应用最广泛的网络模型[8]。BP算法的基本思想是:学习过程由正向传播和反向传播组成。在正向传播中,样本从输入层输入,然后经过隐层处理后传播到输出层。如果输出与预期结果不一致,学习过程转为反向传播;在反向传播中,误差通过隐层被反馈到输入层,成为网络连接权值修改的基础。网络根据误差调整各层的连接权值以减小误差。这两个传播过程是权值调整的周期循环过程,即网络的学习过程。然而,传统的BP算法存在缺点:收敛速度慢,容易收敛到局部最优而不是全局最优解,这极大地阻碍了神经网络的进一步应用。本文根据网络学习过程分析这些问题产生的原因,并提出改进方法。改进后的算法可以提高学习速度,减小网络误差,并具有更好的收敛性和鲁棒性。   1BP神经网络   1.1BP神经网络结构   BP神经网络模型[9]是目前应用最广泛的神经网络模型,它属于多层网络,包括输入层、隐含层和输出层。相邻层中的所有神经元都连接,而同一层的神经元之间没有连接。神经元之间的连接权值可以通过学习过程调整。输入信号从输入层神经元,依次通过各隐含层神经元,最后传递到输出层神经元。   1.2BP算法   BP算法步骤如下:   (1)初始化权值。   (2)提供学习样本,输入Xi=x1,x2,,…,xm(i=1,…,L,表示学习样本的数量;m表示输入神经元的个数);对应的期望输出为Di=d1,d2,…,dn(n表示输出神经元的个数)。   (3)计算实际输出Yi=y1,y2,…,yn。   (4)计算误差E=1L∑Lp=1Ep;Ep=∑ni=1(di-yi)2。   (5)调整权重Δwij=-ηEwij,η表示学习速率。   (6)如果网络误差足够小或迭代步数溢出,停止算法;否则转到步骤(2)。   2BP算法缺点及改进   2.1BP算法缺点   BP算法优势明显,但在实际中有以下缺点[8,10]:   (1)收敛速度太慢。误差减小太慢使得权值调整的时间太长,迭代步数太多。由于梯度逐渐变为0,越接近局部最优,收敛速度越慢。为了保证算法的收敛性,学习速率不能过大,否则会出现振荡。   (2)算法往往收敛到局部最优。BP算法调整权值的基础是误差梯度下降,而局部最优的梯度和全局最优的梯度均为0,因此算法不能将局部最优与全局最优区分开。   (3)隐层数和隐层神经元的数目往往取决于经验而非理论指导。因此,网络往往有很大冗余,这导致学习时间增加。   2.2BP算法改进   BP算法的突出问题是算法收敛速度太慢。为了提高收敛性能,传统方法是在学习过程中添加动量项,即:   Δw(k+1)=-ηEw(k)+αΔw(k)(1)   在式(1)中,α表示动量项,η表示学习速率。   仿真实验表明,该方法对提高收敛速度有一定效果,但还不够好,主要问题是学习速率的选择比较困难。从BP算法公式可以看出,学习速率决定了收敛速度。一般而言,学习速率越大,收敛速度越快。然而,如果学习速率过大,就会出现振荡现象。如果学习速率保持不变,在误差表面的平坦区域因为梯度小,收敛将非常缓慢。而在误差表面曲率大的区域,因为梯度大,将会在局部最优附近发生振荡。   从上述分析可以看出,无论在平坦区域还是陡峭区域,如果学习速率能自适应变化,收敛速度和收敛性能都会得到提高。文中本次迭代的误差将与上一次迭代的误差进行比较。如果误差减小,意味着结果在逼近最优,学习速率应增加;如果误差加大,且超过一定的百分比,则意味着结果在偏离最优,最近一次的调整将被中止,并且学习速率将被降低。公式如下:   η(t+1)=(1+α)η(t)Et+1(1+ξ)Etη(t)EtEt+1≤(1+ξ)Et(2

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档