mlzhang327 发表于 2007-5-31 12:17

求助神经网络的程序

各位大侠:

这是我写的神经网络训练的程序
P=[ 1 0 0 0 01 0 0 0 0;
    1 0 0 0 00 1 0 0 0;
    1 0 0 0 00 0 1 0 0;
    1 0 0 0 00 0 0 1 0;
    1 0 0 0 00 0 0 0 1;
    0 1 0 0 01 0 0 0 0;
    0 1 0 0 00 1 0 0 0;
    0 1 0 0 00 0 1 0 0;
    0 1 0 0 00 0 0 1 0;
    0 1 0 0 00 0 0 0 1;
    0 0 1 0 01 0 0 0 0;
    0 0 1 0 00 1 0 0 0;
    0 0 1 0 00 0 1 0 0;
    0 0 1 0 00 0 0 1 0;
    0 0 1 0 00 0 0 0 1;
    0 0 0 1 01 0 0 0 0;
    0 0 0 1 00 1 0 0 0;
    0 0 0 1 00 0 1 0 0;
    0 0 0 1 00 0 0 1 0;
    0 0 0 1 00 0 0 0 1;
    0 0 0 0 11 0 0 0 0;
    0 0 0 0 10 1 0 0 0;
    0 0 0 0 10 0 1 0 0;
    0 0 0 0 10 0 0 1 0;
    0 0 0 0 10 0 0 0 1]';
T=[ 0   0   0.50    0;
    0   0   0    0.50;
    0   0   0    0.50;
    0   0   0    0    1;
    0   0   0    0    1;
    0   0   1    0    0;
    0   0   0    0.50;
    0   0   0    0.50;
    0   0   0    0.50;
    0   0   0    0    1;
    0   0.5 0    0    0;
    0   0.5 0    0    0;
    0   0   1    0    0;
    0   0   1    0    0;
    0   0   0    0.50;
    1   0   0    0    0;
    0   0.5 0    0    0;
    0   0.5 0    0    0;
    0   0.5 0    0    0;
    0   0   1    0    0;
    1   0   0    0    0;
    1   0   0    0    0;
    0   0.5 0    0    0;
    0   0.5 0    0    0;
    0   0.5 0    0    0;]';
%根据Kolmogorov定理,由输入层有10个结点,所以中间层有21个结点
%中间层神经元的传递函数为tansig
%输出层有7个结点,其神经元传递函数为logsig
%训练函数采用traingdx
net=newff(minmax(P),,{'tansig','logsig'},'traingdx');
%训练步数为1000次
%训练目标误差为0.001
net.trainParam.epochs=1000;
net.trainParam.goal=0.001;
net=train(net,P,T);


我的问题:
1、为什么不是每次训练都能达到目标误差呢?怎么样才算这个网络训练好了?
2、怎样利用离线训练好的网络呢?直接在后面加C=sim(net,P);吗?这样的话,这是在线计算吧?在这个过程中,达不到目标误差,结果可不可靠?为什么每次输出的结果差别非常大?

谢谢各位,能不能传一个完整的神经网络的例子啊??

谢谢

eight 发表于 2007-5-31 14:19

原帖由 mlzhang327 于 2007-5-31 12:17 发表 http://www.chinavib.com/forum/images/common/back.gif
各位大侠:

这是我写的神经网络训练的程序
P=[ 1 0 0 0 01 0 0 0 0;
    1 0 0 0 00 1 0 0 0;
    1 0 0 0 00 0 1 0 0;
    1 0 0 0 00 0 0 1 0;
    1 0 0 0 00 0 0 0 1;
    0 1 0 0 01 ...

请搜索版面,有很多关于神经网络的讨论,请参考一下
页: [1]
查看完整版本: 求助神经网络的程序