为什么我的LSTM模型在损耗:0.3到0.5和精度:0.3到0.5之间?凯拉斯

时间:2020-06-14 15:10:30

标签: python-3.x tensorflow lstm

我有这个顺序模型:

model = Sequential()
model.add(LSTM( 264 , input_shape = _in, return_sequences=True))
model.add(Dropout(0.2))
model.add(BatchNormalization())

model.add(LSTM( 132, return_sequences = True ))
model.add(Dropout(0.1))
model.add(BatchNormalization())

model.add(LSTM( 64 ,return_sequences = True ) )
model.add(Dropout(0.1))
model.add(BatchNormalization())

model.add( Dense( 32 ,activation = 'relu') )
model.add( Dropout(0.2))

model.add( Dense( 2, activation='softmax') )
model.summary()

optimizer = tf.keras.optimizers.SGD( lr = 0.01 )

model.compile(
     loss      = 'categorical_crossentropy',
     optimizer = optimizer,
     metrics   = [   'accuracy'   ]
)

这是1个序列的形状

x_shape =(1、24、252)

y_shape =(1、24、2)

我在启用GPU的情况下训练了至少1天的模型,但准确性和损失并没有太大变化。

它始终保持在0.3到0.5之间。例如:

Epoch 100/200
100/100 [==============================] - 0s 3ms/sample - loss: 0.3928 - accuracy: 0.4679
....
Epoch 194/200
100/100 [==============================] - 0s 3ms/sample - loss: 0.4061 - accuracy: 0.4893

数据框已经标准化

如何提高学习准确性和学习损失?

请让我知道如何改善这个问题是否必要

0 个答案:

没有答案