数学建模社区-数学中国

标题: BP神经网络两个隐含层,每层神经元数目达五六十正常吗,隐层数目和神经元数目的疑问 [打印本页]

作者: 范克涵    时间: 2012-5-30 10:27
标题: BP神经网络两个隐含层,每层神经元数目达五六十正常吗,隐层数目和神经元数目的疑问
看众多资料都说,BP神经网络的隐层数一般一层就可以了,可是我的BP网络预测程序一个隐层始终达不到训练目标。于是我用了两层。还有隐层神经元数目一般好像就是2N+1或者其他,但是都不会很大,我的两个隐层每层用了五六十个神经元才达到训练目标。我不知道是我的程序哪里不对还是怎么的。大家帮忙看看
p=[2.09 450 1;
     2.22 450 1;
     2.39 450 1;
     2.53 450 1;
     2.72 450 1;
     2.89 450 1;
     2.72 410 1;
     2.72 510 1;
     2.72 570 1;
     2.72 630 1;
     2.72 690 1;
     2.72 450 0.04;
     2.72 450 0.06;
     2.72 450 0.08;
     2.72 450 1.2;
     2.72 450 1.4]';
t=[0 0;
    1.19 0.05483;
    1.75 0.152;
    1.944 0.2226;
    2.112 0.2829;
    2.228 0.3201;
    2.152 0.2954;
    2.064 0.2643;
    2.016 0.2463;
    1.968 0.229;
    1.918 0.2115;
    1.79 0.1579;
    1.964 0.2279;
    2.1 0.2832;
    2.156 0.2952;
    2.196 0.3037]';
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);%原始数据归一化
net=newff(minmax(pn),[58,55,2],{'tansig','tansig','purelin'},'trainscg','learngd','msereg');
net.trainParam.epochs=5000;
net.trainParam.goal=0.001;
net.trainParam.min_grad=1e-10;%最小梯度值
LP.lr=0.01; %设置学习速率
net=train(net,pn,tn);
A=sim(net,pn);
t1=postmnmx(A,mint,maxt);%网络计算值
E=t-t1;

作者: lt1210    时间: 2012-9-5 13:51
epochs设5000有没有太多
作者: sdccumcm    时间: 2012-9-18 20:29
              有点多吧……
作者: 左手边623    时间: 2012-9-19 11:56
////////////////////////////////




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5