有关入境旅游人数的预测
小女子近日蛮头苦学matlab的神经网络编程,好不容易设计出如下程序,用五年一组的旅游人数,去滚动预测下一年的数据,程序如下,训练发现好像学习效率不是太好,哪位大侠可以帮帮看下原因不?事关毕业大计,不胜感激!
echo on
clc
P=[4175 4289 5624 3568 5440;
4289 5624 3568 5440 7489;
5624 3568 5440 7489 10210;
3568 5440 7489 10210 11679;
5440 7489 10210 11679 18055;
7489 10210 11679 18055 23591;
10210 11679 18055 23591 29184;
11679 18055 23591 29184 34495;
18055 23591 29184 34495 36122;
23591 29184 34495 36122 41009;
29184 34495 36122 41009 51397;
34495 36122 41009 51397 70693;
36122 41009 51397 70693 92763;
41009 51397 70693 92763 87249;
51397 70693 92763 87249 130047]';
%目标向量
T=;
%归一化
=PREMNMX(P,T); % 将数据归到[-1,1]
%训练
net=newff(minmax(P),,{'tansig','purelin'},'traingdm')
%当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
%设置训练参数
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 12500;
net.trainParam.goal = 1e-5;
pause
clc
%调用 TRAINGDM 算法训练 BP 网络
=train(net,PN,TN);
pause
clc
%对 BP 网络进行仿真
A = sim(net,P)
%计算仿真误差
E = T-A
MSE=mse(E)
pause
clc
echo off
页:
[1]