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算法进行改进从而保证收敛速度,提出一种交叉批量梯度下降算法(Cross - batch gradient descent algorithm,以下简称CBGD)。将改进后的算法用于手写数字的识别,相比于普通的BP算法在收敛速度及测试准确率上都有明显的提高。 中国论文网 /1/viewhtm  关键词:BP神经网络 算法改进 交叉梯度下降 手写体数字识别   中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2017)07(b)-0146-02   BP神经网络中的线性神经网络的基础上演化而来的,其一般包含输入层、隐含层和输出层。BP学习算法是Rumelhrat和Hintond等学者于1986年提出[1],理论上包含一层隐含层神经元的BP网络可以逼近任意的函数[2],而在实际应用中,BP神经网络的层数通常是大于或等于3,尤其对于复杂的问题,网络的层数都会满足这个条件。自从该算法后期研究主要分为两大类:其一就是通过变固定的学习速率为变化的学习速率、增加动量因子等方法对迭代算法本身作出修改;另一方面,就是通过启发式算法来实现对BP算法收敛性的优化,其中包含粒子群算法和蚁群算法等。这些改进虽然对BP算法有了很不错的改善,但是都很少涉及到通过改进训练样本方法来改善收敛性的,只有向国全等在[3]中提到通过对样本训练方法的改进来提升BP神经网络的收敛能力,然而由于其改进限于当时的硬件以及算法本身对样本数据的过多重复使用,导致对收敛速度没有很大得到提高。   1 BP神经网络介绍   BP算法具有自适应误差反向学习能力,其将输入信号通过输入层传输到输出层,再通过误差函数反向修正各层神经元的权重及偏置。仅看输入输,BP神经网络相当于映射,不同的网络代表不同的映射机制。假设神经网络的输入特征向量为X=(x1,x2,…,xi,…,xl)T,隐含层输出为Y=(y1,y2,…,yj,…,ym)T,输出层的输出为Z=(z1,z2,…,zk,…,zn)T,其中l,m和n分别是输入层、隐含层和输出层神经元的个数。   令隐含层第j个神经元到输入层第i个神经元的权值为wji,输出层第k个神经元到隐含层第k个神经元你的权重为vkj,此外,设隐含层第j个神经元的偏置为θ1,其对应的激活函数为f1(x),而输出层第k个神经元的偏置为θ2,其对应的激活函数为f2(x),由此可得出隐含层和输出层的表达式为。为了便于本文的讨论,选择隐含层的激活函数为S型函数f1(x)=1/(1+exp(-x));选择输出层的激活函数为f2(x)=x。若该神经网络的期望输出为T={t1,t2,…,ti,…,tk},则针对每个训练样本选择如下误差函数:,其中,由于BP网络对系统的仿真不可能一步到位,所以涉及到一个调整的过程,主要就是通过调整BP网络的权值和偏置来实现。根据式E可知,误差函数值要尽量趋近于0也就是取最小值。所以BP神经网络训练的过程就是为以E为目标函数的优化问题。   为了找到最优解,给出梯度下降算法[4]:,此处给出一层BP网络的权值和偏置的迭代公式,根据设定的网络层数也可以求出其他参数。根据梯度下降可得出针对每个样本训练完后权值和偏置调整的步长。   2 样本训练方法的改进   在实际应用中,往往会涉及到多个样本,所以使得所有训练样本的误差函数和最小才能实现对目标系统更加逼近的仿真。为实现这一目标,目前主流的研究思路主要包含三种,一种是批量梯度下降法、随机梯度下降算法和随机批量梯度下降算法。这些算法虽然都对BP算法的收敛性有所改善,但是都没有考虑样本之间的重复性与其内在的联系所造成的训练过程的繁琐。   综合以上考虑,本文作以下改进。对于给定输入样本为X=(X1,X2,…,XN),其中N为输入样本个数,对应的期望输出为T=(T1,T2,…,TN),而相应的BP网络输出为Z=(Z1,Z2,…,ZN);首先将整个输入样本集X分成C1,C2,…,Cc?M,但需要满足以下条件:,。根据上述条件,可知任意相邻两个样本的分组之间的交集个数可变。很显然,各个样本组交集个数越多,训练量越大,从而增大样本的训练时间;但是如果另一方面来看,当样本组Cp和Cq的交集越多时,训练样本组Cp得到的最优权值在很大程度上对样本组Cq来说也是最优的,所以整体训练下来将会减少训练样本的时间。因此,目的是找到一个较好的分组,用于训练整个样本。因此给出如下选择相邻样本组样本交集的方案:,,1≤。min_batch为相邻

文档评论(0)

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

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

1亿VIP精品文档

相关文档