如何正确设置 LSTM 层的 input_shape?

How to properly set the input_shape of LSTM layers?

我有一个具有以下形状的输入数据:(5395, 69, 1)

我的input_shape应该是:

在 LSTM 层中有 69 个神经元,我在第一个 input_shape 19'596 个参数中训练,在第二个中训练 38'364个参数,不就是分别get as input 1和69的结果吗?我的问题是我应该输入 1 因为我有 1 个特征还是输入 69 因为我有 69 个时间步长,为什么?

LSTM层的输入具有(num_timesteps, num_features)的形状,因此:

  • 如果每个输入样本有 69 个时间步长,其中每个时间步长包含 1 个特征值,则输入形状将为 (69, 1).

  • 如果每个输入样本都是 69 个特征值的单个时间步长,那么使用 RNN 层可能根本没有意义,因为基本上输入不是序列。相反,最好将输入样本展平(即将 (1, 69) 重塑为 (69,)),然后使用其他连接 architectures/layers(例如 Dense)。


作为旁注,我可能是错的,但我感觉你在 LSTM 层混合了输入时间步长的数量和 units/neurons 的数量(具体来说,我指的是这句话你的:"With 69 neurons in the LSTM layer...")。这两个没有任何关系,不一定是同一个数。 LSTM 层中 units/neurons 的数量决定了该层的表示能力,应根据 experiments/experience 进行相应设置。 如果您有兴趣,请进一步解释这一点。