如何使用LSTM进行基于时间序列的位置预测?

时间:2019-06-22 21:40:56

标签: python tensorflow keras lstm

我有兴趣根据我之前拥有的2d位置的庞大数据集来预测一个人的2d(x,y)位置的未来。我对深度学习非常陌生,并且遇到过一些文章将LSTM用于此目的。我找到了LSTM的教程,其中预测了股价等。但是,我不明白我的输出将如何给我一个元组(x,y)。我见过的所有例子都预测一个数字/一个类别。 这是我输入数据的标题:

          time           x  y    v_x    v_y             
2019-06-18 07:19:39.641 442 211 2415.300546 1153.005464
2019-06-18 07:19:39.948 444 212 1446.254072 690.553746
2019-06-18 07:19:40.148 445 212 2225.000000 1060.000000
2019-06-18 07:19:40.445 448 215 1508.417508 723.905724
2019-06-18 07:19:40.648 448 216 2206.896552 1064.039409

基于这些轨迹的GitHub项目很少。这是一个密切相关的。但是,文档非常稀疏,并且在Tensorflow中,并且我正在使用Keras API:

https://github.com/Oceanland-428/Pedestrian-Trajectories-Prediction-with-RNN

我已分别将数据分为train_data和test_data的80-20%。 这是我的测试模型:

model = Sequential()
model.add(CuDNNLSTM(128,  return_sequences=True))
model.add(Dropout(0.2))


model.add(CuDNNLSTM(128, return_sequences=True))
model.add(Dropout(0.2))

model.add(CuDNNLSTM(128))
model.add(Dropout(0.2))

model.add(Dense(32, activation='relu'))
model.add(Dropout(0.2))

model.add(Dense(2, activation='relu'))


opt = tf.keras.optimizers.Adam(lr=0.001, decay=1e-6)

# Compile model
model.compile(
    loss='mean_squared_error',
    optimizer=opt,
    metrics=['accuracy']
)


# Train model
history = model.fit(
    train_data,
    batch_size=12,
    epochs=3,
    validation_data=test_data,
    callbacks=[tensorboard],
)


如果您有改进我的代码的建议,请告诉我。另外,如果您找到任何相关的和有文件证明的资源,也可以分享,我可以用它来教育自己。

0 个答案:

没有答案