每条轨迹:
T
=
[
X
1
,
.
.
.
,
X
t
,
.
.
.
]
∈
T
T=[X_1,...,X_t,...]\in\mathcal{T}
T=[X1,...,Xt,...]∈T,其中
X
t
=
(
l
o
n
t
,
l
a
t
t
)
X_t=(lon_t,lat_t)
Xt=(lont,latt)是第t个到达点;
f
(
T
i
,
T
j
)
f(T_i,T_j)
f(Ti,Tj)是对于轨迹
T
i
T_i
Ti和
T
j
T_j
Tj相似度的一个度量,可以是DTW,Hausdorff,Frechet距离等…
任务是学习一个函数
g
(
⋅
,
⋅
)
g(·,·)
g(⋅,⋅)来估计轨迹的相似度,目标是最小化
∣
f
(
T
i
,
T
j
)
−
g
(
T
i
,
T
j
)
∣
|f(T_i,T_j)-g(T_i,T_j)|
∣f(Ti,Tj)−g(Ti,Tj)∣.
模型概述
首先是对区域
A
\mathcal{A}
A做了一个层次划分,划分树是
H
\mathcal{H}
H。模型对
H
\mathcal{H}
H下的每一个层次的网格做了表示的预训练,希望能够获取不同层次的信息。
基于树
H
\mathcal{H}
H,作者构造了一个图
T
g
T^g
Tg. 用GAT获得
T
g
T^g
Tg的表示。根据轨迹的序列信息和层次信息生成轨迹的嵌入。
忽略叶子节点,四叉树构成了对原区域
A
\mathcal{A}
A的一个划分,记作
H
\mathcal{H}
H。
随着区域
A
\mathcal{A}
A的增加,作者试图论证:
H
\mathcal{H}
H倾向于稳定(实验见附录A.3,但pdf中没有给出附录)。
Traj模型基于这个划分进行设计。
网格的嵌入
将树
H
\mathcal{H}
H看做一个图。
用Node2vec获得图中各个节点的表示。
最终得到的嵌入记作:
M
H
∈
d
h
×
N
h
\bold{M}_\mathcal{H} \in d_h \times N_h
MH∈dh×Nh,得到的各个节点的表示后续将用于计算轨迹的表示
轨迹的编码
构图
对于轨迹
T
T
T,我们构造了一个新的图
T
g
=
(
N
,
E
)
T^g = (\bold{N},\bold{E})
Tg=(N,E)
N
\bold{N}
N包括两部分:由轨迹构成的
N
r
\bold{N}_r
Nr和轨迹的层次信息构成的
N
h
\bold{N}_h
Nh
首先找到其包含的轨迹点(对应的网格对应的节点)的嵌入:
N
r
=
{
n
1
,
.
.
.
,
n
L
}
\bold{N}_r = \{\bold{n}_1,...,\bold{n}_L\}
Nr={n1,...,nL}.
递归地查找PR-四叉树
H
\mathcal{H}
H中叶子节点
i
i
i的父节点,即:包含该节点的所有大小的网格,直到网格大小(即节点的层次)到设定的阈值
η
\eta
η.
η
\eta
η是一个超参数,查找出的节点集合根据层级
i
i
i分别记作:
N
r
1
,
N
r
2
,
.
.
.
,
N
r
η
\bold{N}_r^1,\bold{N}_r^2,...,\bold{N}_r^\eta
Nr1,Nr2,...,Nrη
所有轨迹点的上
η
\eta
η层构成的节点的嵌入集合记作:
N
h
\bold{N}_h
Nh,即:$\bold{N}_h = {\bold{N}_h^1 ,… ,\bold{N}_h^\eta} $
E
\bold{E}
E包括两部分:(1)原有四叉树中的边;(2)对同层的非叶子节点增加的全连接边,即:每一个
N
h
i
N_h^i
Nhi都是全连接的完全子图。
节点的表示
新的图
T
g
=
(
N
,
E
)
T^g = (\bold{N},\bold{E})
Tg=(N,E)是同质的,即:每个节点的表示方式是一致的,都包括三部分:
f
i
=
c
o
n
c
a
t
(
f
l
,
f
r
,
f
h
)
∈
R
3
d
f
\bold{f}_i = concat(\bold{f}^l,\bold{f}^r,\bold{f}^h) \in \mathbb{R}^{3d_f}
fi=concat(fl,fr,fh)∈R3df
地点特征:
f
i
l
=
M
L
P
(
x
i
,
y
i
)
\bold{f}_i^l=MLP(x_i,y_i)
fil=MLP(xi,yi),
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)是归一化后的节点坐标或区域中心坐标。
区域特征:
f
i
r
=
M
L
P
(
w
i
,
h
i
)
\bold{f}_i^r=MLP(w_i,h_i)
fir=MLP(wi,hi),
(
w
i
,
h
i
)
(w_i,h_i)
(wi,hi)是区域的长和宽
层次特征:
f
i
h
=
E
m
b
e
d
d
i
n
g
(
M
H
,
n
i
)
\bold{f}_i^h=Embedding(\bold{M}_\mathcal{H},\bold{n}_i)
fih=Embedding(MH,ni) //查询节点i的信息