作业帮 > 综合 > 作业

我的BP神经网络训练一直达不到要求,要怎样修改才能达到要求?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/04 13:13:19
我的BP神经网络训练一直达不到要求,要怎样修改才能达到要求?
p=[21.5 42 15;20 45 23;19.5 49 18;18.6 47 12;
22.5 34 47;28 55 32;15.2 59 43;17.5 57 34;
29.4 62 70;14.5 30 55;31.5 23 60;12.5 70 58;
8.7 13 90;36.2 83 80;9.5 18 100;0.5 79 103;
-3.5 2 130;-4.2 86 150;-0.5 99 130;-8.5 0.3 117];
t=[1 0 0 0 0;1 0 0 0 0;1 0 0 0 0;1 0 0 0 0;
0 1 0 0 0;0 1 0 0 0;0 1 0 0 0;0 1 0 0 0;
0 0 1 0 0;0 0 1 0 0;0 0 1 0 0;0 0 1 0 0;
0 0 0 1 0;0 0 0 1 0;0 0 0 1 0;0 0 0 1 0;
0 0 0 0 1;0 0 0 0 1;0 0 0 0 1;0 0 0 0 1];
[P1,ps] = mapminmax(p',0,1);% 归化到 [0,1],若不填,则默认为[-1,1]
T=t';
net=newff(P1,T,8,{'logsig','logsig'},'trainrp');
net=init(net);
net.trainParam.epochs=2000;
net.trainParam.goal=0.001;
LP.lr=0.2;%网络参数:学习设置率为0.04
net=train(net,P1,T);
y=sim(net,P1);
error=y-T;
能不能帮我训练好,
net=init(net);不用这一句,把‘logsig‘改成“tansig”,第一个,同样,把第二个改成’purelin‘
建议你把’trainrp‘改成’trainlm“,试试!
再问: 只要10次就达到要求了,但是这个validation和test的曲线好像还是误差很大,我想问问这个validation和test的曲线怎么从图中去掉?谢谢

 而且验证训练数据时,输出结果都大于1了,比如  1.0500    0.3583    0.0968   -0.2237   -0.0180

怎么办额?
再答: 建议你换个版本7.0的吧 你没有反归一化!
再问: 我的这个数据是归一化后带入网络输出的结果,不用反归一化的吧,而且我的输出就是最大是1