Matlab神经网络预测旅游人口、失业率等_第1页
Matlab神经网络预测旅游人口、失业率等_第2页
Matlab神经网络预测旅游人口、失业率等_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TOC o 1-5 h zs=493372445;372445176;445176235;176235378;235378429;378429561;429561651;561651467;651467527;467527668;527668841;668841526;841526480;526480567;480567685;p=s;t=176235378429561651467527668841526480567685507;%数据归一化处理%mapminmax函数默认将数据归一化到-1,1normInput,ps=mapminmax(p);normTarget,ts=mapminmax(

2、t);%将输入的15组数据的20%,即3组,用来作为测试数据;%样本的20%,即3组,用来作为变化数据;%另外9组用来正常输入,用来训练;testPercent=0.20;%AdjustasdesiredvalidatePercent=0.20;%AdustasdesiredtrainSamples,validateSamples,testSamples=dividevec(normInput,normTarget,validatePercent,testPercent);%设置网络参数forj=1:200NodeNum1=20;%隐层第一层节点数NodeNum2=40;%隐层第二层节点数Ty

3、peNum=1;%输出维数TF1二tansig;TF2二tansig;TF3二tansig;%各层传输函数,TF3为输出层传输函数%如果训练结果不理想,可以尝试更改传输函数,以下这些是各类传输函数%TF1=tansig;TF2=logsig;%TF1=logsig;TF2=purelin;%TF1=tansig;TF2=tansig;%TF1=logsig;TF2=logsig;%TF1=purelin;TF2=purelin;net=newff(minmax(normInput),NodeNum1,NodeNum2,TypeNum,TF1TF2TF3,traingdx);%网络创建%设置训练

4、参数net.trainParam.epochs=10000;%训练次数设置net.trainParam.goal=le-6;%训练目标设置net.trainParam.lr=0.01;%学习率设置,应设置为较少值,太大虽然会在开始加快收敛速度,但临近最佳点时,会产生动荡,而致使无法收敛%指定训练参数%net.trainFcn=traingd;%梯度下降算法%net.trainFcn=traingdm;%动量梯度下降算法%net.trainFcn=traingda;%变学习率梯度下降算法%net.trainFcn=traingdx;%变学习率动量梯度下降算法%(大型网络的首选算法)%net.tr

5、ainFcn=trainrp;%RPROP(弹性BP)算法,内存需求最小%(共轭梯度算法)%net.trainFcn=traincgf;%Fletcher-Reeves修正算法%net.trainFcn=traincgp;%Polak-Ribiere修正算法,内存需求比Fletcher-Reeves修正算法略大%net.trainFcn=traincgb;%Powell-Beal复位算法,内存需求比Polak-Ribiere修正算法略大%(大型网络的首选算法)%net.trainFcn=trainscg;%ScaledConjugateGradient算法,内存需求与Fletcher-Reev

6、es修正算法相同,计算量比上面三种算法都小很多%net.trainFcn=trainbfg;%Quasi-NewtonAlgorithms-BFGSAlgorithm,计算量和内存需求均比共轭梯度算法大,但收敛比较快%net.trainFcn=trainoss;%OneStepSecantAlgorithm,计算量和内存需求均比BFGS算法小,比共轭梯度算法略大%(中型网络的首选算法)%net.trainFcn=trainlm;%Levenberg-Marquardt算法,内存需求最大,收敛速度最快%net.trainFcn=trainbr;%贝叶斯正则化算法%有代表性的五种算法为:train

7、gdx,trainrp,trainscg,trainoss,trainlmnet.trainfcn=traingdm;TOC o 1-5 h znet,tr=train(net,trainSamples.P,trainSamples.T,validateSamples,testSamples);normTrainOutput,Pf,Af,E,trainPerf=sim(net,trainSamples.P,,trainSamples.T);%正常输入的9组p数据,BP得到的结果tnormValidateOutput,Pf,Af,E,validatePerf=sim(net,validateSa

8、mples.P,validateSamples.T);%用作变量3的数据p,BP000结果tnormTestOutput,Pf,Af,E,testPerf=sim(net,testSamples.P,testSamples.T);%用作测试的3组数据p,BP000D0ttrainOutput二mapminmax(reverse,normTrainOutput,ts);%正常输入的9组p数据,BP得到的归一化后的结果ttrainInsect二mapminmax(reverse,trainSamples.T,ts);%正常输入的9组数据tvalidateOutput二mapminmax(rever

9、se,normValidateOutput,ts);%用作变量30数据p,BP000归一化的结果tvalidatelnsect二mapminmax(reverse,validateSamples.T,ts);%用作变量30数据ttestOutput二mapminmax(reverse,normTestOutput,ts);%用作变量3组数据p,BP000归一化0结果ttestlnsect二mapminmax(reverse,testSamples.T,ts);%用作变量3组数据t%绝对误差计算absTrainError=trainOutput-trainInsect;absTestError=

10、testOutput-testInsect;error_sum二sqrt(absTestError(l).2+absTestError(2).2+absTestError(3).2);All_error=absTrainErrorabsTestErrorerror_sum;eps=90;%其为3组测试数据的标准差,或者每个数据偏差在一定范围内而判别if(abs(absTestError(1)=30)&(abs(absTestError(2)=30)&(abs(absTestError(3)=30)|(error_sum=eps)savemynetdatanetbreakendjendjMin_error_sqrt=min(All_error)testOutputtestInsect%数据分析和绘图%figureplot(1:12,trainOutputvalidateOutput,b-,1:12,trainInsectvalidateInsect

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论