时间延迟神经网络和循环神经网络之间的区别

机器算法验证 时间序列 预测 神经网络 金融
2022-03-11 17:27:45

我想使用神经网络来预测金融时间序列。我来自 IT 背景,对神经网络有一些了解,我一直在阅读以下内容:

我一直在为他们搜索 R 包,但我只找到了一个用于 RNN 的 RNN 包,它具有 elman 和 jordan 实现的 RNN。

那么,递归神经网络对(金融)时间序列有用吗?因为他们(引用之前引用的 RNN 上的维基百科链接):

在每个时间步,输入以标准的前馈方式传播,然后应用学习规则。固定的反向连接导致上下文单元始终保持隐藏单元先前值的副本(因为它们在应用学习规则之前通过连接传播)。因此,网络可以保持某种状态,允许它执行诸如序列预测之类的任务,这些任务超出了标准多层感知器的能力。

在实践中与时间延迟神经网络不同吗?如果不是,与时间延迟神经网络有哪些区别?两者都适合与时间序列一起使用还是哪个更适合?

预先感谢!

2个回答

我从未使用过循环网络,但据我所知,在实践中,一些 RNN 和 TDNN 可以用于您想要的相同目的:预测时间序列值。但是,它们的工作方式不同。

使用 TDNN 是可能的:

  • 预测过程值
  • 找出两个进程之间的关系。

一些 RNN,比如NARX也允许你这样做,它也用于预测金融时间序列,通常比 TDNN 更好。

TDNN 看起来更像是一个前馈网络,因为时间方面仅通过其输入插入,不像 NARX 还需要预测/实际未来值作为输入。这一特性使得 TDNN 在预测值方面不如 NARX 健壮,但需要更少的处理并且更容易训练。

如果您试图找到流程和流程的过去值,而 TDNN 没有。X(t)Y(t)Y

我推荐阅读 Simon Haykin 的神经网络:综合基础(第 2 版)和这个常见问题解答有很多神经网络架构和变体。有时他们有很多名字,或者他们的分类没有共识。

TDNN 是一种表示过去值和现在值之间映射的简单方法。TDNN 中的延迟在整个训练过程中保持不变,并且在之前通过反复试验和一些启发式方法进行估计。然而,这些固定延迟可能无法捕获时间相关性的实际时间位置。另一方面,RNN 结构的“记忆”特征可以通过学习这些依赖关系来捕获这些信息。RNN 的问题在于,当使用传统技术(例如通过时间的反向传播)进行训练以学习长期依赖时,使用它们是不切实际的。这个问题源于所谓的“消失/爆炸” 梯度,这基本上意味着当我们通过网络结构向后传播误差信号时,它们往往会消失或爆炸。更高级的循环结构(例如 LSTM)具有缓解此问题的特性,并且可以学习长期依赖关系,并且特别适合学习顺序数据。