matlab bp神经网络 精度低

>>p=[14.82532.1;2532.138;32.13852;385253.2;5253.254;53.25458;545868.1;5868.186;68.186... >> p=[14.8 25 32.1;
25 32.1 38;
32.1 38 52;
38 52 53.2;
52 53.2 54;
53.2 54 58;
54 58 68.1;
58 68.1 86;
68.1 86 90.1;
86 90.1 100;
90.1 100 105.0;
100 105.0 107.3;
105.0 107.3 108.6;
107.3 108.6 109.7;
108.6 109.7 110.2;
109.7 110.2 112.6;
110.2 112.6 133.5;
112.6 133.5 148.6;
133.5 148.6 178.0;
148.6 178.0 200.0]';
>> t=[38 52 53.2 54 58 68.1 86 90.1 100 105 107.3 108.6 109.7 110.2 112.6 133.5 148.6 178 200 222];
>> u=p;
>> tt=t;
>> [p,minp,maxp,t,mint,maxt]=premnmx(p,t)

>> net=newff([-1 1;-1 1;-1 1],[7,1],{'tansig','logsig'},'traingd');
>> net.trainParam.show=1000;
>> net.trainParam.Lr=0.01;
>> net.trainParam.epochs=500000;
>> net.trainParam.goal=10^(-4);
>> net=train(net,p,t)
=============================================================
为什么跑50w次精度都还是很低?
展开
 我来答
kufemail
推荐于2016-09-21 · TA获得超过836个赞
知道小有建树答主
回答量:275
采纳率:50%
帮助的人:253万
展开全部

首先是我不知道你用的matlab是什么版本。

如果用的2010以后的版本,那么你这样初始化神经网络一定会报警告。

2010版以后初始化神经网络的语句是这样的

net = newff(p, t, 7);

输出层不需要自己去告诉系统。

我想知道的第二个问题,是你的输出层函数是否需要使用logsig。如果使用purelin,那么你大可不必去归一化。后面我会告诉你原因。

你手动指定了训练次数,但是学习率0.01这个数值不知道你从哪里找到的。我可能会选择高一点的学习率,最高我用过0.25.

训练函数你也是手动指定的,这个是需要的么?如果不需要,对于7个神经节点,完全可以使用trainlm,这样你也不需要这么多的训练次数。


下面说一下2010以后的matlab中,神经网络训练增加的一个功能。在初始化神经网络以后,有一个默认的dividing function,将训练样本中的一部分用来校验神经网络性能,以防止过度训练。那么这个参数可能会导致训练不充分。在初始化神经网络以后,需要做的工作是设定net.divideFcn = '';用来去掉这个分配函数。

如果你需要更改你的transfer function,那么可以在net.layers{2}.transferFcn = 'logsig'将输出层传输函数手动修改。


那么,我使用全默认设置,没有进行归一化处理,获得的结果是这样的。

这个就是把你的t和训练后的神经网络计算的结果放在一起。结果已经很不错了。

如过我去掉了分配函数,那么神经网络就会一直训练到训练次数上限或者达到目标值。165次训练后,误差值是1.77e-19(误差使用mean squared error计算),结果在这里贴出来已经没意义了,因为几乎没有误差。

如果你还有问题,那么跟我细聊一下。

追问
谢谢您的回答!结果很理想。还想请问,如果我将p改成时间序列,t为对应时间的数据,用bp神经网络如何预测未来20年的数据?
追答
神经网络这东西做外推本来就很危险…… 如果p 是时间序列,那么就一个输入呗。不过一个输入是不可以对应多个输出的。
富港检测技术(东莞)有限公司_
2024-06-06 广告
ISTA3L是一个基于研究、数据驱动的测试协议,它模拟了由零售公司完成的产品订单被直接运送给消费者时所经历的危险,它允许用户评估包装产品的能力,以承受运输和处理包装产品时所经历的供应链危险,从接收到任何电子商务零售商履行操作,直到最终消费者... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式