【发布时间】: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