如何提高 LSTM 模型的准确性(回归)

时间:2021-04-27 12:58:39

标签: python tensorflow machine-learning keras lstm

我的 LSTM 模型显示的准确度很差,我想提高它,但我不知道应该更改哪些参数。 有人可以向我解释如何解决它。谢谢。

我的数据集包含 6871 行和 16 列。

model = Sequential()

model.add(LSTM(units=50 ,activation='relu' , return_sequences= True , input_shape=(X_train.shape[1],15 )))
model.add(Dropout(0.2))

model.add(LSTM(units=60 ,activation='relu' , return_sequences= True))
model.add(Dropout(0.3))

model.add(LSTM(units=80 ,activation='relu' , return_sequences= True))
model.add(Dropout(0.3)) 

model.add(LSTM(units=120 ,activation='relu'))
model.add(Dropout(0.3)) 

model.add(Dense(units=1))

Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
lstm (LSTM)                  (None, 120, 50)           13200     
_________________________________________________________________
dropout (Dropout)            (None, 120, 50)           0         
_________________________________________________________________
lstm_1 (LSTM)                (None, 120, 60)           26640     
_________________________________________________________________
dropout_1 (Dropout)          (None, 120, 60)           0         
_________________________________________________________________
lstm_2 (LSTM)                (None, 120, 80)           45120     
_________________________________________________________________
dropout_2 (Dropout)          (None, 120, 80)           0         
_________________________________________________________________
lstm_3 (LSTM)                (None, 120)               96480     
_________________________________________________________________
dropout_3 (Dropout)          (None, 120)               0         
_________________________________________________________________
dense (Dense)                (None, 1)                 121       
=================================================================
Total params: 181,561
Trainable params: 181,561
Non-trainable params: 0

model.compile(optimizer='adam' , loss='mean_squared_error', metrics=['accuracy'])
model.fit(X_train,y_train,epochs=10,batch_size=32)
Epoch 1/10
169/169 [==============================] - 59s 317ms/step - loss: 61886123309.2345 - accuracy: 0.0000e+00
Epoch 2/10
169/169 [==============================] - 56s 332ms/step - loss: 276822.0114 - accuracy: 0.0000e+00
Epoch 3/10
169/169 [==============================] - 56s 329ms/step - loss: 0.0673 - accuracy: 0.0000e+00
Epoch 4/10
169/169 [==============================] - 56s 330ms/step - loss: 0.0643 - accuracy: 0.0000e+00
Epoch 5/10
169/169 [==============================] - 56s 334ms/step - loss: 0.0580 - accuracy: 0.0000e+00
Epoch 6/10
169/169 [==============================] - 57s 335ms/step - loss: 0.0541 - accuracy: 0.0000e+00
Epoch 7/10
169/169 [==============================] - 56s 330ms/step - loss: 0.0551 - accuracy: 6.8456e-05
Epoch 8/10
169/169 [==============================] - 55s 328ms/step - loss: 0.0523 - accuracy: 0.0000e+00
Epoch 9/10
169/169 [==============================] - 55s 326ms/step - loss: 0.0510 - accuracy: 0.0000e+00
Epoch 10/10
169/169 [==============================] - 55s 326ms/step - loss: 0.0526 - accuracy: 2.6656e-05

我刚开始研究深度学习,不明白哪些参数可以提高 LTSM 模型的准确性。

0 个答案:

没有答案