神经网络预测

时间:2019-12-09 12:34:00 作者:路由君 来源:路由器之家

路由器之家网今天精心准备的是《神经网络预测》,下面是详解!

bp神经网络预测是不是数据越多,预测能力就越好?

不仅是神经网络,所有的机器学习算法都是数据越多,学习的效果越好。因为机器学习学习的就是数据背后的逻辑和规律,这种规律隐藏在大量数据背后,数据太少难以呈现普适规律,只能呈现个例。

python 神经网络预测 持续性预测

求助大神啊啊啊,快被折磨死了。想要持续预测一个时间序列,图里是训练代码我想测试集预测未来的值的时候,用原来数据最后两行数据预测第一个数据,然后预测结果和前两行数据组合起来...

求助大神啊啊啊,快被折磨死了。想要持续预测一个时间序列,图里是训练代码我想测试集预测未来的值的时候,用原来数据最后两行数据预测第一个数据,然后预测结果和前两行数据组合起来,预测下一个值,一直这样预测50个。不知道怎么写测试集的持续性预测代码,,训练集是不是不能这样子做?谢谢大神。。

展开

学习人工智能时,我给自己定了一个目标--用Python写一个简单的神经网络。为了确保真得理解它,我要求自己不使用任何神经网络库,从头写起。多亏了Andrew Trask写得一篇精彩的博客,我做到了!下面贴出那九行代码:在这篇文章中,我将解释我是如何做得,以便你可以写出你自己的。我将会提供一个长点的但是更完美的源代码。

使用weka中的神经网络做预测,有现成的属于,如何...

weka好像只对类属性能进行预测,即你能提供带已知类属性的训练集数据和类属性未知的预测集。在Explorer下面选好神经网络算法后,在test option下面选好training test和supplied test set。

BP神经网络的隐层节点数对预测精度有何影响

神经网络本身的优化过程,实际上是对一组更加有效的层节点值进行选择。这个问题的回答,于是可以用两个很极端的例子来思考。一种情况是,只有一个节点。那么这个方程就变成了一个非常简单的线性方程y=ax+b的形式。其中a和b就是权值和偏置。在这种情况下,如果你有一个非线性的系统,那么肯定,这个预测的偏差就会非常大。另外一种情况,节点的数量无穷多。因为你的样本数量是有限的,那么如果想要达到一个比较好的优化,就会出现无限多的权值和偏重组合。这些组合都不相同,但是都可以达到一个类似的结果。那么结果就是,这些组合就会呈现出随机的特性,因为他们的初始值都是随机给出的。那么产生的结果就是,针对你的训练样本,他们的表现很可能非常好,但是如果你要做内推和外推,这个结果就会呈现出非常非常大的随机性。

那么产生了一个矛盾,如果节点数太小,那么无法完全的呈现出你样本的关联特性;如果选择节点数太多,那么你的神经网络结果又会呈现出极大的随机性。这是一个很矛盾的问题。

直到目前为止,我读到的文献中,只有一个人曾经提到,你的神经网络节点数量应该是你输入数据的大小*(2-32之间的数值)。比如你的输入数据为5个点,你有100个样本,那么你的节点数量选择就在5×2 到5×32之间。这个也和你的样本总数量有个,如果你有100个样本,那么5×32这种节点数量可能就太大了。5×32总共有160个权值160个偏置,其中还有各种交叉。100个样本想要解决这个问题,明显你能感觉到好像是用2个数组解一个4元的方程组一样。没有固定的解。

因为没有具体的问题,所以只能说这么多了。

bp神经网络人口预测程序(matlab实现)

1949年至2013年人口数为5416755196563005748258796602666146562828646536599467207662076585967295691727049972538745427636878534806718299285229871778921190859924209371794974962...

1949年至2013年人口数为

54167

55196

56300

57482

58796

60266

61465

62828

64653

65994

67207

66207

65859

67295

69172

70499

72538

74542

76368

78534

80671

82992

85229

87177

89211

90859

92420

93717

94974

96259

97542

98705

100072

101654

103008

104357

105851

107507

109300

111026

112704

114333

115823

117171

118517

119850

121121

122389

123626

124761

125786

126743

127627

128453

129227

129988

130756

131448

132129

132802

134480

135030

135770

136460

137510

(万人)2014-2020年人口数,matlab程序怎么编?

展开

x=[54167

55196

56300

57482

58796

60266

61465

62828

64653

65994

67207

66207

65859

67295

69172

70499

72538

74542

76368

78534

80671

82992

85229

87177

89211

90859

92420

93717

94974

96259

97542

98705

100072

101654

103008

104357

105851

107507

109300

111026

112704

114333

115823

117171

118517

119850

121121

122389

123626

124761

125786

126743

127627

128453

129227

129988

130756

131448

132129

132802

134480

135030

135770

136460

137510]';

% 该脚本用来做NAR神经网络预测

% 作者:Macer程

lag=3;    % 自回归阶数

iinput=x; % x为原始序列(行向量)

n=length(iinput);

%准备输入和输出数据

inputs=zeros(lag,n-lag);

for i=1:n-lag

inputs(:,i)=iinput(i:i+lag-1)';

end

targets=x(lag+1:end);

%创建网络

hiddenLayerSize = 10; %隐藏层神经元个数

net = fitnet(hiddenLayerSize);

% 避免过拟合,划分训练,测试和验证数据的比例

net.divideParam.trainRatio = 70/100;

net.divideParam.valRatio = 15/100;

net.divideParam.testRatio = 15/100;

%训练网络

[net,tr] = train(net,inputs,targets);

%% 根据图表判断拟合好坏

yn=net(inputs);

errors=targets-yn;

figure, ploterrcorr(errors)                      %绘制误差的自相关情况(20lags)

figure, parcorr(errors)                          %绘制偏相关情况

%[h,pValue,stat,cValue]= lbqtest(errors)         %Ljung-Box Q检验(20lags)

figure,plotresponse(con2seq(targets),con2seq(yn)) %看预测的趋势与原趋势

%figure, ploterrhist(errors)                      %误差直方图

%figure, plotperform(tr)                          %误差下降线

%% 下面预测往后预测几个时间段

fn=7;  %预测步数为fn。

f_in=iinput(n-lag+1:end)';

f_out=zeros(1,fn);  %预测输出

% 多步预测时,用下面的循环将网络输出重新输入

for i=1:fn

f_out(i)=net(f_in);

f_in=[f_in(2:end);f_out(i)];

end

% 画出预测图

figure,plot(1949:2013,iinput,'b',2013:2020,[iinput(end),f_out],'r')

图1自相关

图2误差

图3预测

上面的程序是可以通用的,只要你根据自己需要是可以修改用在其他地方的,基本思想就是用前lag年的人口数来预测下一年的人口,至于lag等于几你是可以自己改的。还有在对结果好坏的判断中,仅仅看误差图是不够的,如果是一个好的预测,那么自相关性图中除了0阶自相关外,其他的自相关系数系数都不应该超过上下置信区间。还有其他的统计量和图表都都写在”%“后面了,如果需要,去掉就可用。最后的预测值为f_out,我的预测值为

138701.065269972    139467.632609654    140207.209707364    141210.109373609    141981.285378849    142461.332139592    143056.073139776

请问MATLAB中神经网络预测结果应该怎么看?求大神解答

从图中Neural Network可以看出,你的网络结构是两个隐含层,2-3-1-1结构的网络,算法是traindm,显示出来的误差变化为均方误差值mse。经过482次迭代循环完成训练,耗时5秒。相同计算精度的话,训练次数越少,耗时越短,网络结构越优秀。达到设定的网络精度0.001的时候,误差下降梯度为0.0046,远大于默认的1e-5,说明此时的网络误差仍在快速下降,所以可以把训练精度目标再提高一些,比如设为0.0001或者1e-5。

补充

再多说一句,精度要求这么低的网络,没必要用两层隐含层。一层足够用了。想要提高精度的话,增加隐含层节点数就够了,一般不需要增加隐含层数目。

python神经网络预测结果每次不一样_神经网络预测相关推荐

  1. 神经网络的输出层有哪些_神经网络算法—总结篇

    本文是吴恩达<机器学习>视频笔记第57篇,对应第5周第7个视频. "Neural Networks Learning:--Putting it together" 前面 ...

  2. python股票预测的意义是什么_股票预测python,python 设计一个名为Stock的类来表示...

    python 设计一个名为Stock的类来表示一个公司的股票? class Stock(): def __init__(self): self.__no = "" self.__n ...

  3. python平稳性检验_时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python)...

    时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python) 发布时间:2019-01-10 00:02, 浏览次数:620 , 标签: Python 导读: 本文介绍了数据平稳 ...

  4. 神经网络模型预测步骤_神经网络预测值范围

    今天聊聊 神经网络模型预测步骤_神经网络预测值范围 1.具体应用实例.根据表2,预测序号15的跳高成绩. 表2 国内男子跳高运动员各项素质指标 序号 跳高成绩() 30行进跑(s) 立定三级跳远() ...

  5. 神经网络每次结果不一样,神经网络预测问题

    1.求助:神经网络两次训练的结果不一样 神经网络两次训练的结果不一样,这是因为每次训练的迭代初值不相同(是随机的),所以得到的结果是有差异的.一般的话,软件开启第一次时,运行得到结果是比较正确的.例如 ...

  6. python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...

    原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...

  7. python 相关性检验怎么计算p值_不会Python进行时间序列预测?不要紧,大神来教你...

    作者:Leandro Rabelo译者:李洁整理:Lemonbit本文内容较长,较为详细的阐述了进行时间序列预测的步骤,有些内容可能暂时用不到或者看不懂,但不要紧,知道有这么一个概念,后续碰到的时候, ...

  8. python做神经网络有什么框架_神经网络与深度学习——基于TensorFlow框架和Python技术实现...

    目 录 第1章 绪论1 1.1 人工智能2 1.2 机器学习3 1.2.1 监督学习3 1.2.2 非监督学习3 1.2.3 半监督学习4 1.3 深度学习4 1.3.1 卷积神经网络4 1.3.2 ...

  9. python 相关性检验怎么计算p值_收藏 | 大神教你用Python预测未来:一文看懂时间序列...

    (由Python大本营付费下载自视觉中国) 作者 |  Leandro Rabelo 译者 | 李洁 整理 | Lemonbit 出品 | Python数据之道 本文内容较长,较为详细的阐述了进行时间 ...

最新文章

  1. yocto中文环境搭建
  2. Python中下划线---完全解读
  3. IBM收购Clearleap,提供云视频服务
  4. 接口的特点 java 1614101071
  5. 【报告分享】85后、95后宝妈人群洞察报告.pdf(附下载链接)
  6. matlab图片渲染,图像 – 在内存中渲染MATLAB图
  7. Python_字符串
  8. 环,模,补码,负数的表示与减法实现
  9. 濮阳第二届创客机器人比赛_【比赛】许昌市第二届机器人大赛成功举办
  10. Matlab的复共轭转置
  11. 计算机毕业设计Java房产客户信息管理系统(源码+系统+mysql数据库+lw文档)
  12. thrift php,Thrift-简单实用
  13. 怎么理解什么是大数据呢?
  14. 【历史上的今天】3 月 7 日:首条海底光缆开通;VeriSign 收购 Network Solutions;计算机图形学先驱诞生
  15. Kotlin:Spring之@Value(“${xxx.xx}“)报错问题
  16. 【敏捷5.2】用户故事的层次和用户故事地图
  17. 使用scrapy 框架来抓取100部美剧的信息
  18. 每日新闻 | 2018年全球十大IaaS服务商:中国占四席 阿里云第三
  19. 51单片机基础之矩阵键盘4X4
  20. Tiny OS+nblot,值得程序员体验吗?

热门文章

  1. JAVAJSP婴幼儿用品销售系统JSP母婴用品购物系统JSP儿童玩具网购系统JSP儿童玩具销售JSP商场销售系
  2. Windows系统下,Ubuntu安装至移动硬盘(简单分析与详细安装教程)
  3. Jetson-TX1(ubuntu18.04)软件安装、使用
  4. iphone与iTunes同步应用程序时,保持iphone上的图标顺序
  5. 手把手教你看懂并理解Arduino PID控制库——引子
  6. 实验:复现PHP一句话木马的利用
  7. 华为手机app闪退重启清空log日志问题
  8. java tabpanel_Ext tabpanel的隐藏显示
  9. Java数组练习2数组存储5笔购物金额
  10. 【专题系列】设计模式—— 四:接口隔离原则