代码之家  ›  专栏  ›  技术社区  ›  Ahmed Lahlou Mimi

时间序列的输入形状LSTM

  •  1
  • Ahmed Lahlou Mimi  · 技术社区  · 8 年前

    我正在尝试将时间序列与Keras的LSTM进行拟合,我对输入形状有一些问题。

    在本文中: https://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/ ,自动选择形状:(trainX.shape[0],1,trainX.shape[1]) 但LSTM的输入应该是:(示例、时间步、特性) 那么他不应该选择这个形状吗:(1,trainX.shape[0],trainX.shape[1])?因为它是一个单一的系列,随着时间的推移有多个步骤

    我试着用我自己的时间序列来做,但它不起作用,所以我错过了什么?我的情况和这篇文章完全一样。当我像autor一样进行重塑时,它可以工作,但它不能按我的方式工作。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  0
  •   Daniel Möller    8 年前

    作者正在使用 stateful=True ;

    这意味着,在手动调用之前,每个新输入都将被视为以前输入的“后续步骤” model.reset_states()

    我不知道他们为什么要用这个,但原因如下:

    • 我们希望一步的输出构成下一步的输入
    • 我们有太长的序列不适合记忆