损耗曲线平滑,但LSTM模型的精度变化很大

时间:2020-01-10 17:59:07

标签: python tensorflow keras deep-learning lstm

我使用Keras在BiLSTM网络上尝试了时间序列学习问题。这是模型架构:

### BiLSTM
BiLSTM = Sequential()
BiLSTM.add(Embedding(input_dim,
                            50,
                            weights=[embedding_matrix],
                            input_length=max_sequence_length,
                            trainable=False))
BiLSTM.add(layers.Bidirectional(layers.LSTM(64,kernel_regularizer=l2(0.01),
                                             recurrent_regularizer=l2(0.01),
                                             bias_regularizer=l2(0.01))))
BiLSTM.add(layers.Dropout(.5))
BiLSTM.add(Dense(1, activation='sigmoid'))
BiLSTM.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy'])


history = BiLSTM.fit(train_x,
          train_y,
          epochs=15,
          batch_size=32,
          validation_data=(valid_x, valid_y))

我的模型过度拟合,因此我一直在添加正则化技术(辍学,L2以及尝试更多/更少的#hidden单位)。该架构产生了以下精度/损耗曲线。我的损失曲线看起来越来越好,但我的准确性曲线仍然看起来很疯狂。如何解释呢?这仍然是一个过拟合的问题,还是我应该走另一个方向?

enter image description here

0 个答案:

没有答案