版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB程序代码-bp神经网络通用代码matlab通用神经网络代码学习了一段时间的神经网络,总结了一些经验,在这愿意和大家分享一下,希望对大家有帮助,也希望大家可以把其他神经网络的通用代码在这一起分享感应器神经网络、线性网络、BP神经网络、径向基函数网络%通用感应器神经网络。P=-0.5-0.50.3-0.1-40;-0.50.5-0.5150;%输入向量T=11001;%期望输出plotpv(P,T);%描绘输入点图像net=newp(-401;-150,1);%生成网络,其中参数分别为输入向量的范围和神经元感应器数量holdonlinehandle=plotpc(net.iw1,net
2、.b1);net.adaptparam.passes=3;fora=1:25%训练次数net,Y,E=adapt(net,P,T);linehandle=plotpc(net.iw1,net.b1,linehandle);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,
3、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)holdonplot(min(time)max(time),00,r:)%可用plot(x,zeros(
4、size(x),r:)代替holdoffxlabel(时间);ylabel(误差);title(误差信号);%通用BP神经网络P=-1-122;0505;t=-1-111;net=newff(minmax(P),3,1,tansig,purelin,traingd);%输入参数依次为:样本P范围,各层神经元数目,各层传递函数,训练函数%训练函数traingd-梯度下降法,有7个训练参数.%训练函数traingdm-有动量的梯度下降法,附加1个训练参数me(动量因子,缺省为0.9)%训练函数traingda-有自适应lr的梯度下降法,附加3个训练参数:lr_inc(学习率增长比,缺省为1.05;
5、%lr_dec(学习率下降比,缺省为0.7);max_perf_inc(表现函数增加最大比,缺省为1.04)%训练函数traingdx-有动量的梯度下降法中赋以自适应lr的方法,附加traingdm和traingda的4个附加参数%训练函数trainrp-弹性梯度下降法,可以消除输入数值很大或很小时的误差,附加4个训练参数:%delt_inc(权值变化增加量,缺省为1.2);delt_dec(权值变化减小量,缺省为0.5);%delta0(初始权值变化,缺省为0.07);deltamax(权值变化最大值,缺省为50.0)%适合大型网络%训练函数traincgf-Fletcher-Reeves共
6、轭梯度法;训练函数traincgp-Polak-Ribiere共轭梯度法;%训练函数traincgb-Powell-Beale共轭梯度法%共轭梯度法占用存储空间小,附加1训练参数searchFcn(一维线性搜索方法,缺省为srchcha);缺少1个训练参数lr%训练函数trainscg-量化共轭梯度法,与其他共轭梯度法相比,节约时间适合大型网络%附加2个训练参数:sigma(因为二次求导对权值调整的影响参数,缺省为5.0e-5);%lambda(Hessian阵不确定性调节参数,缺省为5.0e-7)缺少1个训练参数:lr%训练函数trainbfg-BFGS拟牛顿回退法,收敛速度快,但需要更多内
7、存,与共轭梯度法训练参数相同,适合小网络%训练函数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;%限时训练迭代过程(NaN表示不显示,缺省为25)net.trainparam.goal=1e-5;
8、%训练要求精度(缺省为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神经网络%在径向基网络中,径向基层的散步常数是spread的选取是关键%spread越大,需要的神经元越少,但精度会相应下降,spread的缺省值为1%可以通过
9、net=newrbe(P,T,spread)生成网络,且误差为0%可以通过net=newrb(P,T,goal,spread)生成网络,神经元由1开始增加,直到达到训练精度或神经元数目最多为止%GRNN网络,迅速生成广义回归神经网络(GRNN)P=456;T=1.53.66.7;net=newgrnn(P,T);%仿真验证p=4.5;v=sim(net,p)%PNN网络,概率神经网络P=00;11;03;14;31;41;43;Tc=1122333;%将期望输出通过ind2vec()转换,并设计、验证网络T=ind2vec(Tc);net=newpnn(P,T);Y=sim(net,P);Yc
10、=vec2ind(Y)%尝试用其他的输入向量验证网络P2=14;01;52;Y=sim(net,P2);Yc=vec2ind(Y)%应用newrb()函数构建径向基网络,对一系列数据点进行函数逼近P=-1:0.1:1;T=-0.9602-0.5770-0.07290.37710.64050.66000.4609.0.1336-0.2013-0.4344-0.500-0.3930-0.1647-0.0988.0.30720.39600.34490.1816-0.0312-0.2189-0.3201;%绘制训练用样本的数据点plot(P,T,r*);title(训练样本);xlabel(输入向量P
11、);ylabel(目标向量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,a3,r,p,a4,m-)title(径向基传递函数权值之和)xlabel(输入p);y
12、label(输出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);holdonplot(X,Y);holdofflegend(目标输出)%应用grnn进行函数逼近P=12345678;T=01232121;plot(P,T,.,markersize,30)axis(09-14)title(待逼近函数)xlabel(
13、P)ylabel(T)%网络设计%对于离散数据点,散布常数spread选取比输入向量之间的距离稍小一些spread=0.7;net=newgrnn(P,T,spread);%网络测试A=sim(net,P);holdonoutputline=plot(P,A,o,markersize,10,color,100);title(检测网络)xlabel(P)ylabel(T和A)%应用pnn进行变量的分类P=12;22;11;%输入向量Tc=123;%P对应的三个期望输出%绘制出输入向量及其相对应的类别plot(P(1,:),P(2,:),.,markersize,30)fori=1:3text(P
14、(1,i)+0.1,P(2,i),sprintf(class%g,Tc(i)endaxis(0303);title(三向量及其类别)xlabel(P(1,:)ylabel(P(2,:)%网络设计T=ind2vec(Tc);spread=1;net=newgrnn(P,T,speard);%网络测试A=sim(net,P);Ac=vec2ind(A);%绘制输入向量及其相应的网络输出plot(P(1,:),P(2,:),.,markersize,30)fori=1:3text(P(1,i)+0.1,P(2,i),sprintf(class%g,Ac(i)endaxis(0303);title(网
15、络测试结果)xlabel(P(1,:)ylabel(P(2,:)P=13,0,1.119,1,26.3;22,0,1.135,1,26.3;-15,0,0.9017,1,20.4;-30,0,0.9172,1,26.7;24,0,1.238,0.9704,28.2;3,24,1.119,1,26.3;0,52,1.089,1,26.3;0,-73,1.0889,1,26.3;1,28,0.8748,1,26.3;-1,-39,1.1168,1,26.7;-2,0,1.495,1,26.3;0,-1,1.438,1,26.3;4,1,0.4964,0.9021,26.3;3,-1,0.5533,1.2357,26.7;-5,0,1.7368,1,26.7;1,0,1.1045,0.0202,26.3;-2,0,1.1168,1.3764,26.7;-3,-1,1.1655,1.4418,27.5;3,2,1.0875,0.748,27.5;-3,0,1.1068,2.2092,26.3;4,1,0.9017,1,13.7;3,2,0.9017,1,14.9;-3,1,0.9172,1,13.7;-2,0,1.0198,1.0809,16.1;0,1,0.9172,1,13.7T=1,0,0,0,0;1,0,0,0,0;1,0,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沟通的课件教学课件
- 2024年广告资源销售合同文本
- 2024年度合作经营咖啡馆之合伙协议书
- 模拟法庭课件教学课件
- 课件带语音教学课件
- 2024商场美食广场保险服务合同
- 2024【工商局业务表格格式条款备案申请书】工商局合同格式条款整治工作方案
- 2024年度吨不锈钢带打印功能电子地磅秤生产批次检验合同
- 04道路交通事故赔偿合同
- 2024房产借款抵押合同样本
- 个人理财课程房产规划课件
- 混凝土浇筑及振捣措施方案
- 《思想道德与法治》 课件 第四章 明确价值要求 践行价值准则
- 施工现场消防安全验收表(总平面布置)
- 小学数学教师家长会ppt
- 君子自强不息课件
- 2022人教版高二英语新教材选择性必修全四册课文原文及翻译(英汉对照)
- WDZANYJY23低压电力电缆技术规格书
- 抗高血压药物基因检测课件
- 医院管理医院应急调配机制
- (公开课)文言文断句-完整版课件
评论
0/150
提交评论