【发布时间】:2019-09-11 16:47:28
【问题描述】:
我已经阅读了一段时间关于使用 tf.keras 训练 LSTM 模型的文章,我确实使用相同的框架使用简单的 feedforward NN 架构来解决回归问题,并且我非常了解我应该如何准备输入数据这样的模型,但是当谈到训练LSTM时,我对输入的形状感到很困惑。
有很多需要注意的地方:time steps、number of samples、batch size、number of units 等。除了LSTMkeras 层的许多参数还不清楚如下例所示:
model.add(keras.layers.LSTM(units=3, batch_input_shape=(8,2,10), return_sequence=True, stateful= True))
所以我有以下外汇数据结构,我不知道如何为 LSTM 模型正确重塑它。
open | close | high | low | volume | i1 | i2 | i3 | ... | i30 | nextClose
这些特征代表某个货币对的开盘/收盘/最高/最低价,除了交易量和从 i1 -> i30 的 30 个不同指标值外,所有这些特征都对应于一个小步舞曲。除了 nextClose 功能代表我希望预测的下一个小步舞曲收盘价。
Q1:谁能解释一下数据应该如何被塑造成输入的一般概念,以及所有这些必需的参数是什么(时间步长、批量大小......)? p>
Q2:我认为一个简单的例子可能很好,我上面的数据结构应该如何重新塑造看起来像 LSTM 的有效输入?
【问题讨论】:
-
@giser_yugang 感谢您的回复我会检查它
-
@giser_yugang 请检查我的更新
-
没什么大问题。 LSTM 的输入形状在 keras 中有
[timesteps,batch_size, features]或[batch_size,timesteps, features]两种格式。可以参考stackoverflow.com/questions/54764500/…。
标签: tensorflow keras neural-network lstm recurrent-neural-network