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%
帮助的人:255万
展开全部

首先是我不知道你用的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-10-17 广告
DAS分布式振动技术是一种基于光纤传感的先进监测方案。它利用光纤作为传感器,能够实时、连续地监测沿线的各种振动信号。该技术具有高精度、长距离监测、抗干扰能力强等显著优势,特别适用于重要设施如油气管道、铁路轨道等的安全监测。通过DAS分布式振... 点击进入详情页
本回答由希卓提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式