matlabBP神经网络.docxVIP

  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文档。上传文档
查看更多
matlabBP神经网络

基于MATLAB的BP神经网络工具箱函数最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器和BP网络等。对于各种不同的网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便[16]。Matlab R2007神经网络工具箱中包含了许多用于BP网络分析与设计的函数,BP网络的常用函数如表3.1所示。表3.1 BP网络的常用函数表函数类型函数名称函数用途前向网络创建函数newcf创建级联前向网络Newff创建前向BP网络传递函数logsigS型的对数函数tansigS型的正切函数purelin纯线性函数学习函数learngd基于梯度下降法的学习函数learngdm梯度下降动量学习函数性能函数mse均方误差函数msereg均方误差规范化函数显示函数plotperf绘制网络的性能plotes绘制一个单独神经元的误差曲面plotep绘制权值和阈值在误差曲面上的位置errsurf计算单个神经元的误差曲面3.1.1BP网络创建函数1) newff该函数用于创建一个BP网络。调用格式为:net=newffnet=newff(PR,[S1S2..SN1],{TF1TF2..TFN1},BTF,BLF,PF)其中,net=newff;用于在对话框中创建一个BP网络。net为创建的新BP神经网络;PR为网络输入向量取值范围的矩阵;[S1S2…SNl]表示网络隐含层和输出层神经元的个数;{TFlTF2…TFN1}表示网络隐含层和输出层的传输函数,默认为‘tansig’;BTF表示网络的训练函数,默认为‘trainlm’;BLF表示网络的权值学习函数,默认为‘learngdm’;PF表示性能数,默认为‘mse’。 2)newcf函数用于创建级联前向BP网络,newfftd函数用于创建一个存在输入延迟的前向网络。3.1.2 神经元上的传递函数传递函数是BP网络的重要组成部分。传递函数又称为激活函数,必须是连续可微的。BP网络经常采用S型的对数或正切函数和线性函数。1) logsig该传递函数为S型的对数函数。调用格式为:A=logsig(N)info=logsig(code)其中,N:Q个S维的输入列向量;A:函数返回值,位于区间(0,1)中;2)tansig该函数为双曲正切S型传递函数。调用格式为:A=tansig(N)info=tansig(code)其中,N:Q个S维的输入列向量;A:函数返回值,位于区间(-1,1)之间。3)purelin该函数为线性传递函数。调用格式为:A=purelin(N)info=purelin(code)其中,N:Q个S维的输入列向量;A:函数返回值,A=N。3.1.3BP网络学习函数1)learngd该函数为梯度下降权值/阈值学习函数,它通过神经元的输入和误差,以及权值和阈值的学习效率,来计算权值或阈值的变化率。调用格式为:[dW,ls]=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)[db,ls]=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learngd(code)2)learngdm函数为梯度下降动量学习函数,它利用神经元的输入和误差、权值或阈值的学习速率和动量常数,来计算权值或阈值的变化率。3.1.4BP网络训练函数1)train神经网络训练函数,调用其他训练函数,对网络进行训练。该函数的调用格式为:[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai)[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)2) traingd函数为梯度下降BP算法函数。traingdm函数为梯度下降动量BP算法函数。3.2BP网络在函数逼近中的应用3.2.1问题的提出BP网络由很强的映射能力,主要用于模式识别分类、函数逼近、函数压缩等。下面将通过实例来说明BP网络在函数逼近方面的应用。要求设计一个BP网络,逼近以下函数:g(x)=1+sin(k*pi/4*x),实现对该非线性函数的逼近。其中,分别令k=1,2,4进行仿真,通过调节参数(如隐藏层节点个数等)得出信号的频率与隐层节点之间,隐层节点与函数逼近能力之间的关系。3.2.2 基于BP神经网络逼近函数步骤1:假设频率参数k=1,绘制要逼近的非线性函数的曲线。函数的曲线如图3.2所示k=1;p=[-1:.05:8];t=1+sin(k*pi/4*p);plot(p,t,-);title(要逼近的非线性函数);xlabel(时间);ylabel(非线性函数);图3.2 要逼近的非线性函数曲线步骤2:网络的建立应用newff()函数建立BP网络结构。隐层神经元数目n可以改变,暂设为n=3,输出层有一个神经元。选

文档评论(0)

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

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

1亿VIP精品文档

相关文档