返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 人工智能|模式识别|机器学习|数字图像处理|SAR图像处理-不仅仅是MATLAB! > 人工神经网络(ANN)


人工神经网络(ANN) A discussion board for Artificial Neural Network(ANN)



回复
 
LinkBack 主题工具 显示模式
旧 2009-05-20, 11:00 PM   #1
初级会员
 
注册日期: 2009-05-08
年龄: 29
帖子: 2
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
流苏苏 正向着好的方向发展
尴尬 急救 :毕业设计神经网络问题

我的毕业设计老师让用神经网络,但是老师自己也不知道。我也是刚学。写出来的程序很不稳定。我也不知道要怎么办。
问题有:1,对于每一组数据结果总是差很多,有的时候说Maximum MU reached,我不知道MU 是什么,有的时候说梯度达到最小,有的时候说矩阵达到奇异化(Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 4.122506e-017.
> In trainlm at 318
In network.train at 278)。可是我不知道要怎么改程序,不知道是什么问题。
2,我用三组数据进行训练,可是误差很大,有的组的数据MSE误差达到0.001,有的组却又12.334,差别这么大,崩溃了。
现在介绍一哈我的系统,输入为两个节点(温度和黏度),输出一个节点(液体含油量这个是固定的,别的都是我自己写的。
另外参数要怎么选择我也不是很明白,还有就是输入数据和输出数据我也不是很明白要怎么选择。因为我看的书也没有介绍要怎么选择。
源代码如下:P1=[32 32 32 26 26 8 8 16 16 22 12 20 20 30 30 30 10 10 14 14 18 28 24];
P2=[80 88 94 84 94 82 86 84 94 86 90 88 94 84 90 94 88 96 82 90 90 90 84];
T=[34.9 30.8 25.4 36.4 29.7 49.1 48.0 43.0 39.1 38.0 43.8 38.5 35.4 33.6 29.4 26.7 46.1 44.1 45.0 42.1 39.0 30.7 37.8];
PTEST1=[18 18 14 14 14 8 8 32 32 26 22 10 10 30 30 28 24 24 12 12 12 16 20];
PTEST2=[88 92 80 86 92 92 84 90 84 86 90 90 84 96 80 86 82 90 80 86 96 90 90];
TTEST=[40.0 38.0 45.5 43.6 41.5 46.6 48.6 28.0 32.2 35.0 35.4 45.4 47.0 25.9 36.0 33.9 38.7 34.0 46.8 45.1 42.1 40.6 37.4];
P=[P1;P2];
PTEST=[PTEST1;PTEST2];

plot3(P1,P2,T);
title('目标矢量与输入关系');
xlabel('黏度');
ylabel('温度');
zlabel('含油量');
net=newff([8 32;80 96],[7,1],{'tansig','purelin'},'trainlm')
[R,Q]=size(P);
[S2,Q]=size(T);
S1=5;
[w1,b1]=rands(S1,R);
[w2,b2]=rands(S2,S1);
A2=purelin(w2*tansig(w1*P,b1),b2);
figure(2);
plot3(P1,P2,A2);
title('初始网络输出图');
xlabel('黏度');
ylabel('温度');
zlabel('含油量');
net.trainParam.epochs = 1000;
net.trainParam.show = 10;
net.trainParam.lr = 0.01;
net.trainParam.goal = 0.001;
[net,tr,A,E,Pf,Af] = train(net,P,T,[],[]);
A=sim(net,P);
figure(3);
plot3(P1,P2,A);
title('训练后网络输出图');
xlabel('黏度');
ylabel('温度');
zlabel('含油量');
E=T-A
MSE=mse(E)
A=sim(net,P)



另外一组输入和输出的数据是:
P1=[8 8 8 10 10 24 24 24 26 30 32 18 18 18 26 20 16 14 12 22 22 28 28];
P2=[80 88 96 82 92 80 88 96 90 92 96 80 86 94 82 82 82 96 92 84 96 84 94];
T=[49.5 47.7 45.9 47.5 45.0 39.7 35.3 30.1 32.2 28.0 24.1 43.0 40.8 37.1 37.5 41.1 43.6 40.1 43.1 39.0 31.9 35.0 28.0];
还有就是把训练数据和检测数据调换,误差还是差别很大。崩溃了。马上就要答辩。

怎么样才能把系统弄得稳定一些,误差要在 0.02以下 谢谢
谢谢各位。我在线等。也可以加QQ :506177678
流苏苏 当前离线   回复时引用此帖
旧 2009-05-25, 02:10 PM   #2
版主
 
注册日期: 2008-12-03
年龄: 33
帖子: 44
感谢他人: 8
有 5 帖获得 5 感谢
声望力: 9
karl_wang 正向着好的方向发展
默认 回复: 急救 :毕业设计神经网络问题

你好,你这个系统:输入为两个节点(温度和黏度),输出一个节点;那你就测量这两个节点的数据,再测得在这个两个数据条件下输出数据;多做得到些这样的数据,就可以训练神经网络了。
karl_wang 当前离线   回复时引用此帖
旧 2009-05-26, 04:09 PM   #3
初级会员
 
注册日期: 2009-05-08
年龄: 29
帖子: 2
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
流苏苏 正向着好的方向发展
默认 回复: 急救 :毕业设计神经网络问题

引用:
作者: karl_wang 查看帖子
你好,你这个系统:输入为两个节点(温度和黏度),输出一个节点;那你就测量这两个节点的数据,再测得在这个两个数据条件下输出数据;多做得到些这样的数据,就可以训练神经网络了。

版主,我想问一哈。两个节点到哪经验上需要多少输入数据呀 。谢谢 还有隐层节点理论上多少才是比较好的。谢谢
流苏苏 当前离线   回复时引用此帖
旧 2009-05-26, 04:46 PM   #4
版主
 
注册日期: 2008-12-03
年龄: 33
帖子: 44
感谢他人: 8
有 5 帖获得 5 感谢
声望力: 9
karl_wang 正向着好的方向发展
默认 回复: 急救 :毕业设计神经网络问题

至于输入多少比较合适这个也没有看到相关的资料有;不过这个隐层的神经元个数一般至少是输入神经元个数的:2n+1个。
karl_wang 当前离线   回复时引用此帖
旧 2013-05-28, 09:51 AM   #5
初级会员
 
注册日期: 2013-05-28
年龄: 27
帖子: 7
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
小手冰凉 正向着好的方向发展
默认 回复: 急救 :毕业设计神经网络问题

请问这个程序为什么不出图
小手冰凉 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 06:30 PM


Powered by vBulletin
版权所有 ©2000 - 2017,Jelsoft Enterprises Ltd.
陕ICP备07001583号

SEO by vBSEO ©2009, Crawlability, Inc.