【问题标题】:Time Series Keras LSTM echoing instead of predicting时间序列 Keras LSTM 回显而不是预测
【发布时间】:2018-12-28 04:22:59
【问题描述】:

我正在尝试训练 LSTM 来预测给定最后 8 个值的时间序列中的下一个值。结果是一个网络在响应当前值而不是下一个值作为其预测时逐渐变得更好。

这是我数据中的一个样本
火车_X
[[0.01549889 0.0200023 0.01537059 0.01064907 0.00771096 0.00352831 0.00363095 0.00413133]]

train_y
[0.00357963]

测试_X
[[0.0275208 0.01929664 0.02047702 0.02625061 0.03220383 0.02612231 0.02551929 0.01510116]]

test_y
[0.01250945]

这是我的模型

model = Sequential()
model.add(Activation('relu'))
model.add(LSTM(128, input_shape=(train_X.shape[1], train_X.shape[2])))
#model.add(Dropout(.2))
model.add(Dense(1, activation='relu'))
model.compile(loss='mse', optimizer='adam')
# fit network
history = model.fit(train_X, train_y, epochs=100,  validation_data=(test_X, test_y), batch_size=10, verbose=2,
                    shuffle=False)

所以输出的只是一个非常接近输入数组中最后一个数字的数字。这适用于测试集或训练集上的 model.predict()。看来该模型正在训练错误。提前感谢您提供的任何帮助。

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    我自己解决了这个问题。我通过让 RNN 预测超过一天的未来来做到这一点。这增加了损失并消除了我不断陷入的局部最小值。但它确实让它开始根据实际预测进行训练。

    【讨论】:

      猜你喜欢
      • 2021-04-21
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多