bp神经网络遇到新的数据,就预测不准,怎么弄?

2024-05-20

1. bp神经网络遇到新的数据,就预测不准,怎么弄?

预测数据的话BP不是特别好用,最好用Elman反馈神经网络或者RNN循环神经网络,这些有记忆功能的网络比较好用。bp主要和你选择的隐含层数,和误差范围,学习率有关。你可以调节相关参数来改变神经网络,获得更精确的结果。

bp神经网络遇到新的数据,就预测不准,怎么弄?

2. 如何建立bp神经网络预测 模型

建立BP神经网络预测 模型,可按下列步骤进行:
1、提供原始数据
2、训练数据预测数据提取及归一化
3、BP网络训练
4、BP网络预测
5、结果分析
现用一个实际的例子,来预测2015年和2016年某地区的人口数。
已知2009年——2014年某地区人口数分别为3583、4150、5062、4628、5270、5340万人
执行BP_main程序,得到
[ 2015,  5128.631704710423946380615234375]
[ 2016, 5100.5797325642779469490051269531]
代码及图形如下。

3. BP神经网络预测,预测结果与样本数据的理解。

输入节点数是3,说明输入向量的行数m=3,你给的样本只有1行,是不是不全?输出节点只有一个,说明每3个输入数据对应一个预测的输出数据。
其实样本数量很少,就不需要训练那么多次了,训练了也白训练。你问“这样的预测结果代表着什么?”,你也没说这些数据在现实中是什么,怎么会知道呢。

BP神经网络预测,预测结果与样本数据的理解。

4. 用bp神经网络预测样本数据,有很少部分出现了负值,如何避免啊,结果肯定大于0,不可能为负值的。求高手

不可能吧,logsig的值域都是大于零的,检查一下输出节点的输出函数把,要不把代码贴上来看看

5. 怎么用已经训练好的BP神经网络进行预测下一个值?

如果你的输入归一化好了,那么仿真的时候也要归一化,用tramnmx函数,在结果输出的时候进行输出归一化,用postmnmx函数

怎么用已经训练好的BP神经网络进行预测下一个值?

6. bp神经网络预测一组数据

关键在于输入向量的制定:可选择前3年的数据作为输入,输入节点设为3;第4年的数据为输出,输出节点数设为1;隐层节点数设为4左右。这样便形成了样本,用这些样本去训练bp神经网络,将训练好的网络用于预测。
最后是以06、07、08的数据作为输入,去预测09的数据。再滚动迭代下去,直至将2012的数据预测出来。

附件是一个电力负荷的预测实例,按照我上面所说,稍微修改一下样本和节点数即可应用。

7. matlab BP神经网络预测下一组数据问题

楼主用的MATLAB是什么版本?
这段代码在2008b中会报错,虽然可以排除,但修改后在你的系统上未必兼容,所以最好用和你比较接近的版本来调试分析。

matlab BP神经网络预测下一组数据问题

8. 用matlab中bp神经网络实现由输入值预测输出值的程序

给你个例子如下,
net=newff(inputn,outputn,[8,4],{'tansig','purelin'},'trainscg');%初始化网络结构
%网络参数配置(迭代次数、学习率、目标)
net.trainParam.epochs=3000;
net.trainParam.lr=0.08;
net.trainParam.goal=0.05;
net.divideFcn = '';
[net,tr]=train(net,inputn,outputn);%网络训练
%网络预测输出
an=sim(net,inputn_test);
 
不过只了解输入预测输出,这些还不够,还要看你的输入数据的量,来确定隐含层,还需要看数据是不是归一化,我专门做神经网络的预测工作,可否加QQ探讨一下?