如何诊断Keras LSTM网络的问题?

时间:2018-06-25 18:26:00

标签: python keras lstm

我正在尝试在Keras中建立LSTM模型,以基于各种传感器读数来预测机器的故障时间。但是,我不确定如何解释输出,以便改进模型。我的数据是超过50,000个连续时间步长的15个要素。这是我到目前为止的代码:

from keras.models import Sequential
from keras.layers import LSTM

batch_size = 50
model = Sequential()
model.add(LSTM(1,
          batch_input_shape=(batch_size, int(len(X_train)/batch_size), 15),
          dropout=0.2,
          stateful=True,
          return_sequences=True))

model.compile(loss='mse', optimizer='adam')

model.fit(X_train, y_train, batch_size=batch_size, 
          epochs=100, shuffle=False, verbose=0)

当我绘制目标与预测时,图看起来像这样: true vs preds

所有预测似乎都在一个狭窄的带中,大多数都在大约-0.5到0.5之间。除了数据似乎不能很好地预测响应之外,还有什么其他方法可以解释?

编辑:根据建议,我在上面的代码中添加了以下行:

model.add(Dense(1))

这导致了下面的目标vs预测图: enter image description here

似乎遇到了我以前遇到的相同问题。

0 个答案:

没有答案