关于神经网络BP做的关于预测的问题

2024-05-18 23:56

1. 关于神经网络BP做的关于预测的问题

不是训练到一定程度,而是已经训练完了
在sim的时候出现问题,你需要将P_test转置一下,
即P_test=[0.2123 0.1257 0.1343 0.2079 0.5579 05716 0.7059 0.7145 0.7205 0.7401 0.7019 0.7136 0.2317 0.2936 0]'; 
因为P是15*10,T是12*10,
即有10组数据,15个输入,12个输出,
所以P_test应为15*1
而你的P_test为1*15,所以出错

关于神经网络BP做的关于预测的问题

2. 如何用BP神经网络实现预测

首先要知道你建立的这个模型的内部逻辑关系。。
1,确定隐层数,画出简要模型图。
2,确定采用什么样的神经网络来建立模型
3.通过测试数据来训练模型。。
4.根据测试训练得到的数据和实际数据进行比对,或者算出误差。从而修改隐层中的权值和阀值。
反复重复3-4.。最后得到一个最优的模型。

大致是这样。。。楼主说的太概略。。。无法回答清楚请抱歉

3. 求用matlab编BP神经网络预测程序

P=[。。。];输入T=[。。。];输出

%  创建一个新的前向神经网络 
net_1=newff(minmax(P),[10,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 = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;

%  调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

%  对 BP 网络进行仿真
A = sim(net_1,P);
%  计算仿真误差 
E = T - A;
MSE=mse(E)

x=[。。。]';%测试
sim(net_1,x) 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009

求用matlab编BP神经网络预测程序

4. 求助检查BP神经网络预测程序

问题:
  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+')

5. 如何编写预测人口预测的bp神经网络的程序

这个比较简单:
   就要看你要用前多少年作为预测,如果你要用5年作为一个周期的话,要预测x6,就要把x1,x2,x3,x4,x5前五年的数据作为神经网络的输入,这样就得到一组输入(x1,....x5)和对应的的输出x6,x6预测正确后,再构造第二组输入(x2,....x6)和对应的输出x7,如果训练数据20个,则应该构造15组输入和输出对对神经网络进行训练.然后可以用后面的几个数据进行预测.
   根据上面的这个模型可以构造BP网络结构为:5*H*1,H为隐层,可以根据启发式规则确定,如:H=5+1=6等.
   具体程序网上很多,下载下来看看就行.

如何编写预测人口预测的bp神经网络的程序

6. BP网络就是BP神经网络吗?

科普中国·科学百科:BP神经网络

7. 如何用MATLAB的BP神经网络做股票预测?

算法选择问题,我觉得3层够了吧,但是多少个节点看数据量了!训练过程算法选择也很重要!主要是这里个关键点吧

如何用MATLAB的BP神经网络做股票预测?

8. 数据较少时可以用bp神经网络预测吗

想做出预测,主要看你的数据能不能看出其中的规律。比如现在我给你 0, 1, 2,3 和 1, 2, 4, 8.四个点就能很简单的看出对应关系,第二组数是以2为底数,以第一组数为幂的规律。
如果你的数据具有非常复杂的对应关系,比如现在你分类到博彩类,用神经网络理论上讲是可以预测的的,很多人发了论文,讲怎么用神经网络预测双色球什么的。实际上效果并不是非常理想。因为内在规律太复杂,有限的数据无法透彻的归纳出来到底数据怎么变化。这种情况下,纵使你又几千个数据也不行。
比较保险的办法还是用逆向工程方法建立一个一个的子模型,然后整理成一个大模型再做预测。往往会比因为数据量不够引起的神经网络预测误差要小得多。