依古比古922 2022-04-15 21:17 采纳率: 89.3%
浏览 29
已结题

请问BP神经网络怎么对未来的数据进行预测?感觉train_input和test_output这些都是已知的数据?是只用来训练模型的吗?那要预测未来的数据还需要怎么做呢?

clc
clear
train_input=[56 57 57 57;
57 57 57 57;
57 57 57 57;
57 57 57 57;
57 57 57 58;
57 57 58 58;
57 58 58 58;
58 58 58 59;
58 58 59 59;
58 59 59 59;
59 59 59 60;
59 59 60 60;
59 60 60 60;
60 60 60 60;
60 60 60 60;
60 60 60 60;
60 60 60 60;
60 60 60 60;
60 60 60 60;
60 60 60 60;
60 60 60 61;
60 60 61 61;
60 61 61 61;
61 61 61 61;
61 61 61 62;
61 61 62 62;
61 62 62 62;
62 62 62 62;
62 62 62 62;
62 62 62 62;
62 62 62 63;
62 62 63 63;
62 63 63 63;
63 63 63 64;
63 63 64 65;
63 64 65 65;
64 65 65 65;
65 65 65 65;
65 65 65 66;
65 65 66 66;
65 66 66 66;
66 66 66 67;
66 66 67 67;
66 67 67 68;
67 67 68 68;
67 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68;
68 68 68 68];
train_input=train_input';
train_output=[57;
57;
57;
58;
58;
58;
59;
59;
59;
60;
60;
60;
60;
60;
60;
60;
60;
60;
60;
61;
61;
61;
61;
62;
62;
62;
62;
62;
62;
63;
63;
63;
64;
65;
65;
65;
65;
66;
66;
66;
67;
67;
68;
68;
68;
68;
68;
68;
68;
68;
68;
68;
68;
68;
68;
69];
train_output=train_output';
bpnet=newff(train_input,train_output,[10,1],{'tansig','purelin'},'traingd');
bpnet.trainparam.show=5;
bpnet.trainparam.epochs=500;
bpnet.trainparam.goal=0.0001;
bpnet.trainparam.lr=0.01;
[bpnet,tr]=train(bpnet,train_input,train_output);
A=sim(bpnet,train_input);
E=A-train_output;
figure(1)
plot(train_output,'k');
hold on
plot(A,'K.:');
legend('训练样本值','BP拟合值');xlabel('样本序号');ylabel('深基坑沉降量');
figure(2)
plot(train_output-A,'-');
legend('训练样本误差');ylabel('训练绝对误差');xlabel('样本序号');ylabel('深基坑沉降量')
grid;
test_input=[68 68 68 69;
68 68 69 69;
68 69 69 69;
69 69 69 70;
69 69 70 71;
69 70 71 72;
70 71 72 72;
71 72 72 72;
72 72 72 72;
72 72 72 73;
72 72 73 74;
72 73 74 75];
test_input=test_input';
test_output=[69;
69;
70;
71;
72;
72;
72;
72;
73;
74;
75;
75];
test_output=test_output';
a2n=sim(bpnet,test_input);
E=a2n-test_output;
figure(3)
plot(test_output,'K');
hold on
plot(a2n,'K.:');
legend('实际输出值','期望输出值');xlabel('样本序号');ylabel('深基坑施工风险评估值');
figure(4)
plot(test_output-a2n,'-');
legend('测试样本误差');ylabel('测试绝对误差');xlabel('样本序号');
a2n

  • 写回答

1条回答 默认 最新

  • 不会长胖的斜杠 后端领域新星创作者 2022-04-15 21:37
    关注

    流程:
    train 用来训练模型,将模型训练完毕之后保存下来
    用训练好的模型进行预测

    BP神经网络怎么对未来的数据进行预测? 用训练好的模型来predict
    **train_input和test_output这些都是已知的数据 ** train 用来训练模型,test是用来给你看训练效果的,这都是已知的,但是你可以用符合条件的数据代替test数据输入到模型,得到预测结果,也就是未来的预测结果

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月18日
  • 已采纳回答 5月10日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 Mac虚拟机安装Windows,Windows中用idea跑项目,报错process finished with exit code -1073741819(0xc0000005) 如何解决?
  • ¥15 关于python爬虫返回js数据结构的处理
  • ¥15 ubuntu所用stm32标准库开发烧录没反映
  • ¥15 运维工程师(在职人员回答)
  • ¥15 python 爬虫问题
  • ¥15 Kmeans的趋势分析有会的吗
  • ¥20 R语言单细胞测序 对seurat对象进行标准化时出现问题
  • ¥15 Anaconda navigator updateor一直更新
  • ¥15 请问如何在matlab里使用raven工具?
  • ¥100 关于ios手游充值到一定金额,再点充值提示公众号的问题。