循环神经网络 (LSTM) 批量大小和输入

数据挖掘 喀拉斯 时间序列 lstm
2022-02-12 01:35:58

我在 Keras 工作以构建 LSTM 模型。我知道设置 STATEFUL=FALSE 意味着在训练模型时不同的批次被视为独立的。

假设我想建立一个模型,使用 6 周的每小时温度观测值来预测明天的 24 小时温度。我一直使用 24 的批量大小,这意味着 LSTM 在训练时每天独立使用训练数据。但这意味着我不允许 RNN 在几天内获得更长的相关性而且只能几天之内,对吗?那么我应该改用 6*7*24=168 的批量大小吗?这个更大的批量大小是否允许 LSTM 在 6 周的训练期间获得更长范围的相关性?

其次,我一直在使用前一天的观测值作为当天温度(在同一时间段)的预测值。这是一种有效的方法,还是与 LSTM 将要寻找的长期相关性是多余的?y(t24)yt

1个回答

批量大小与系列长度不同。批量大小是指观察的数量,通常在执行小批量随机梯度下降时定义。

如果您正在执行 N 小批量 SGD,则需要确保网络的输入是 N x 168 张量。批量大小通常为 32-128 个观察值。

WRT你的第二个问题,方法很好,只是不同。看看哪个效果更好。