版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上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-','ko-.','k*-','r-'for i=1:length(spread) net=newgrnn(P,T,spread(i); a
2、=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_
3、train=p(1:10,:);p_test=p(11:13,:);t_train=t(1:10,:);t_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); s
4、c toc Out=sim(net,p2n); a2=postmnmx(Out,mint,maxt); e=t_test-a2' perf=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:*')
5、;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;-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
6、);drawnow;end%通用newlin程序%通用线性网络进行预测time=0:0.025:5;T=sin(time*4*pi);Q=length(T);P=zeros(5,Q);%P中存储信号T的前5(可变,根据需要而定)次值,作为网络输入。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(&
7、#39;待预测信号');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:')代替hol
8、d offxlabel('时间');ylabel('误差');title('误差信号');%通用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个训练参
9、数mc(动量因子,缺省为0.9)%训练函数traingda-有自适应lr的梯度下降法,附加3个训练参数:lr_inc(学习率增长比,缺省为1.05;% lr_dec(学习率下降比,缺省为0.7);max_perf_inc(表现函数增加最大比,缺省为1.04)%训练函数traingdx-有动量的梯度下降法中赋以自适应lr的方法,附加traingdm和traingda的4个附加参数%训练函数trainrp-弹性梯度下降法,可以消除输入数值很大或很小时的误差,
10、附加4个训练参数:% delt_inc(权值变化增加量,缺省为1.2);delt_dec(权值变化减小量,缺省为0.5);% delta0(初始权值变化,缺省为0.07);deltamax(权值变化最大值,缺省为50.0)% 适合大型网络%训练函数traincgf-Fletcher-Re
11、eves共轭梯度法;训练函数traincgp-Polak-Ribiere共轭梯度法;%训练函数traincgb-Powell-Beale共轭梯度法%共轭梯度法占用存储空间小,附加1训练参数searchFcn(一维线性搜索方法,缺省为srchcha);缺少1个训练参数lr%训练函数trainscg-量化共轭梯度法,与其他共轭梯度法相比,节约时间.适合大型网络 %
12、60; 附加2个训练参数:sigma(因为二次求导对权值调整的影响参数,缺省为5.0e-5);% lambda(Hessian阵不确定性调节参数,缺省为5.0e-7)% 缺少1个训练参数:lr%训练函数trainbfg-BFGS拟牛顿回退法,收敛速度快,但需要更
13、多内存,与共轭梯度法训练参数相同,适合小网络%训练函数trainoss-一步正割的BP训练法,解决了BFGS消耗内存的问题,与共轭梯度法训练参数相同%训练函数trainlm-Levenberg-Marquardt训练法,用于内存充足的中小型网络net=init(net);net.trainparam.epochs=300; %最大训练次数(前缺省为10,自trainrp后,缺省为100)net.trainparam.lr=0.05; %学习率(缺省为0.01)net.trainparam.show=50; &
14、#160; %限时训练迭代过程(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);
15、; %网络训练a=sim(net,P) %网络仿真%通用径向基函数网络%其在逼近能力,分类能力,学习速度方面均优于BP神经网络%在径向基网络中,径向基层的散步常数是spread的选取是关键%spread越大,需要的神经元越少,但精度会相应下降,spread的缺省值为1%可以通过net=newrbe(P,T,spread)生成网络,且误差为0%可以通过net=newrb(P,T,goal,spread)生成网络,神经元由1开始增加,直到达到训练
16、精度或神经元数目最多为止%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;%将期望输出通过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=
17、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.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201;%绘制训练用样本的数据点plot(P,T,'r*');title('训练样本');xlabel('输入向量P');ylabe
18、l('目标向量T');%设计一个径向基函数网络,网络有两层,隐层为径向基神经元,输出层为线性神经元%绘制隐层神经元径向基传递函数的曲线p=-3:.1:3;a=radbas(p);plot(p,a)title('径向基传递函数')xlabel('输入向量p')%隐层神经元的权值、阈值与径向基函数的位置和宽度有关,只要隐层神经元数目、权值、阈值正确,可逼近任意函数%例如a2=radbas(p-1.5);a3=radbas(p+2);a4=a+a2*1.5+a3*0.5;plot(p,a,'b',p,a2,'g',p,a
19、3,'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)
20、;hold onplot(X,Y);hold offlegend('目标','输出')%应用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('检测网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 利用信息化手段提高小学语文教育中的德育效果研究
- 2024年度金融资产抵押权人信用担保合同3篇
- 2024年物联网设备研发与集成服务合同
- 2025中国科学院沈阳应用生态研究所岗位公开招聘1人(辽宁)高频重点提升(共500题)附带答案详解
- 2025中国石化石油工程地球物理限公司毕业生招聘35人高频重点提升(共500题)附带答案详解
- 2025中国民用航空西南地区空中交通管理局贵州分局应届毕业生招聘11人高频重点提升(共500题)附带答案详解
- 2025中国大唐集团江西分公司所属企业招聘12人高频重点提升(共500题)附带答案详解
- 2025中国农业科学院作物科学研究所大豆基因资源创新研究组科研助理公开招聘2人高频重点提升(共500题)附带答案详解
- 2025下学期广东广州工商学院辅导员招聘4人高频重点提升(共500题)附带答案详解
- 2025下半年广东省东莞市事业单位历年高频重点提升(共500题)附带答案详解
- GB/T 45089-20240~3岁婴幼儿居家照护服务规范
- 政府还款协议书(2篇)
- 院内获得性肺炎护理
- 居家养老服务报价明细表
- MOOC 研究生学术规范与学术诚信-南京大学 中国大学慕课答案
- 24春国家开放大学《离散数学》大作业参考答案
- 浙江大学实验报告(流体力学)
- 2023年大学生《思想道德与法治》考试题库附答案(712题)
- 2023年华南理工大学自然辩证法期末考试真题回忆版带参考答案
- 个人理财案例及解答(20210503131223)
- 【河北梆子剧本】《大登殿》
评论
0/150
提交评论