声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1305|回复: 4

[综合讨论] 这个神经网络,莫非真的发神经了?

[复制链接]
发表于 2007-7-14 23:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
首先说明,我是一个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');
[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T);
net=newff(minmax(Pn),[5,1],{'tansig','purelin'},'trainlm');
net=init(net);
net.trainParam.epochs=5000; %设置网络训练次数为5000次
net.trainParam.show=50; %设置每隔50次显示当前网络训练误差
net.trainParam.goal=0.001; %设置网络训练目标误差为0.001
[net,tr]=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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-7-15 13:12 | 显示全部楼层
还是那个问题,怎么不在原帖子下讨论呢?新开帖没必要吧?而且别人也看不到你的原始数据
 楼主| 发表于 2007-7-15 15:20 | 显示全部楼层
恩,只是见着原贴都在沉了,都没有人回贴,

于是,是在原贴的基础上,自己又组合了些数据
发表于 2007-7-15 15:56 | 显示全部楼层
晕,沉了自己回复一个就顶起来了啊:@L
 楼主| 发表于 2007-7-15 19:05 | 显示全部楼层
而原贴是一个具体的例子,而现在这个贴是一个概括,觉的还是稍稍有点区别的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 08:42 , Processed in 0.049577 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表