Я пытаюсь реализовать LSTM с Keras.
Я знаю, что для LSTM в Keras требуется трехмерный тензор с формой (nb_samples, timesteps, input_dim) в качестве входных данных. Однако я не совсем уверен, как должны выглядеть входные данные в моем случае, поскольку у меня есть только одна выборка из T наблюдений для каждого входа, а не несколько выборок, т.е. (nb_samples=1, timesteps=T, input_dim=N). Лучше ли разделить каждый из моих входов на выборки длины T/M? T составляет около нескольких миллионов наблюдений для меня, так как долго каждый образец в этом случае должно быть, т.е., как бы я выбрал M?
Кроме того, я прав, что этот тензор должен выглядеть примерно так:
[[[a_11, a_12, ..., a_1M], [a_21, a_22, ..., a_2M], ..., [a_N1, a_N2, ..., a_NM]],
[[b_11, b_12, ..., b_1M], [b_21, b_22, ..., b_2M], ..., [b_N1, b_N2, ..., b_NM]],
...,
[[x_11, x_12, ..., a_1M], [x_21, x_22, ..., x_2M], ..., [x_N1, x_N2, ..., x_NM]]]
где M и N определены как прежде, а x соответствует последнему образцу, который я получил бы при расщеплении, как обсуждалось выше?
Наконец, учитывая кадр данных pandas с T наблюдениями в каждом столбце и N столбцами, по одному на каждый вход, как я могу создать такой вход для подачи в Keras?