第五章 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神经网络基本概念 1、人工神经网络 人工神经网络ANN(Artificial Neural Network),是对人类大脑系统的一阶特性的一种描述。简单地讲,它是一个数学模型,可以用电子线路来实现,也可以用计算机程序来模拟,是人工智能研究地一种方法。近年来发展迅速并逐渐成熟的一种人工智能技术,其来源于对神经元细胞的模拟。人工神经网络具有以下三个特点:信息分布表示,运算全局并行与局部操作,信息非线性处理。由于这三个特点,使得由人工神经网络构成的分类器具有强大的数据拟和与泛化能力,因而广泛运用于模式识别与机器学习领域。 神经网络模式识别的过程分为两步:首先是学习过程,通过大量的训练样本,对网络进行训练,根据某种学习规则不断对连接权值进行调节,然后使网络具有某种期望的输出,这种输出就可以将训练样本正确分类到其所属类别中去,此时可以认为网络是学习到了输入数据或样本间的内在规律。接下来是分类过程,应用前面学习过程所训练好的权值,对任意送入网络的样本进行分类。 人工神经网络模型各种各样,目前已有数十种。他们从各个角度对生物神经系统的不同层次进行了描述和模拟。代表模型有感知机、多层映射BP网、RBF网络、HoPfiled模型、Boit~机等等。虽然人工神经网络有很多模型,但按神经元的连接方式只有两种型态:没有反馈的前向网络和相互结合型网络。前向网络是多层映射网络,每一层中的神经元只接受来自前一层神经元的信号,因此信号的传播是单方向的。BP网络是这类网络中最典型的例子。在相互结合型网络中,任意两个神经元都可能有连接,因此输入信号要在网络中往返传递,从某一初态开始,经过若干变化,渐渐趋于某一稳定状态或进入周期震荡等其它状态,这方面典型的网络有Hopfiled模型等。 2、BP神经网络 BP算法是利用输出层的误差来估计输出层的直接前导层的误差,再用这个误差 估计更前一层的误差。如此下去,就获得了所有其他各层的误差估计。这样就形成了将输出端表现出的误差沿着与输入信号传送相反的方向逐级向网络的输入端传递的过程。因此,人们就又将此算法称为向后传播算法,简称BP算法。 如下图所示: 算法过程为 (1)设置各权值和阈值的初始值,为小随机数。 (2)输入训练样本,对每个样本进行(3)~(5)步。 (3)计算各个网络层的实际输出 (4)计算训练误差 ,输出层 ,隐含层和输入层 (5)修正权值和阈值 (6)当样本集中的所有样本都经历了(3)~(5)步后,即完成了 一个训练周期(Epoch),计算性能指标,其中。 (7)如果性能指标满足精度要求,即,那么训练结束,否则,转到(2),继续下一个训练周期。是小的正数,根据实际情况而定,例如0.01 3、流程图 根据BP网络的算法,我们可得流程图如下。 BP神经网络实例分析 一、实例要求 1、 取九个点来训练网络,然后得出拟合曲线。 2、 取适当数量训练点来训练网络,然后得出拟合曲线 3、 取11*11个点来训练网络,并用21*21个点测试拟合的曲面。 二、计算结果如下 1、第一个函数: (2)学习率为0.2,训练次数为3300时 训练过程如学习曲线所示,圈圈为学习后产生的,折线为标准函数点连线。检验过程如检验曲线所示,点序列为拟合曲线上的点,曲线为标准函数曲线。误差曲线如右图所示。 (2)学习率为0.01,训练次数为3300时的曲线。 从函数1可以看出,学习率比较大时,曲线收敛比较快,可以比较快速达到精度要求。但实际上,学习率比较大时(即收敛步长比较大),容易超出收敛边界,反而收敛导致不稳定,甚至发散。 2、第二个函数: (1)学习率为0.2,样本点数为10,学习次数为5000时的曲线如下: (2)学习率为0.2,样本点数为30,学习次数为5000时的曲线如下: 从函数2可以看出,样本点个数越多时,曲线精度越高。但学习时间会有所增加。 3、第三个函数 学习率为0.1,动量项学习率为0.05,训练次数为5000,训练样本数为11*11。 图形如下: 附:程序源代码 第一个和第二个函数的程序: %此BP网络为两层隐含层,每个隐含层4个节点。输入输出各一层 %输入层和输出层均采用恒等函数,隐含层采用S形函数 clear all; close all; b=0.01; %精度要求 a=0.2; %学习率 c=2; Num=30; %训练样本数 N=3300; %训练次数 Nj=80; %检验样本数 o0=rand(2,1); %输

文档评论(0)

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

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

1亿VIP精品文档

相关文档