re-us 发表于 2008-2-5 09:21

线性神经网络用于信号预测的一个问题

关于 周开利,康耀红 编写的 神经网络模型及其matlab仿真程序设计上P65,3.神经网络用于信号预测,有一个问题:

既然是用输入信号的前两个时刻的值预测当前的值,我认为应该是这样的,用time=0.5和time=1可以预测time=1.5的值;用time=1和time=1.5可以预测time=2的值。依次类推。所以预测值要比原来值的少两个的。
结合程序就是:output{1}要比y少两个值,才合理呀?
我理解错了?请指导,谢谢。
下面是代码:

clear all;

time=0.5:0.5:20;
y=(rand(1,40)-0.5)*4;
p=con2seq(y);
delays=;
t=p;

net=newlin(minmax(y),1,delays,0.0005);
net.adaptparam.passes=70;
=adapt(net,p,t);

hold on
subplot(3,1,1);
plot(time,y,'k*-');
xlabel('t','position',);
ylabel('随机信号s(t)')
axis();

subplot(3,1,2);
output=seq2con(output);
plot(time,output{1},'ko-');
xlabel('t','position',);
ylabel('预测输出信号y(t)')
axis();

subplot(3,1,3);
e=output{1}-y;
plot(time,e,'k-');
xlabel('t','position',);
ylabel('误差曲线e(t)')
axis();
hold off

frogfish 发表于 2008-2-29 22:07

理解的不太对,建议看看《神经网络在预测问题中可用条件的讨论》一文

该文介绍了神经网络预测原理和适用条件

snake 发表于 2008-3-5 12:21

答复

输出的前2个值是初始值,从第3个才是预测值,从误差曲线也可看出

snake 发表于 2008-3-5 12:34

也就是说,不管第一个数据前2个时刻的值为多少,神经网络总是要根据网络的初始权值和输入输出相应的值
页: [1]
查看完整版本: 线性神经网络用于信号预测的一个问题