我正在尝试在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)
所有预测似乎都在一个狭窄的带中,大多数都在大约-0.5到0.5之间。除了数据似乎不能很好地预测响应之外,还有什么其他方法可以解释?
编辑:根据建议,我在上面的代码中添加了以下行:
model.add(Dense(1))
似乎遇到了我以前遇到的相同问题。