leo603220 发表于 2008-2-28 14:58

新手,有个问题请教大家

使用Matlab神经网络工具箱得到了权重和阈值,使用得到的权重和阈值计算的结果和sim得到的结果不一致,这是怎么回事?

frogfish 发表于 2008-2-29 21:43

matlab神经网络工具箱的初始权重和阈值是系统随机给定

leo603220 发表于 2008-3-1 08:07

我说的权值和阈值是进行训练后得到的权值和阈值,net.IW{1,2}

frogfish 发表于 2008-3-1 08:57

不同的初始值可能会出现不同的训练结果

leo603220 发表于 2008-3-1 10:36

我的意思是使用训练得到的权值和阈值进行手工反算,比如输入为X=,sim得到的模拟结果与我根据BP网络结构进行手工计算得到的结果不同,相差较大。
后来我将神经元的所有权值和阈值都赋为0,隐藏层和输出层的传递函数为tansig,哪么不论输入X为多少,模拟结果都应该为0,但是sim(net,X)却不等于0,这是怎么回事???

感谢你的回答

fmao1982 发表于 2008-3-3 14:30

回复 5楼 的帖子

MS设置的初始权值不应该是零,至少应该是一组,零均值得随机数~!:@)

frogfish 发表于 2008-3-5 08:35

把你的程序贴上来看看,估计是你手算有问题

leo603220 发表于 2008-3-7 09:49

>> clear;
>> X=;
>> Y=;
>> net=newff(X,Y,1);
>> init(net);
生成一个输入,一个隐藏神经元,一个输出的BP神经网络。
使用NNTools查到
iw{1,1}=;
lw{2,1}=;
b{1}=;
b{2}=[-0.030293];
然后sim(net,);
ans=1.3302;
然而用手算的话
tansig(n) = 2/(1+exp(-2*n))-1;
ans=tansig(1*1.4+0)*0.72228-0.030293=0.609;
这是为什么?

[ 本帖最后由 leo603220 于 2008-3-7 09:53 编辑 ]
页: [1]
查看完整版本: 新手,有个问题请教大家