如何实现 keras LSTM 时间序列

数据挖掘 机器学习 神经网络 深度学习 喀拉斯 lstm
2022-02-25 00:42:35

我正在学习如何LSTM在简单的时间序列数据上实现 Keras。我正在使用的数据集有12列和300k行。每组200rows 代表一个时间序列周期。然后,时间再次从零开始,运行下一个200行。我想对其中的六列进行预测。我的问题是,我为训练/测试集选择多少行(200 的倍数?)?是我的批量大小200? 选择神经元数量的依据是什么?

1个回答

您没有提供数据集,但我会根据您的描述尝试回答。

我为训练/测试集选择多少行(200 的倍数?)?

实际上,训练/验证/测试拆分并不真正取决于时间序列的长度。它更多地取决于示例的数量,这里的时间序列。300k/200=1.5k这意味着您的数据集的大小很小,您可以使用常规百分比进行拆分。训练/验证/测试的时间类似于 60/20/20。

我的批量大小是 200 吗?

200不是您的批量大小,而是您的信号的长度。LSTM网络中,您通常处理时间数据。对于每个样本,每个时间步都有 12 个特征。200意味着每个样本都有200脚步。在矢量化实现中LSTMs,通常定义批量大小。也就是说,你堆叠m=batchsize用于加速训练的样本,它有我跳过的细节。

选择神经元数量的依据是什么?

看看这里尽管MLPs描述了 的细节,但它们也可以概括为LSTMs考虑RNNs简单MLPs,它采用当前时间步的输入和上一步的输出。