- 在线时间
- 2 小时
- 最后登录
- 2012-6-19
- 注册时间
- 2012-4-21
- 听众数
- 0
- 收听数
- 0
- 能力
- 0 分
- 体力
- 20 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 8
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 3
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 2
升级   3.16% 该用户从未签到 - 自我介绍
- 想要学习matlab神经网络,遗传算法
 |
看众多资料都说,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;
|
zan
|