这个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

两次计算均方差结果,第一次结果很好,第二次为什么误差这么大?
谢谢大家
展开
 我来答
anxiaodele
2011-03-21 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:124万
展开全部
首先是数据归一化,看见你程序好像是没有设定步长吧,设上试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式