ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:289.56KB ,
资源ID:17342033      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17342033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于matlab实现BP神经网络模型仿真.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于matlab实现BP神经网络模型仿真.docx

1、基于matlab实现BP神经网络模型仿真基于BP神经网络模型及改进模型对全国历年车祸次数预测一、背景我国今年来随着经济的发展,汽车需求量不断地增加,所以全国每年的车祸次数也被越来越被关注,本文首先搜集全国历年车祸次数,接着通过这些数据利用BP神经网络模型和改进的径向基函数网络进行预测,最后根据预测结果,分析模型的优劣,从而达到深刻理解BP神经网络和径向基函数网络的原理及应用。所用到的数据即全国历年车祸次数来自中国汽车工业信息网,网址如下:制作历年全国道路交通事故统计表如下所示:年份事故次数(次)19983461291999412860200061697120017549192002773137

2、2003667507200456775320054502542006378781200732720920082652042009238351二、问题研究(一)研究方向(1)通过数据利用BP神经网络模型预测历年全国交通事故次数并与实际值进行比较。(2)分析BP神经网络模型改变训练函数再进行仿真与之前结果进行对比。(3)从泛化能力和稳定性等方面分析BP神经网络模型的优劣。(4)利用径向基函数网络模型进行仿真,得到结果与采用BP神经网络模型得到的结果进行比较。(二)相关知识(1)人工神经网络人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为神经网络

3、或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。人工神经网络有以下几个特征:(1)非线性 关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性 网络关系。具有阈值的神

4、经元构成的网络具有更好的性能,可以提高容错性和存储容量。 (2)非局限性 一个通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想是非局限性的典型例子。 (3)非常定性 人工神经网络具有自适应、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。 (4)非凸性 一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数

5、有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。(2)BP神经网络模型BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。(3)径向基函数网络模型

6、径向基函数(Radial Basis Function,RBF)神经网络由三层组成,输入层节点只传递输入信号到隐层,隐层节点由像高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数。隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也就是说,当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此看出这种网络具有局部逼近能力,所以径向基函数网络也称为局部感知场网络。三、建模第一步:根据数据选定BP神经网络的结构,本文中所用到的BP神经网络模型网络层数为2,隐层神经元数目为10,选择隐层和输出层神经元函数分别为tansig函数和purelin函数,网络训练方法分别用

7、了梯度下降法、有动量的梯度下降法和有自适应lr的梯度下降法。第二步:对输入数据和输出数据进行归一化处理;第三步:有函数newff()构造神经网络。第四步:在对神经网络训练之前,首先设定相关参数,例如最大训练次数、训练要求精度、学习率等。第五步:对BP神经网络进行训练。第六步:重复训练直到满足要求为止。第七步:保存训练好的神经网络,并用训练好的神经网络进行预测。第八步:将预测值和实际输出值进行对比,分析模型的稳定性。四、仿真x=;y=; p=x;t=y;pn,minp,maxp,tn,mint,maxt=premnmx(p,t);%数据归一figure(1);plot(pn,tn,-);titl

8、e(实际输入与实际输出图,fontsize,12)ylabel(实际输出,fontsize,12)xlabel(样本,fontsize,12)net=newff(minmax(pn),10 1,tansig purelin,traingd);r,pn,t2,b);legend(期望输出,预测输出)title(预测输出与实际输出对比,fontsize,12)ylabel(函数输出,fontsize,12)xlabel(样本,fontsize,12)figure(3)plot(pn,t2,:og);hold onplot(pn,tn,-*);legend(预测输出,期望输出)title(BP网络预

9、测输出,fontsize,12)ylabel(函数输出,fontsize,12)xlabel(样本,fontsize,12)error=t2-tn; figure(4)plot(error,-*)title(BP网络预测误差,fontsize,12)ylabel(误差,fontsize,12)xlabel(样本,fontsize,12) figure(5)plot(tn-t2)./t2,-*);title(神经网络预测误差百分比) errorsum=sum(abs(error)%输出训练后的权值和阈值iw1=1;b1=1;lw2=2;b2=2;仿真结果如下图所示:(1)模型训练方法为梯度下降法

10、,函数为traingd神经网络的第一层的权重为:14.神经网络第一层的偏置为:神经网络的第二层的权重为: 神经网络第而层的偏置为:(2)模型训练方法为有动量的梯度下降法,函数为traingdm(3)模型训练方法为有自适应lr的梯度下降法,函数为traingda五、评价(1)初始值的影响本文建立BP神经网络模型时用的是newff()函数,由于newff()的随意性,所以基本上每一次的训练结果都是不同的。前馈型神经网络在训练之前必须要对权值和阈值进行初始化,newff()可以自动完成这一过程,但是,权值和阈值的初始化时随机的,这里就不详细研究了。(2)训练函数的影响从上文所给的结果图可以看出,训练

11、函数对模型训练的影响是显著的,网络训练方法分别用了梯度下降法、有动量的梯度下降法和有自适应lr的梯度下降法,可以看到用梯度下降法要训练24961步才能达到要求的训练精度,而使用有动量的梯度下降法和有自适应lr的梯度下降法分别只需要11199步和830步。大幅度的缩减了训练次数,但得到的训练过的模型一样精准。(3)稳定性BP神经网络模型有一下几点不足:首先,由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。 其次,BP算法可以使权值收敛到某个值,但并不

12、保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。 再次,网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。 最后,网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。但是可以将预测、分类或聚类做的比较好的保存。(4)泛化能力BP神经网络模型的泛化能力很弱,而且学习和记忆具有不稳定性,所以在实际的应用中,原始的BP算法很难胜任。本文最后给出径向基函数网络的

13、仿真结果及源代码,并与BP神经网络模型进行比较。径向基函数网络的仿真matlab源代码如下:clearclcx=;%输入y=;%输出 p=x;t=y;net=newrb(p,t);Y=sim(net,p); figure(1)plot(p,Y,:og);hold onplot(p,t,-*);legend(预测输出,期望输出)title(径向基函数网络输出,fontsize,12)ylabel(函数输出,fontsize,12)xlabel(样本,fontsize,12) error=Y-t; figure(2)plot(error,-*)title(径向基函数网络预测误差,fontsize,12)ylabel(误差,fontsize,12)xlabel(样本,fontsize,12)结果如下图所示:从上图可以看出用newrb()函数建立径向基函数网络模型进行仿真也得到了很好的结果,并且该模型比BP神经网络模型更简单,而且需要设定的参数更少。稳定性也比BP模型好很多。最后,用newrb()函数建立径向基函数网络模型预测2010年全国车祸次数,得到结果为:304560次。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2