MATLAB BP神经网络训练

P=[392,584,776,2713,3236,2783,2163;718,1043,1368,4318,5054,4483,3769];T=[1.4404,1.472... P=[392,584,776,2713,3236,2783,2163;718,1043,1368,4318,5054,4483,3769];
T=[1.4404,1.4722,1.4753,1.497,1.7663,1.6807,1.7426];
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm');
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
[net,tr]=train(net,P,T);
A = sim(net,P)

得到A的结果全是一样的,是程序问题,还是数据问题?
展开
 我来答
百度网友4eece34fc
2011-11-09 · TA获得超过190个赞
知道答主
回答量:45
采纳率:0%
帮助的人:31.9万
展开全部
你的程序训练完毕后根本就没达到目标误差,就是说训练效果不好,不能进行预测,只有训练结果好了才能预测仿真,你再改一下隐含层神经元数或者训练和传递函数试试吧~
另外输入层的值可以归一化也可以不归一化,归一化后在仿真之前要反归一化。
北京千智道科技
2023-07-19 广告
一、千智道介绍千智道成立于2013年,专注于无人驾驶、人工餐能领域的科研、实训、科普展示综合解决方案,基于沉浸式、沙盘式、室外道路等多种实验场景之上构建智慧路网系统,实现智能网联车无人驾驶、V2X运行实验、配套网联信号机、RSU路测设备、智... 点击进入详情页
本回答由北京千智道科技提供
竹叶花开
2011-11-05
知道答主
回答量:18
采纳率:0%
帮助的人:4.9万
展开全部
这是啥玩意?什么编程语言?
www.xxjsh.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
静静的海5257
2011-11-06
知道答主
回答量:1
采纳率:0%
帮助的人:1680
展开全部
看了下程序没问题啊,单隐层的BP网络,应该是数据问题吧。。。
追问
好像数据归一化就可以,请问
P=[392,584,776,2713,3236,2783,2163;
718,1043,1368,4318,5054,4483,3769];
每行归一化,代码怎么写呢,谢谢~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a8fc0a648e6
2019-04-22 · TA获得超过3620个赞
知道小有建树答主
回答量:3121
采纳率:25%
帮助的人:216万
展开全部
1.初始权值不一样,如果一样,每次训练结果是相同的
2.是
3.在train之前修改权值,iw,lw,b,使之相同
4.取多次实验的均值
一点浅见,仅供参考
训练误差是否降到一定范围内,比如1e-3,
将训练样本回代结果如何,
训练样本进行了预处理,比如归一化,而测试样本未进行同样的处理
这样的归一化似有问题,我也认为“测试数据的归一化也用训练数据归一化时得出的min和max值”,
请参考这个帖子
http://www.ilovematlab.cn/thread-27021-1-1.html
测试数据带入训练好的神经网络误差当然不会达到1e-5,这是预测啊。
但将训练数据带入误差必然是1e-5,算法终止就是因为达到这个误差才终止,这个误差是由训练数据的输入、输出以及神经网络的权值、激活函数共同决定的,神经网络训练完后,权值、激活函数定了,同样的数据再代入神经网络,误差会不等于1e-5?
第二个问题:不可能每个值都达到1e-5,1e-5是mse(mean
square
error),它们的平方和除以总数再开方,mse(e)必为1e-5
另外,lm算法虽然训练最快,但是预测精度一般不好,不如gdm,gdx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式