我有这个顺序模型:
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
数据框已经标准化
如何提高学习准确性和学习损失?
请让我知道如何改善这个问题是否必要