HST-LSTM: A Hierarchical Spatial-Temporal Long-Short Term Memory Network for Location Prediction

Dejiang Kong and Fei Wu

Zhejiang University

https://www.ijcai.org/Proceedings/2018/0324.pdf

定位技术有助于挖掘人物运动情况,目前已经积累的大量额轨迹数据。

如何高效利用这些数据来预测位置逐渐成为比较流行的研究课题,位置预测是位置服务(LBS)的基础。现有方法通常要么关注长期到访位置预测,比如几天或者几个月这种时间窗,这可以看作是poi推荐问题,要么关注实时位置预测,此即轨迹预测。

这篇文章集中在弱实时条件下的位置预测,旨在预测用户在接下来的几分钟或者几小时的运动情况。作者们提出时空长短期记忆模型(ST-LSTM),该模型将时空影响因素加入lstm,进而可以缓解数据稀疏的问题。

另外,作者们利用一种分层ST-LSTM,以编码解码的形式,对上下文历史到访信息进行建模,进而提升预测效果。

这篇文章提出的HSTLSTM在真实轨迹数据集上进行了测试,结果表明了其有效性。

用户轨迹及抽象和模型的图示如下

LSTM算法 pytorch lstm算法应用_协同过滤

不同时间窗之后的目的地分布图示如下

LSTM算法 pytorch lstm算法应用_深度学习_02

先前的lstm没有考虑时空因素,作者们将时空因素加入了lstm

LSTM算法 pytorch lstm算法应用_数据_03

这篇文章的主要贡献在于

LSTM算法 pytorch lstm算法应用_LSTM算法 pytorch_04

几个基本概念及解释如下

LSTM算法 pytorch lstm算法应用_数据_05

lstm的组成部分主要有以下几个

LSTM算法 pytorch lstm算法应用_LSTM算法 pytorch_06

这篇文章的特色在于将时空因子加入lstm中

LSTM算法 pytorch lstm算法应用_协同过滤_07

时空因子的具体表达式如下,该因子是基于加法算子的,这种算子既精确又高效

LSTM算法 pytorch lstm算法应用_LSTM算法 pytorch_08

其中q和s的表达式如下

LSTM算法 pytorch lstm算法应用_深度学习_09

到访session的编码过程如下

LSTM算法 pytorch lstm算法应用_协同过滤_10

全局上下文编码方式如下

LSTM算法 pytorch lstm算法应用_深度学习_11

解码及预测过程如下

LSTM算法 pytorch lstm算法应用_数据_12

整体目标函数形式如下

LSTM算法 pytorch lstm算法应用_协同过滤_13

数据集信息及参数设置如下

LSTM算法 pytorch lstm算法应用_数据_14

参与对比的方法有以下几个

LSTM算法 pytorch lstm算法应用_协同过滤_15

LSTM算法 pytorch lstm算法应用_数据_16

LSTM算法 pytorch lstm算法应用_LSTM算法 pytorch_17

衡量指标有以下两个

LSTM算法 pytorch lstm算法应用_协同过滤_18

效果对比图表如下(指标为ACC@k)

LSTM算法 pytorch lstm算法应用_深度学习_19

效果对比图表如下(指标为MRR)

LSTM算法 pytorch lstm算法应用_深度学习_20

不同时间窗和空间窗口下效果对比如下(以ACC@1为指标)

LSTM算法 pytorch lstm算法应用_深度学习_21

指标随迭代次数的变化趋势图示如下

LSTM算法 pytorch lstm算法应用_LSTM算法 pytorch_22

时空因素作用于不同的门限单元效果对比如下

LSTM算法 pytorch lstm算法应用_数据_23