求助检查BP神经网络预测程序clear,clcP=1988:2003;%输入T=[ 0.1093 0.1110 0.1127 0.1141 0.1154 0.1164 0.1171 0.1175 0.1178 0.1179 0.1179 0.1178 0.1179 0.1180 0.1182 0.1186];%输出% 创建一个新的前向神经网络 net_1=newff(minmax(P)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 21:53:56

求助检查BP神经网络预测程序
clear,clc
P=1988:2003;%输入
T=[ 0.1093 0.1110 0.1127 0.1141 0.1154 0.1164 0.1171 0.1175 0.1178 0.1179 0.1179 0.1178 0.1179 0.1180 0.1182 0.1186
];%输出
% 创建一个新的前向神经网络
net_1=newff(minmax(P),[150,1],{'tansig','purelin'},'traingdm')
% 当前输入层权值和阈值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
% 当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}
% 设置训练参数
net_1.trainParam.show = 10;
net_1.trainParam.lr = 0.01;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-10;
% 调用 TRAINGDM算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);
% 对 BP 网络进行仿真
A = sim(net_1,P);
figure(1)
plot(P,T,'b+',P,A,'r');
legend('真实值','预测值'),title('训练效果');
% 计算仿真误差
E = T - A;
MSE=mse(E)
x=1989:2004;%测试
y=sim(net_1,x);
y(end)
figure(2)
plot(P,T,'b+',x,y,'r');
legend('真实值','预测值'),title('下一年预测');
请问2004的预测结果为何与2003的一样啊?

问题:
  1:隐含层的节点数应该小于训练样本数(你这里et_1=newff(minmax(P),[150,1],{'tansig','purelin'},'traingdm')中的150远远大于训练样本数10个(1989:2003))
  2:如果把时间当做样本输入的话,这是不太合适的.如果那样还不如用时间序列求解.而且在现在的这个程序中还会会出现ynhj88311说的那种情况.(这里还应该做归一化处理更好)
clc
clear   
date=1988:2003; 
P0=[ 0.1093 0.1110 0.1127 0.1141 0.1154 0.1164 0.1171 0.1175  0.1178 0.1179 0.1179 0.1178 0.1179 0.1180 0.1182 0.1186];% 样本数据这里数据在0~1之间就不用归一化处理了
plot(date,P0,'b+'); %原数据随时间变化的曲线
hold on 
title('原数据曲线图')
for i=1:13
     P(:,i)=P0(i:i+2);
     T(:,i)=P0(i+3);
end
%  创建一个新的前向神经网络 
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')
%  设置训练参数
net_1.trainParam.show = 1;
net_1.trainParam.lr = 0.2;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs=10000000;
net_1.trainParam.goal = 1e-10;
%  调用 TRAINGDM算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);
%  对 BP 网络进行仿真
A = sim(net_1,P)
E = T - A;
MSE=mse(E)
P2001=sim(net_1,[0.1179 0.1178 0.1179 ]');
P2002=sim(net_1,[0.1178 0.1179 0.1180 ]');
P2003=sim(net_1,[0.1179 0.1180 0.1182 ]');
p2=P0(14:16)';
yuce2004=sim(net_1,p2)
figure
Y=[A(1,:),P2001,P2002,P2003,yuce2004];
Date=[date,2004];
plot(Date,Y,'r+')

求助检查BP神经网络预测程序clear,clcP=1988:2003;%输入T=[ 0.1093 0.1110 0.1127 0.1141 0.1154 0.1164 0.1171 0.1175 0.1178 0.1179 0.1179 0.1178 0.1179 0.1180 0.1182 0.1186];%输出% 创建一个新的前向神经网络 net_1=newff(minmax(P) bp神经网络如何预测风电功率 BP神经网络预测降水量时输入和输出分别是什么 求MATLAB的BP神经网络预测程序年 份 2001 至2012共12年的销量数据是1183,1303,1278,1284,1187,1154,1267,1241,1302,1195,1256,1348.求高手给出BP神经网络的MatlAB预测程序,能直接运行出结果的能预测2013年的销量数 求高手帮做个 量子BP神经网络 MATLAB实验程序的 求用人工鱼群算法优化BP神经网络的matlab程序或者遗传算法优化BP神经网络的也行~ bp神经网络算法后的结果看不懂,都是英文,预测值怎么弄出来, Matlab神经网络预测问题 神经网络bp算法可以对样本进行预测,具体是预测什么?是预测这个样本的下一组数据还是预测整个下一个样本? 请赐教神经网络与遗传算法结合的程序或单独的神经网络预测程序或遗传算法的寻优程序 基于BP人工神经网络的英文字母识别,MATLAB的程序源代码 想用BP神经网络做一个分类预测,但是新手不会用,求指点可以加口口详谈 BP神经网络预测问题比如说已知某段时间内股市收盘价,怎样才能建立神经网络对未来的收盘价格做预测 通过测试数据训练模型之后怎么用它继续预测呢 求matlab大虾赐教~~~ bp神经网络算法的原理 BP神经网络中怎么样归一化 求基于BP神经网络的英文大写字母的识别算法的MATLAB程序用matlab设计一个BP网络,要给出完整程序. matlab BP神经网络matlab BP神经网络 可以预测未来的几个点吗 或者可以拟合出函数曲线延伸到未知区域?例如t=[1 2 3 4 5] R=[12 13 14 14 15] 然后经过建立 BP神经网络 模型 预测t=[6 7] 两点的R值呢! 关于BP神经网络预测的一个程序,例如:目前我有SF6气体在3气压的时候,根据电极间距离的变长(2,4,6,8,10,12,14)mm所得到的击穿电压值,5次测量后分别为(28 31 25 26 26;38 38 41 38 38;54 54 47 47 47;