使用深度学习进行时间序列预测

机器算法验证 时间序列 机器学习 预言 深度学习 深度信念网络
2022-01-27 07:11:22

我是深度学习领域的新手,对我来说第一步是阅读 deeplearning.net 网站上的有趣文章。在有关深度学习的论文中,Hinton 和其他人大多谈论将其应用于图像问题。有人可以尝试回答我是否可以将其应用于预测时间序列值(财务,互联网流量,......)的问题,如果可能的话,我应该关注哪些重要的事情?

4个回答

已经有一些关于将深度学习方法应用于序列数据的工作。很多工作都集中在开发“模块”上,这些模块可以以类似于堆叠受限玻尔兹曼机 (RBM) 或自动编码器的方式堆叠以形成深度神经网络。我将在下面重点介绍一些:

  • 条件 RBM:可能是时间序列深度学习最成功的应用之一。Taylor 开发了一个类似 RBM 的模型,该模型添加了可见单元之间的时间交互并将其应用于建模运动捕捉数据。本质上,您最终会得到类似于线性动态系统的东西,其中隐藏单元添加了一些非线性。
  • 时间 RBM:在他的论文(第 3 部分)中,Ilya Sutskever 开发了几个类似 RBM 的模型,这些模型具有单元之间的时间交互。他还展示了一些有趣的结果,表明使用 SGD 训练循环神经网络可以与更复杂的方法(如 Martens 的 Hessian-free 算法)表现得一样好或更好,使用良好的初始化和稍微修改的动量方程。
  • 递归自动编码器:最后,我将提到 Richard Socher 在使用递归自动编码器进行解析方面的工作。虽然这不是时间序列,但它肯定是相关的。

是的,深度学习可以应用于时间序列预测。事实上,它已经做过很多次了,例如:

这并不是真正的“特例”,深度学习主要是关于预处理方法(基于生成模型),所以你必须专注于你在“传统意义上”进行深度学习时所关注的完全相同的事情。手,以及您在没有深度学习的情况下执行时间序列预测时关注的相同事物。

循环神经网络被认为是深度学习 (DL) 的一种。我认为它们是(1d)序列到序列学习最流行的深度学习工具。它们目前是神经机器翻译 (NMT) 方法的基础(2014 年在 LISA (UdeM)、谷歌和其他几个我不记得的地方首创)。

Alex Graves使用循环神经网络生成序列使用循环网络和长期短期记忆细胞来预测文本并进行手写合成。

Andrej Karpathy 写了一篇关于从头开始生成字符级序列的博客。他在他的教程中使用了 RNN。

有关更多示例,您应该查看 - Hochreiter, S., & Schmidhuber, J. (1997)。长短期记忆。神经计算,9(8),1735-1780。