声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1279|回复: 3

[编程技巧] 用matlab编写的神经网络输出向量的利用问题

[复制链接]
发表于 2006-7-25 21:38 | 显示全部楼层 |阅读模式

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

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

x
神经网络用于故障诊断的问题

如果建立了一个网络
例如
p=[0.8726 0.9441 0;0 0 0.7093;0.7378 0.7093 0.3795;0.6416 0.3795 0.7031;1 0.7031 0.4241;0.7774 0.4241 0.9559;0.9559 0.5012 0.7052;...
0.8209 0.7052 0.4983;0.6011 0.4983 1;]';
t=[0 0.7378 0.6416 1 0.7774 0.5012 0.8209 0.6011 0.9350];
rand('state',0);
net=newff(minmax(p),[6,1],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=2000;
net.trainParam.goal=0.001;
net=train(net,p,t);
y=sim(net,p);
error=y-t;
res=norm(error);
p_test=[0.6011 0.4983 1]';
t_test=[ 0.8027]
a=sim(net,p_test)
训练后仿真得到的结果可以直接用于下一步的判断么
即利用if 语句进行条件判断,if a==0.9224
则执行相应的语句
问题是0.9224未知的前提下怎么进行判断呀
如果采用多个输出层神经元,又该如何进行下一步的判断
请告知大概语句

举了例子来说
p=[-1 -1 2 2;0 5 0 5];
t=[-1 -1 1 1];
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingd');
net.trainparam.show=50;
net.trainparam.lr=.05;
net.trainparam.epochs=300;
net.trainparam.goal=1e-5;
[net,tr]=train(net,p,t);
a=sim(net,p);
ptest=[-0.9 0.9 1.8 1.5;0.2 4.8 0.5 3.6];
ap=sim(net,p);
即使使用原来的训练样本来进行仿真输出结果都不是t=[-1 -1 1 1];
而是-1.0043 -0.9958 0.9986 0.9998
用其它数据输出更加不可知了,这又该怎样利用网络输出数据进行下一步的判断呢?

[ 本帖最后由 cdwxg 于 2006-7-27 20:23 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-7-26 17:19 | 显示全部楼层

初学者

请问语句
rand('state',0);
是什么意思呀?
发表于 2006-7-26 19:11 | 显示全部楼层
同问
发表于 2006-7-28 18:05 | 显示全部楼层

我知道了

rand('state',0);
是把均匀分布伪随机发生器置为0状态
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 04:18 , Processed in 0.090218 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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