Keras LSTM 模型

Keras LSTM model

我找不到关于如何构建数据以用于 keras LSTM 的实践教程。

数据

x_train = 7300 行,其中每个向量的长度为 64。

y_train = 7300 项的数组 0 或 1(class)。

型号

model = Sequential()
model.add(LSTM(200, dropout=0.2, recurrent_dropout=0.2, input_shape = (1, 64)))
model.add(Dense(2, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

model.fit(x_train, y_train,
               epochs = 5,
               batch_size = 32,
               validation_split = 0.1,
               callbacks=[EarlyStopping(monitor='val_loss', patience=3, min_delta=0.0001)])

我的问题很简单,为什么这行不通?为什么不像给出一个二维向量数组和相似长度的 y 值一样简单。

Keras LSTM 期望输入形状 [batch_size, timesteps, features]。您的数据的形状为 [batch_size, features].

要添加 timestep 维度(其中时间步数为 1),请执行以下操作:

x_train = np.expand_dims(x_train, axis=1)