这个神经网络,莫非真的发神经了?
首先说明,我是一个BP神经网络的初学者,近来因毕业论文需要,现学现用,在本论坛诸多网友的帮忙下,以及参考了本论坛相关贴子,试着编写了一段BP神经网络的程序,但现主要问题为,在训练过程,精度极佳,而在检测时,效果极差许多网友解释是,是不是输入目标值与输出目标值整体上相关性就不好,于是我自己编了一个关系式:Y=X1+10X2+X3^1.2+X4^0.5,其中X1,X2,X3,X4为输入样本,Y为输出目标值,担心出现本论坛中出现的许多网友所说的训练样本量太少,我自己编了100组数据,前90组用来训练,后10组用来检测
我想,这样的样本组合,应该是百分百完美了吧,相关性R2都达到1了,而且样本的训练量应该也肯定够多了,结果,还是出现上述的现象,即训练时,效果极好,而预测时,精度极差
代码如下:
clear
P=load('p0.txt');
T=load('t0.txt');
PP=load('p1.txt')
TT=load('t1.txt');
=premnmx(P,T);
net=newff(minmax(Pn),,{'tansig','purelin'},'trainlm');
net=init(net);
net.trainParam.epochs=5000; %设置网络训练次数为5000次
net.trainParam.show=50; %设置每隔50次显示当前网络训练误差
net.trainParam.goal=0.001; %设置网络训练目标误差为0.001
=train(net,Pn,Tn); %利用函数train()对网络进行训练
y=sim(net,Pn); %利用函数sim()对训练年份和检验年份进行仿真
Y=postmnmx(y,min(T),max(T)) %%反归一化
AA=sim(net,PP);
T1=1:1:90;
figure;
plot(T1,T,'b',T1,Y,'r');
figure;
T2=1:1:10;
plot(T2,TT,'b',T2,AA,'r');
[ 本帖最后由 museum 于 2007-7-14 23:13 编辑 ] 还是那个问题,怎么不在原帖子下讨论呢?新开帖没必要吧?而且别人也看不到你的原始数据 恩,只是见着原贴都在沉了,都没有人回贴,
于是,是在原贴的基础上,自己又组合了些数据 晕,沉了自己回复一个就顶起来了啊:@L 而原贴是一个具体的例子,而现在这个贴是一个概括,觉的还是稍稍有点区别的
页:
[1]