了解 Keras LSTM 中的时间步长和特征
为了回答您的问题,让我们更深入地了解相关的时间步长和特征的概念到 Keras 中实现的 LSTM。
时间步长和特征
在提供的 Keras 示例中,trainX 数据被重新整形为以下形状:
(trainX.shape[0], look_back, 1)
关于您从 Karpathy 博客链接的图像,每个“粉红色”矩形代表一个特征,并且“绿色”矩形表示时间步长。因此,图中的图表将对应于具有三个时间步长和两个特征的时间序列。
有状态 LSTM
有状态 LSTM 维护允许它们的内部状态记住他们在处理给定序列的过程中学到了什么。当将它们与 Keras 一起使用时,您将 stateful 参数设置为 True。
在您的示例中,您将 batch_size 设置为 1 并使用 model.fit() 进行 shuffle=False 的训练。这意味着每个批次包含一个序列,并且 LSTM 按照序列在训练数据中出现的顺序处理序列。因此,LSTM 的状态会跨批次保留,从而使其能够从整个序列中学习。
通过在训练时期之间重置 LSTM 的状态,您可以有效地“重新开始”每个时期的学习过程。然而,LSTM 仍然会记住它在各个时期学习到的整体模式。
重要说明
以上是时间步长和特征如何影响 Keras LSTM 性能?的详细内容。更多信息请关注PHP中文网其他相关文章!