作业帮 > 综合 > 作业

神经网络预测.我已经建立了一个神经网络模型,并用已知的输入输出去测试这个网络,但是如何求未知输入呢?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/03 03:15:33
神经网络预测.我已经建立了一个神经网络模型,并用已知的输入输出去测试这个网络,但是如何求未知输入呢?
我的程序如下:
%% 清空环境变量
clc
clear
%% 训练数据预测数据提取及归一化
%输入输出数据
load data input output;
%从1到6间随机排序
k=rand(1,10);
[m,n]=sort(k);
%找出训练数据和预测数据
input_train=input(n(1:8),:)';
output_train=output(:,n(1:8));
input_test=input(n(9:10),:)';
output_test=output(:,n(9:10));
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,7);
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00004;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
%网络预测输出
an=sim(net,inputn_test);
%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
现在通过测试的输入输入我得到较满意的精度时,需要随意输入一组数据(比如,输入为input_test=[600,60,600],得到未知的输出,请各位大神留步教教小弟如何编写程序?
不是很明白你说什么,什么叫未知的输入,能再说清楚点吗
再问: 是求未知输出,不好意思。也就是预测。我可以输入一组数据,得到一组输出,但是当我输入另外一组输入时,得到的输出与上组的输出是一模一样的,这个情况是为什么呢?
再答: 首先, 你想从输入得到输出,你可以用仿真函数sim,如果你的网络是没问题的,那么得出的输出相同,就说明你两个输入模式是相似的,我现在没有MATLAB,无法运行你的代码,不好意思