【发布时间】:2022-12-16 05:25:05
【问题描述】:
在每次观察中,我有 6 个时间步长,每个时间步长有 2 个特征,我试图预测 1 个具有 2 个并行特征的 timetsep。进一步来说,
我的输入数据的形状是:(81, 6, 2) 我的输出数据的形状是:(81, 1, 2)
我编写了以下代码来构建编码器-解码器 LSTM:
model.add(LSTM(200, activation='relu', input_shape=(n_input, 2)))
model.add(RepeatVector(1))
model.add(LSTM(200, activation='relu', return_sequences=True))
model.add(TimeDistributed(Dense(100, activation='relu')))
model.add(TimeDistributed(Dense(2)))
当我执行单个预测时,网络返回形状 (1, 1, 2)。
我想仔细检查这是否正确,我没有遗漏任何东西,因为预测值非常糟糕(有些为负,有些则非常高)。
【问题讨论】:
-
第一个维度是您的批量大小,因此如果您使用单个样本进行预测,那么是的,您的输出将是:(1, 1, 2)。可能影响您性能的一件事是您在 TimeDistributed 层中进行的重新缩放。您将从 2-dim LSTM 输出到 100-dim 输出回到 2D。
标签: python tensorflow keras deep-learning lstm