这个matlab的bp神经网络为什么误差这么大?
P=1:2:100;T=sin(P*0.1);NodeNum=7;TypeNum=1;Epochs=10000;TF1='tansig';TF2='purelin';ne...
P=1:2:100;
T=sin(P*0.1);
NodeNum=7;
TypeNum=1;
Epochs=10000;
TF1 = 'tansig';TF2='purelin';
net=newff(minmax(P),[NodeNum TypeNum],{TF1 TF2},'trainlm');
net.trainParam.epochs=Epochs;
net.trainParam.goal=1e-8;
net.trainParam.min_grad=1e-20;
net.trainParam.show=200;
net.trainParam.time=inf;
net=train(net,P,T);
X=sim(net,P); %对用来训练的输入进行仿真
E=X-T;
sumsqr(E)
P1=2:2:200;
X=sim(net,P1); %对另外一个输入进行仿真
T1=sin(P1*0.1);
E=X-T1;
sumsqr(E)
ans =
4.9766e-007
ans =
111.2491
两次计算均方差结果,第一次结果很好,第二次为什么误差这么大?
谢谢大家 展开
T=sin(P*0.1);
NodeNum=7;
TypeNum=1;
Epochs=10000;
TF1 = 'tansig';TF2='purelin';
net=newff(minmax(P),[NodeNum TypeNum],{TF1 TF2},'trainlm');
net.trainParam.epochs=Epochs;
net.trainParam.goal=1e-8;
net.trainParam.min_grad=1e-20;
net.trainParam.show=200;
net.trainParam.time=inf;
net=train(net,P,T);
X=sim(net,P); %对用来训练的输入进行仿真
E=X-T;
sumsqr(E)
P1=2:2:200;
X=sim(net,P1); %对另外一个输入进行仿真
T1=sin(P1*0.1);
E=X-T1;
sumsqr(E)
ans =
4.9766e-007
ans =
111.2491
两次计算均方差结果,第一次结果很好,第二次为什么误差这么大?
谢谢大家 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询