RBF神经网络预测
希望用RBF神经网络预测一下数据。下面是我自己写的,想用前50组数预测后50组,但是不行。不知道什么地方有问题,是不是没有训练数据,怎么训练?大神帮我改改load('C:...
希望用RBF神经网络预测一下数据。下面是我自己写的,想用前50组数预测后50组,但是不行。不知道什么地方有问题,是不是没有训练数据,怎么训练?大神帮我改改
load('C:\Users\shi\Desktop\1.mat')
T=sample(1:50,1);
P=1:1:50;
plot(P,T,'+');
eg=0.1;
sc=0.01;
T=T';
net=newrb(P,T,eg,sc);
y=sim(net,P);
figure(1);
hold on
plot(P,y);
hold off
text_data=sample(51:100,1);
x1=text_data;
x1=x1';
y1=sim(net,x1);
figure(2)
plot(P,y1,'g');
title('yuce');
figure(3)
title('shiji');
plot(P,x1,'r'); 展开
load('C:\Users\shi\Desktop\1.mat')
T=sample(1:50,1);
P=1:1:50;
plot(P,T,'+');
eg=0.1;
sc=0.01;
T=T';
net=newrb(P,T,eg,sc);
y=sim(net,P);
figure(1);
hold on
plot(P,y);
hold off
text_data=sample(51:100,1);
x1=text_data;
x1=x1';
y1=sim(net,x1);
figure(2)
plot(P,y1,'g');
title('yuce');
figure(3)
title('shiji');
plot(P,x1,'r'); 展开
1个回答
展开全部
<神经网络之家>nnetinfo:
首先要明确网络的输入, 你在训练的时候,使用1-50作为输入,sample里的数据做输出.在用它来做预测时,却用sample里的数据做输入,这样就乱套了.
若果只有一列数据,而这列数据又不是时间序列,那就没办法用前面的数据去预测后面的数据.因为它们之间没有关联.
首先要明确网络的输入, 你在训练的时候,使用1-50作为输入,sample里的数据做输出.在用它来做预测时,却用sample里的数据做输入,这样就乱套了.
若果只有一列数据,而这列数据又不是时间序列,那就没办法用前面的数据去预测后面的数据.因为它们之间没有关联.
更多追问追答
追问
确实只有一列数据,是按照时间排序的。那个sim我知道错了,但是还是没法预测后50个,大神能不能随机生成100个数,按时间序列给我改一下?
追答
测试了,可以跑过,注意eg和sc的设置.请点个赞
close all
data=sin(linspace(1,10,100));
%前面三个数据作为输入,预测后一个数据
P = [data(1:50-3);data(2:50-2);data(3:50-1)];
T=data(4:50);
eg=0.0001;
sc=0.5;
net=newrb(P,T,eg,sc);
y=sim(net,P);
figure(1);
hold on
plot(T);
plot(y,'r')
hold off
text_data=data(51:100);
testP = [text_data(1:50-3);text_data(2:50-2);text_data(3:50-1)];
testT=text_data(4:50);
testY=sim(net,testP);
figure(2)
hold on
plot(testT);
plot(testY,'r')
hold off
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询