【发布时间】:2019-04-20 21:32:36
【问题描述】:
我正在使用 IMDB 数据集在 Keras 中训练一个模型。对于这个带有 LSTM 层的模型,准确率在 50% 左右:
model = Sequential()
model.add(Embedding(max_features, 32))
model.add(LSTM(32, return_sequences=True))
model.add(LSTM(32, return_sequences=True))
model.add(LSTM(32))
model.add(Dense(1, activation='sigmoid'))
准确度:
loss: 0.6933 - acc: 0.5007 - val_loss: 0.6932 - val_acc: 0.4947
我也尝试过使用单个 LSTM 层,但它也提供了类似的准确性。
但是,如果我不使用 LSTM 层,准确率会达到 82% 左右
model = models.Sequential()
model.add(layers.Dense(16, kernel_regularizer=regularizers.l1(0.001), activation='relu', input_shape=(10000,)))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(16, kernel_regularizer=regularizers.l1(0.001), activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(1, activation='sigmoid'))
准确度:
loss: 0.6738 - acc: 0.8214 - val_loss: 0.6250 - val_acc: 0.8320
这是我编译和拟合模型的方式:
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['acc'])
model.fit(partial_x_train, partial_y_train, epochs=Numepochs, batch_size=Batchsize, validation_data=(x_val, y_val))
如何解释?我认为 LSTM 非常适合顺序文本数据?
【问题讨论】:
-
输入数据如何编码(LSTM模型)?
-
能否展示一下 LSTM 模型的数据加载和预处理阶段?
-
实际上没有任何预处理(向量化序列除外),因为我使用的是 keras 中已经可用的默认 imdb 数据集。
-
好的。你能解释或展示矢量化步骤吗?我想我知道出了什么问题,但我想确定一下。
-
这是我正在使用的确切功能stackoverflow.com/questions/50213274/…
标签: python machine-learning keras deep-learning lstm