欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Matlab中各种神经网络的使用示例.docx

    • 资源ID:13468131       资源大小:109.57KB        全文页数:10页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Matlab中各种神经网络的使用示例.docx

    1、Matlab中各种神经网络的使用示例Matlab中各种神经网络的使用示例Matlab中各种神经网络的使用示例%通用BP神经网络P=-1 -1 2 2;0 5 0 5;t=-1 -1 1 1;net=newff(minmax(P),3,1,tansig,purelin,traingd);%输入参数依次为:样本P范围,各层神经元数目,各层传递函数,训练函数%训练函数traingd-梯度下降法,有7个训练参数.%训练函数traingdm-有动量的梯度下降法,附加1个训练参数mc(动量因子,缺省为0.9)%训练函数traingda-有自适应lr的梯度下降法,附加3个训练参数:lr_inc(学习率增长比

    2、,缺省为程(NaN表示不显示,缺省为25)net.trainparam.goal=1e-5; %训练要求精度(缺省为0)%net.trainparam.max_fail 最大失败次数(缺省为5)%net.trainparam.min_grad 最小梯度要求(前缺省为1e-10,自trainrp后,缺省为1e-6)%net.trainparam.time 最大训练时间(缺省为inf)net,tr=train(net,P,t); %网络训练a=sim(net,P) %网络仿真%通用径向基函数网络%其在逼近能力,分类能力,学习速度方面均优于BP神经网络%在径向基网络中,径向基层的散步常数是sprea

    3、d的选取是关键%spread越大,需要的神经元越少,但精度会相应下降,spread的缺省值为1%可以通过net=newrbe(P,T,spread)生成网络,且误差为0%可以通过net=newrb(P,T,goal,spread)生成网络,神经元由1开始增加,直到达到训练精度或神经元数目最多为止%GRNN网络,迅速生成广义回归神经网络(GRNN)P=4 5 6;T=1.5 3.6 6.7;net=newgrnn(P,T);%仿真验证p=4.5;v=sim(net,p)%PNN网络,概率神经网络P=0 0 ;1 1;0 3;1 4;3 1;4 1;4 3;Tc=1 1 2 2 3 3 3;%将期

    4、望输出通过ind2vec()转换,并设计、验证网络T=ind2vec(Tc);net=newpnn(P,T);Y=sim(net,P);Yc=vec2ind(Y)%尝试用其他的输入向量验证网络P2=1 4;0 1;5 2;Y=sim(net,P2);Yc=vec2ind(Y)%应用newrb()函数构建径向基网络,对一系列数据点进行函数逼近P=-1:0.1:1;T=-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609.0.1336 -0.2013 -0.4344 -0.500 -0.3930 -0.1647 -0.0988.0.3072 0.3

    5、960 0.3449 0.1816 -0.0312 -0.2189 -0.3201;%绘制训练用样本的数据点plot(P,T,r*);title(训练样本);xlabel(输入向量P);ylabel(目标向量T);%设计一个径向基函数网络,网络有两层,隐层为径向基神经元,输出层为线性神经元%绘制隐层神经元径向基传递函数的曲线p=-3:.1:3;a=radbas(p);plot(p,a)title(径向基传递函数)xlabel(输入向量p)%隐层神经元的权值、阈值与径向基函数的位置和宽度有关,只要隐层神经元数目、权值、阈值正确,可逼近任意函数%例如a2=radbas(p-1.5);a3=radb

    6、as(p+2);a4=a+a2*1.5+a3*0.5;plot(p,a,b,p,a2,g,p,a3,r,p,a4,m-)title(径向基传递函数权值之和)xlabel(输入p);ylabel(输出a);%应用newrb()函数构建径向基网络的时候,可以预先设定均方差精度eg以及散布常数sceg=0.02;sc=1; %其值的选取与最终网络的效果有很大关系,过小造成过适性,过大造成重叠性net=newrb(P,T,eg,sc);%网络测试plot(P,T,*)xlabel(输入);X=-1:.01:1;Y=sim(net,X);hold onplot(X,Y);hold offlegend(目

    7、标,输出)%应用grnn进行函数逼近P=1 2 3 4 5 6 7 8;T=0 1 2 3 2 1 2 1;plot(P,T,.,markersize,30)axis(0 9 -1 4)title(待逼近函数)xlabel(P)ylabel(T)%网络设计%对于离散数据点,散布常数spread选取比输入向量之间的距离稍小一些spread=0.7;net=newgrnn(P,T,spread);%网络测试A=sim(net,P);hold onoutputline=plot(P,A,o,markersize,10,color,1 0 0);title(检测网络)xlabel(P)ylabel(T

    8、和A)%应用pnn进行变量的分类P=1 2;2 2;1 1; %输入向量Tc=1 2 3; %P对应的三个期望输出%绘制出输入向量及其相对应的类别plot(P(1,:),P(2,:),.,markersize,30)for i=1:3text(P(1,i)+0.1,P(2,i),sprintf(class %g,Tc(i)endaxis(0 3 0 3);title(三向量及其类别)xlabel(P(1,:)ylabel(P(2,:)%网络设计T=ind2vec(Tc);spread=1;net=newgrnn(P,T,speard);%网络测试A=sim(net,P);Ac=vec2ind(

    9、A); %绘制输入向量及其相应的网络输出plot(P(1,:),P(2,:),.,markersize,30)for i=1:3text(P(1,i)+0.1,P(2,i),sprintf(class %g,Ac(i)endaxis(0 3 0 3);title(网络测试结果)xlabel(P(1,:)ylabel(P(2,:)%广义回归神经网络%GRNN神经网络,主要用于函数逼近。x=-2:0.01:1y=2*x.6+3*x.5-3*x.3+x.2+1P=x(1:15:end)T=y(1:15:end)spread=0.05 0.2 0.4 0.6 0.8;l_style=r.-,bo-,k

    10、o-.,k*-,r-;for i=1:length(spread) net=newgrnn(P,T,spread(i); a=sim(net,P); plot(P,a,l_stylei) hold on endplot(P,T,o);legend(spread=0.05,spread=0.2,spread=0.4,spread=0.6,spread=0.8,train data);title(GRNN神经网络spread探讨)load data;% 载入数据并将数据分成训练和预测两类p_train=p(1:10,:);p_test=p(11:13,:);t_train=t(1:10,:);t_

    11、test=t(11:13,:);% 将各个矩阵转置以便适应网络结构p_train=p_train;t_train=t_train;p_test=p_test;t_test=t_test;% 将数据归一化pn,minp,maxp,tn,mint,maxt=premnmx(p_train,t_train);p2n=tramnmx(p_test,minp,maxp);for sc=0.1:0.01:1; tic, net=newgrnn(pn,tn,sc); sc toc Out=sim(net,p2n); a2=postmnmx(Out,mint,maxt); e=t_test-a2; perf=

    12、mse(e); Y=sim(net,pn); a3=postmnmx(Y,mint,maxt); ep=a3-t_train; perfp=mse(ep); hold on; figure(1); title(网络的预测误差) plot(sc,perf,g:*); hold on; figure(2); title(网络的逼近误差) plot(sc,perfp,r:*);end%通用感应器神经网络P=-0.5 -0.5 0.3 -0.1 -40;-0.5 0.5 -0.5 1 50;%输入向量T=1 1 0 0 1;%期望输出plotpv(P,T);%描绘输入点图像net=newp(-40 1

    13、;-1 50,1);%生成网络,其中参数分别为输入向量的范围和神经元感应器数量hold onlinehandle=plotpc(net.iw1,net.b1);net.adaptparam.passes=3;for a=1:25%训练次数net,Y,E=adapt(net,P,T);linehandle=plotpc(net.iw1,net.b1,linehandle);drawnow;end%通用线性网络程序%通用newlind进行预测time=0:0.025:5;T=sin(time*4*pi);Q=length(T);P=zeros(5,Q);%P中存储信号T的前5(可变,根据需要而定)

    14、次值,作为网络输入。P(1,2:Q)=T(1,1:(Q-1);P(2,3:Q)=T(1,1:(Q-2);P(3,4:Q)=T(1,1:(Q-3);P(4,5:Q)=T(1,1:(Q-4);P(5,6:Q)=T(1,1:(Q-5);plot(time,T)%绘制信号T曲线xlabel(时间);ylabel(目标信号);title(待预测信号);net=newlind(P,T);%根据输入和期望输出直接生成线性网络a=sim(net,P);%网络测试figure(2)plot(time,a,time,T,+)xlabel(时间);ylabel(输出-目标+);title(输出信号和目标信号);e=T-a;figure(3)plot(time,e)hold onplot(min(time) max(time),0 0,r:)%可用plot(x,zeros(size(x),r:)代替hold offxlabel(时间);ylabel(误差);title(误差信号);


    注意事项

    本文(Matlab中各种神经网络的使用示例.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开