Data Mining 论文翻译:Deep Learning for Spatio-Temporal Data Mining: A Survey
Posted 刘文巾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Data Mining 论文翻译:Deep Learning for Spatio-Temporal Data Mining: A Survey相关的知识,希望对你有一定的参考价值。
原文链接:[1906.04928] Deep Learning for Spatio-Temporal Data Mining: A Survey (arxiv.org)
IEEE Transactions on Knowledge and Data Engineering
0 摘要
随着全球定位系统(GPS)、移动设备、遥感等各种定位技术的快速发展,时空数据越来越多。从时空数据中挖掘有价值的知识对于许多现实世界的应用至关重要,包括理解人类移动、智能交通、城市规划、公共安全、医疗保健和环境管理。
随着时空数据集的数量、容量和分辨率的快速增长,传统的数据挖掘方法,尤其是基于统计的数据挖掘方法,正变得不堪重负。
近年来,随着深度学习技术的发展,卷积神经网络(CNN)和递归神经网络(RNN)等深度学习模型由于其强大的时空层次特征学习能力,在各种机器学习任务中获得了巨大的成功。在预测学习、表示学习、异常检测和分类等各种时空数据挖掘任务中得到了广泛的应用。
在本文中,我们对深度学习技术应用于STDM(spatial-temporal data mining)的最新进展进行了综述:
·首先对时空数据的类型进行了分类,并简要介绍了STDM中常用的深度学习模型。
·然后介绍了一个框架,以显示针对STDM的深度学习模型利用的一般流程。
·接下来,我们根据ST数据的类型、数据挖掘任务和深度学习模型对现有文献进行分类,以及根据深度学习在不同领域的STDM应用进行分类,包括交通、气候科学、人口流动性、基于位置的社会网络、犯罪分析和神经科学。
·最后,总结了目前研究的局限性,并指出了未来的研究方向。
1 introduction
随着地图、虚拟地球仪、遥感图像、十年一次的人口普查和GPS轨迹等大型时空数据集的可用性和重要性不断提高,时空数据挖掘(STDM)在大数据时代变得越来越重要。STDM在环境与气候(如风预测、降水预测)、公共安全(如犯罪预测)、智能交通(如交通流预测)、人口流动性(如人口轨迹模式)等多个领域都有广泛的应用。
由于多种原因,用于处理交易数据或图形数据的经典数据挖掘技术在应用于时空数据集时通常效果不佳:=
首先,ST数据通常嵌入在连续的空间中,而传统的数据集(例如交易和图表)通常是离散的。
其次,ST数据的模式通常同时具有空间和时间特性,这更复杂,并且传统方法难以捕获数据相关性。
最后,传统的基于统计的数据挖掘方法中的常见假设之一是数据样本是独立生成的。但是,当进行时空数据分析时,关于样本独立性的假设通常不成立,因为ST数据倾向于高度自相关。
尽管在过去的几十年中对STDM进行了广泛的研究,但一个共同的问题是传统方法在很大程度上依赖于特征工程。换句话说,用于STDM的常规机器学习和数据挖掘技术在处理原始格式的时空数据的能力方面受到限制。
例如,要从fMRI数据分析人的大脑活动,通常需要通过仔细的特征工程和相当多的领域专业知识来设计特征提取器,以将原始数据(例如,扫描的fMRI图像的像素值)转换为合适的内部表示形式或特征向量。
近年来,随着深度学习的盛行,卷积神经网络(CNN)和递归神经网络(RNN)等各种深度学习模型因其强大的层次特征学习能力而在各种机器学习任务中取得了相当大的成功,并且已经广泛使用应用于许多领域,包括计算机视觉,自然语言处理,推荐,时间序列数据预测和STDM。
与传统方法相比,STDM深度学习模型的优势如下:
1.1,自动特征表示学习
深度学习模型可以从原始时空数据中自动学习分层特征表示,这与需要手工制作特征的传统机器学习方法有显着不同。
在STDM中,数据的空间邻近性和长期时间相关性通常很复杂且难以捕获。 通过CNN中的多层卷积操作和RNN的递归结构,可以直接从原始数据中自动有效地学习时空数据中的空间邻近性和时间相关性。
1.2 强大的函数逼近能力
从理论上讲,深度学习可以逼近任何复杂的非线性函数,并且只要其具有足够的层和神经元,就可以拟合任何曲线。
深度学习模型通常由多层组成,每一层都可以被认为是具有池化,dropout和激活函数的简单非线性的模块。因此它可以将特征表示从一个级别转换为更高级别和更抽象的表示 水平。 通过足够多的此类转换,可以学习非常复杂的功能,以使用更复杂的时空数据执行更困难的STDM任务。
图1显示了每年探索各种STDM任务的深度学习技术的论文数量。
可以看到,过去三年中,论文数量呈显着增长趋势。从2012年到2015年,每年仅发表不到10篇相关论文。从2016年开始,这一数量迅速增加,许多研究人员针对不同应用领域中不同类型的ST数据尝试了不同的深度学习模型。 2018年,大约发表了90篇相关论文。目前尚无法获得2019年的完整数字,但我们认为增长趋势将在今年以及未来几年保持下去。
鉴于问题的丰富性和实际应用的多样性,由于以下原因,迫切需要一篇可以概述STDM的文章:
1)它可以突出显示使用不同的深度学习模型来解决不同应用程序领域的STDM问题的异同。
2)这可以使不同研究领域和应用领域的思想相互交流(通过观察在某一个领域(比如交通领域的交通流量预测)的深度学习模型【比如CNN和RNN】是如何在另一个领域的问题中起作用的(比如犯罪分析领域的犯罪预测))
有关STDM的相关调查
最近有一些调查从不同的角度回顾了某些情况下STDM的文献。
[9]和[143]讨论了在“大数据”时代用于遥感,气候科学和社交媒体分析等应用领域的STDM算法的计算问题。
[87]专注于时空数据的频繁模式挖掘。它指出了从数控数据中发现模式的挑战,并将模式分为三类:单个周期性模式、多轨迹上的成对运动模式和聚集模式。
[18]回顾了STDM研究和应用中的最新技术,重点放在时空数据的预测、聚类和可视化的数据挖掘任务上。
[130]从计算的角度回顾了STDM,并强调了STDM的统计基础。
[112]回顾了轨迹数据挖掘的方法和应用,轨迹数据挖掘是时空数据的一种重要类型。
[75]提供了对时空数据聚类的全面调查。
[4]讨论了不同类型的时空数据以及在分析每种类型的数据的背景下出现的相关数据挖掘问题。他们将有关STDM的文献分类为六个主要类别:聚类,预测学习,变更检测,频繁模式挖掘,异常检测和关系挖掘。
但是,所有这些工作都是从传统方法而非深度学习方法的角度对STDM进行审查的。 [114]和[157]提供了一项调查,该调查特别侧重于利用深度学习模型来分析交通数据以提高交通系统的智能水平。总体上,对于探索STDM的深度学习技术仍然缺乏广泛而系统的调研。
本文的贡献
1)首份调研
据我们所知,这是第一份对近期探索STDM深度学习技术的著作进行回顾的调研。
鉴于近年来对时空数据分析进行深度学习的研究越来越多,我们首先对时空数据类型进行分类,然后介绍在STDM中广泛使用的流行的深度学习模型。
我们还总结了不同数据类型的数据表示形式,并总结了哪种深度学习模型适合处理时空数据的哪些类型的数据表示形式
2)通用框架
我们为基于深度学习的STDM提供了一个通用框架,该框架包括以下主要步骤:数据实例构建,数据表示,深度学习模型选择和解决STDM问题。
在框架的指导下,给定特定的STDM任务,人们可以更好地使用适当的数据表示形式,并为正在研究的任务选择或设计合适的深度学习模型。
3)全面调查
该调查提供了针对不同STDM问题使用深度学习技术的最新进展的全面概述,这些问题包括预测学习,表示学习,分类,估计和推论,异常检测等。
对于每项任务,我们将针对不同类型的时空数据提供具有代表性的作品和模型的详细说明,并进行必要的比较和讨论。
我们还将根据应用领域对当前的工作进行分类和总结,包括运输,气候科学,人口流动性,基于位置的社交网络,犯罪分析和神经科学
4)未来的研究方向
该调查还突出了一些尚待深入研究的未解决问题,并指出了未来可能的研究方向。
行文结构
本文的行文结构如下。
第二节介绍时空数据的分类,并简要介绍STDM中广泛使用的深度学习模型。
第三节为STDM提供了一个使用深度学习的总体框架。
第四节概述了深度学习模型处理的各种STDM任务。
第五节展示了跨不同领域的应用程序。
第六节讨论了现有模型的局限性,并提出了未来的方向。
最后,我们在第七节对本文进行总结。
2 时空数据的类型
2.1 数据类型
时空数据有多种类型,它们在不同的实际应用程序中的数据收集和表示方式不同。 不同的应用场景和时空数据类型导致不同类型的数据挖掘任务和问题表述。
不同的深度学习模型通常对时空数据的类型有不同的偏好,并且对输入数据格式有不同的要求。 例如,CNN模型设计为处理类似图像的数据,而RNN通常用于处理顺序数据。、
因此,重要的是首先总结时空数据的一般类型并正确表示它们。 我们遵循并扩展了[4]中的分类,并将时空数据分为以下类型:事件数据,轨迹数据,点参考数据,栅格数据和视频
2.1.1 事件数据
事件数据包括在地点和时间发生的离散事件(例如城市中的犯罪事件和交通网络中的交通事故事件)。通常,事件的特征可以是点的位置和时间,分别表示事件发生的位置和时间。
例如,犯罪事件的特征可以是这样的元组(ei,li,ti),其中ei是犯罪类型,li是犯罪发生的地点,ti是犯罪发生的时间。
图1(a)展示了事件数据。它显示了三种类型的事件,这些事件由不同形状的符号表示。
时空事件数据在犯罪学(犯罪和相关事件的发生率),流行病学(疾病暴发事件),交通(车祸)和社交网络(社交事件和趋势主题)等现实应用中很常见。
2.1.2 轨迹数据
轨迹表示随时间推移在空间中移动的物体所形成的路径。 (例如,自行车或出租车的行驶路线)。
轨迹数据通常由部署在移动物体上的传感器收集,这些传感器可以随着时间的推移周期性地传输物体的位置,例如出租车上的GPS。
图1(b)显示了两个轨迹的图示。 每个轨迹通常可以表征为这样的序列{(l1,t1),(l2,t2)…(ln,tn)},其中li是位置(例如纬度和经度),ti是时间 移动物体通过此位置。
随着移动应用程序和物联网技术的发展,诸如用户轨迹,城市交通轨迹和基于位置的社交网络等轨迹数据变得无处不在。
2.1.3 点参考数据。
点参考数据包括连续时空场的测量值,例如在空间和时间上一组移动参考点上的温度,植被或种群。
例如,通常使用漂浮在太空中的气象气球来测量诸如温度和湿度之类的气象数据,这些气象气球会连续记录天气观测结果。
点参考数据通常可以表示为一组元组:{{r1,l1,t1),(r2,l2,t2)…(rn,ln,tn)}。 每个元组(ri,li,ti)表示在时间ti处时空场上位置li处传感器ri的测量值。
图3示出了在两个时间戳处的连续时空场中的点参考数据(例如海面温度)的示例。 它们是由传感器在两个时间戳记的参考位置(显示为圆圈)测量的。 请注意,温度传感器的位置会随时间变化
2.1.4 栅格数据
栅格数据是用来记录在空间中的固定位置和固定的时间点,连续或离散时空场的测量值。
点参考数据和栅格数据之间的主要区别在于,点参考数据的位置不断变化,而栅格数据的位置固定。栅格数据中测量时空场的位置和时间可以规则或不规则地分布。
给定m个固定位置S = {s1,s2,… sm}和n个时间戳T = {t1,t2,… tn},栅格数据可以表示为矩阵,其中每个条目rij是tj时刻si处的测量值。
栅格数据在交通,气候科学和神经科学等实际应用中也很常见。
例如,空气质量数据(例如PM2.5)可以由部署在城市固定位置的传感器收集,并且在连续时间段内收集的数据形成空气质量栅格数据。
在神经科学中,功能磁共振成像或功能MRI(fMRI)通过检测与血流相关的变化来测量大脑活动。扫描的fMRI信号还形成用于分析大脑活动和识别某些疾病的栅格数据。
图4示出了交通路网中的交通流栅格数据。每条道路都部署了交通传感器,以收集实时交通流量数据。一整天(24小时)内所有道路传感器的交通流量数据形成一个栅格数据。
2.1.5 视频。
包含一系列图像的视频也可以视为一种时空数据。
在空间域中,相邻像素通常具有相似的RGB值,因此呈现出较高的空间相关性。
在时间域中,连续帧的图像通常会平滑变化并呈现出较高的时间依赖性。
视频通常可以表示为三维张量,一维表示时间t,另两个维表示图像。
实际上,如果我们假设在每个像素处都部署了一个“传感器”,并且在每个帧处,“传感器”将收集RGB值,则视频数据也可以视为特殊的栅格数据。
基于深度学习的视频数据分析非常热门,近年来发表了大量论文。
尽管我们将视频归类为时空数据类型,但本文还是从数据挖掘的角度看相关论文,而视频数据分析则属于计算机视觉和模式识别的研究领域。因此,在本次综述中,我们不涵盖视频的时空数据类型。
2.2 数据实例
数据挖掘算法所操作的基本数据单元称为数据实例。
对于经典的数据挖掘设置,通常可以将数据实例表示为有label的feature(用于有监督学习)、无label的feature(用于无监督学习)。
在时空数据挖掘方案中,不同的时空数据类型有不同类型的数据实例。 对于不同的数据实例,存在几种类型的数据表示形式,用于表示数据以供深度学习模型进一步挖掘。
2.2.1 数据实例
通常,时空数据可以概括为以下数据实例:点,轨迹,时间序列,空间图和ST栅格,如图5的左侧所示。
时空点可以表示为包含以下内容的元组:时空信息以及观察的一些其他特征,例如犯罪或交通事故的类型。
除时空事件外,轨迹和时空点参考数据也可以被表示为点。例如,可以将一条轨迹分解为几个离散的点,以计算在特定时隙中有多少条轨迹经过了特定区域。
在某些应用中,除了表示为点和轨迹外,还可以将轨迹形成为时间序列。如果我们确定位置并计算穿过该位置的轨迹数,则它将形成一个时间序列数据。
空间图的数据实例包含在每个时间戳处,整个时空域中所有传感器的数据观测。例如,在时间t处部署在高速公路上的所有环形传感器的交通速度读数形成空间地图数据。
时空栅格数据的数据实例包含跨整个位置和时间戳集的测量。也就是说,时空栅格包含一整组空间地图。
2.2.2 数据表示。
对于上述五种类型的时空数据实例(点,轨迹,时间序列,空间图和ST栅格),通常使用四种类型的数据表示形式将其表示为各种深度学习模型的输入:序列,图,二维矩阵和3维张量,如右侧部分所示 图5。
不同的深度学习模型需要不同类型的数据表示作为输入。
因此,如何表示时空数据实例取决于正在研究的数据挖掘任务和所选的深度学习模型。
轨迹和时间序列都可以表示为序列。注意,轨迹有时也表示为一个矩阵,其二维是网格时空域的行和列id。矩阵的每一项值表示轨迹是否穿过相应的网格区域。这样的数据表示通常用于促进CNN模型的利用[67],[118],[142]
虽然图也可以表示为矩阵,这里我们将图和图像矩阵分类为两种不同类型的数据表示。这是因为图节点不像图像矩阵那样遵循欧氏距离,因此处理图和图像矩阵的方法完全不同。我们将在后面讨论处理这两种类型数据表示的方法的更多细节。
根据不同的应用,空间地图可以用图形和矩阵表示。例如,在城市交通流预测中,城市交通网络的交通数据可以表示为交通流图[85]、[155]或小区区域级交通流矩阵[121]、[137]。
光栅数据通常表示为二维矩阵或三维张量。对于矩阵,两个维度是位置和时间步长,对于张量,三个维度是是单元格的行和列id,以及时间戳。
矩阵是一种比张量更简单的数据表示格式,但它丢失了位置之间的空间相关信息。两者都被广泛用于表示栅格数据。
例如,在风预测中,通常将部署在不同位置的多个风速表的风速时间序列数据合并为一个矩阵,然后送入CNN或RNN模型进行未来风速预测[96]、[200]。
在神经科学中,一个人的fMRI数据是一系列fMRI扫描的大脑图像,因此可以像视频一样用张量表示。许多研究使用fMRI图像张量作为CNN模型的输入进行特征学习,检测大脑活动[66]、[76],诊断疾病[116]、[158]。
2.3 深度学习模型的预备知识
2.3.1 受限玻尔兹曼机(RBM)
受限玻尔兹曼机是一种两层随机神经网络[53],可用于降维,分类,特征学习和协同过滤。
如图6所示,RBM的第一层称为带有神经元节点{v1,v2,… vn}的可见层或输入层,第二层称为带有神经元节点的隐藏层{h1, h2,… hm}。
作为完全连接的二部无向图,RBM中的所有节点通过无向权重边{w11,… wnm}跨层相互连接,但是同一层中没有两个节点被链接。
2.3.2 CNN
卷积神经网络(CNN)是一类深层的前馈人工神经网络,用于分析视觉图像。
典型的CNN模型通常包含以下几层,如图7所示:输入层,卷积层,池化层,完全连接层和输出层。
卷积层将通过计算神经元的权重与连接到输入体积的区域之间的标量积来确定其神经元连接到输入局部区域的输出。然后,池化层将简单地沿着给定输入的空间维度执行下采样,以减少参数的数量。全连接层将一层中的每个神经元连接到下一层中的每个神经元,以学习用于分类的最终特征向量。它在原则上与传统的多层感知器神经网络(MLP)相同。
与传统的MLP相比,CNN具有以下与众不同的特征,这些特征使它们在视觉问题上实现了很多通用化:3D神经元体积,局部连接性和共享权重。
CNN用于处理图像数据。由于其在空间域中捕获相关性的强大功能,现在已广泛用于挖掘时空数据,尤其是空间地图和时空栅格。
2.3.3 GraphCNN(即GCN)
CNN设计为处理可在欧几里得空间中表示为规则网格的图像。但是,在很多应用程序中,都是从非欧几里德域生成数据的,例如图形。
最近,对GraphCNN进行了广泛研究,以将CNN泛化为结构化数据[160]。
图8给出了GraphCNN模型的结构示意图。
图卷积操作将卷积变换应用于每个节点的邻居,然后进行池化操作。
通过堆叠多个图卷积层,每个节点的潜在嵌入可以包含来自距离多跳的邻居的更多信息。
在生成图中节点的潜在嵌入之后,可以轻松地将潜在嵌入馈送到前馈网络以实现回归目标的节点分类,也可以汇总所有节点嵌入以表示整个图,然后执行图分类和回归。
由于它具有捕获节点相关性和节点特征的强大功能,因此现在广泛用于挖掘图结构化时空数据,例如网络规模的流量数据和大脑网络数据
2.3.4 RNN and LSTM
递归神经网络(RNN)是一类人工神经网络,其中节点之间的连接沿序列形成有向图。
RNN旨在识别顺序特征并使用模式来预测下一个可能的情况。它们被广泛用于语音识别和自然语言处理的应用中。
图9(a)显示了RNN模型的一般结构,其中Xt是输入数据,A是网络的参数,ht是学习的隐藏状态。可以看到前一个时间步t1的输出(隐藏状态)被输入到下一个时间步t的神经。因此,历史信息可以存储并传递给将来。
标准RNN的一个主要问题是,由于梯度消失的问题,它仅具有短期记忆。长短期记忆(LSTM)网络是递归神经网络的扩展,它能够学习输入数据的长期依赖性。
由于使用了特殊的存储单元,如图9(b)的中间部分所示,LSTM使RNN能够长时间记住其输入。
LSTM单元由三个门组成:输入,忘记和输出门。这些门决定是否让新输入进入(输入门),删除信息(因为它不重要)(忘记门)或使其在当前时间步影响输出(输出门)。
RNN和LSTM都广泛用于处理时间序列数据,以学习时空数据的时间依赖性。
2.3.5 Seq2Seq
Seq2Seq模型的目的是将固定长度的输入与固定长度的输出映射,其中输入和输出的长度可能不同[138]。
它广泛用于各种NLP任务,例如机器翻译,语音识别和在线聊天机器人。
尽管最初提出解决NLP任务的建议,但Seq2Seq是通用框架,可用于任何基于序列的问题。
如图10所示,Seq2Seq模型通常由3个部分组成:编码器,中间(编码器)矢量和解码器。
由于捕获序列数据之间的依存关系的强大能力,Seq2Seq模型被广泛用于时空预测任务中,其中时空数据具有较高的时间相关性,例如城市人群流量数据和交通数据。、
2.3.6 Autoencoder (AE) and Stacked AE
自动编码器是一种人工神经网络,旨在以无监督的方式学习有效的数据编码[53]。
如图11所示,它具有编码器功能,可创建一个包含描述输入的代码的隐藏层(或多层)。 然后有一个解码器,它创建来自隐藏层的输入的重构。
自动编码器通过学习数据中的相关性,在隐藏层中创建数据的压缩表示形式,这可以视为减少维度的一种方式。
作为一种有效的无监督特征表示学习技术,AE有助于进行各种下游数据挖掘和机器学习任务,例如分类和聚类。
堆叠式自动编码器(SAE)是由多层稀疏自动编码器组成的神经网络,其中每层的输出都连接到连续层的输入[7]。
3 框架
在本节中,我们将介绍如何使用深度学习模型来解决STDM问题。首先,我们将给出一个描述管道的框架,其中包括ST数据实例的构建、ST数据表示、深度学习模型的部分和设计,并最终解决问题。下面我们将详细介绍这些主要步骤。
使用深度学习模型进行时空数据挖掘的通用流程如图13所示。
针对从各种位置传感器收集的原始时空数据,包括事件数据、轨迹数据、点参考数据和栅格数据,首先构建数据实例进行数据存储。正如我们之前讨论的,时空数据实例可以是点、时间序列、空间地图、轨迹和时空光栅。
为了将深度学习模型应用于各种挖掘任务,需要将时空数据实例进一步表示为特定的数据格式,以适应深度学习模型。
时空数据实例可以表示为序列数据、二维矩阵、三维张量和图。
针对不同的数据表示形式,采用不同的深度学习模型进行处理。RNN和LSTM模型善于处理具有短期或长期时间相关性的序列数据,而CNN模型则善于像矩阵一样捕捉图像中的空间相关性。结合RNN和CNN的混合模型可以捕获时空光栅数据张量表示的空间和时间相关性。
最后,选择的深度学习模型用于解决各种STDM任务,如预测、分类、表示学习等。
3.1 时空数据预处理
时空数据预处理的目的是将时空数据实例表示为深度学习模型能够处理的合适的数据表示格式。
通常深度学习模型的输入数据格式可以是向量、矩阵或张量,这取决于不同的模型。
图12显示了ST数据实例及其对应的数据表示。可以看到,通常一种类型的时空数据实例对应于一种典型的数据表示。轨迹和时间序列数据可以自然地表示为序列数据。空间地图数据可以用二维矩阵表示。ST光栅可以用二维矩阵或三维张量表示。
然而,情况并非总是如此。例如,轨迹数据有时用矩阵表示,然后利用CNN模型更好地捕捉空间特征[24],[67],[103],[117],[150]。
测量轨迹的时空场(如城市),首先被划分为网格单元区域。然后,可以将时空场建模为一个矩阵,每个单元区域代表一个条目。如果轨迹经过单元格区域,则对应的入口值设为1;否则设置为0。这样就可以将轨迹数据表示为一个矩阵,从而可以应用CNN。
有些时候空间地图被表示为一个图形。例如,部署在高速公路上的传感器通常被建模为一个图,其中节点是传感器,边缘表示两个相邻传感器之间的路段。在这种情况下,GraphCNN模型通常用于处理传感器图数据,预测所有节点[22]未来的交通流量(流量、速度等)[85]。
时空光栅数据可以表示为2D矩阵或3D张量,这取决于数据类型和应用程序。例如,一系列fMRI脑图像数据可以表示为一个张量,输入到3D-CNN模型中进行疾病分类[78],[116],也可以表示为一个矩阵,提取大脑成对区域之间的时间序列相关性,进行脑活动分析[48],[113]
3.2 深度学习模型的选择和设计
有了时空数据实例的数据表示,下一步是将它们输入到 为不同STDM任务所选择或设计的深度学习模型中。
如图12右半部分所示,每种类型的数据表示都有不同的深度学习模型选项。
序列数据可以作为,包括RNN、LSTM、GRU、Seq2Seq、AE、hybrid模型等模型的输入。RNN、LSTM和GRU都是适合预测序列数据的递归神经网络。
序列数据也可以通过Seq2Seq模型进行处理。例如,在多步流量预测中,通常采用由编码器层一组LSTM单元和解码器层一组LSTM单元组成的Seq2Seq模型,同时预测接下来几个时段的流量速度或流量[89]、[90]。
作为特征学习模型,AE或SAE可用于各种数据表示,以学习低维特征编码。序列数据也可以用AE或SAE编码为低维度特征。
GraphCNN是专门设计来处理图形数据,以捕获相邻节点之间的空间相关性。
如果输入是单个矩阵,通常采用CNN模型,如果输入是矩阵序列,根据所研究的问题,可以采用RNN模型、ConvLSTM和hybrid模型。如果目标只是特征学习,则可以应用AE和SAE模型。对于张量数据,通常采用3D-CNN或3D-CNN与RNN模型的结合来处理
表一总结了使用深度学习模型处理不同类型时空数据的工作。
如表所示,CNN、RNN及其变体(如GraphCNN和ConvLSTM)是STDM中应用最广泛的两种深度学习模型。
CNN模型主要用于处理空间地图和时空光栅。也有一些文献使用CNN处理轨迹数据,但目前还没有使用CNN进行时间序列数据学习的作品。
GraphCNN模型是专门为处理图形数据而设计的,可以将图形数据分类为空间地图。
包括LSTM和GRU在内的RNN模型可以广泛应用于轨迹、时间序列和空间地图序列的处理。
ConvLSTM可以看作是RNN和CNN的混合模型,通常用于处理空间地图。
AE和SDAE主要用于从时间序列、轨迹和空间地图中学习特征。
Seq2Seq模型一般是为序列数据设计的,因此只用于处理时间序列和轨迹。
混合模型在STDM中也很常见。例如,可以将CNN和RNN进行叠加,首先学习空间特征,然后捕获历史时空数据之间的时间相关性。
混合模型可以设计成适合所有四种类型的数据表示。
其他模型如网络嵌入[164],多层感知器(MLP)[57],[186],生成对抗网(GAN)[49],[93],残差网(Residual nets)[78],[89],深度强化学习[50]等也在最近的工作中被使用。
3.3 解决STDM问题
最后,利用所选择或设计的深度学习模型来解决各种STDM任务,如分类、预测学习、表示学习和异常检测。
请注意,通常如何选择或设计深度学习模型取决于特定的数据挖掘任务和输入数据。然而,为了展示STDM的整体流程,我们首先展示了深度学习模型,然后是数据挖掘任务。
在下一节中,我们将对不同的STDM问题进行分类,并根据问题和时空数据类型详细回顾工作。
4 用于解决不同STDM问题的深度学习模型
在本节中,我们将对STDM问题进行分类,并介绍相应的深度学习模型来解决它们。
图14显示了深度学习模型解决的各种STDM问题的分布,包括预测、表示学习、检测、分类、推理/估计、推荐等。
我们可以看到,研究的STDM问题中最大的一类是预测。70%以上的相关论文集中研究时空数据预测问题。这主要是因为准确的预测在很大程度上依赖于高质量的特征,而深度学习模型在特征学习方面尤其强大。
第二大问题是表示学习,它的目标是用非监督或半监督的方式学习各种时空数据的特征表示。
深度学习模型也用于其他STDM任务,包括分类、检测、推断/估计、推荐等。接下来我们将详细介绍STDM存在的主要问题,并总结相应的基于深度学习的解决方案。
4.1 预测学习
预测学习的基本目标是根据时空数据的历史数据预测未来的观测结果。
对于不同的应用,输入变量和输出变量都可以属于不同类型的时空数据实例,从而产生各种各样的预测学习模型。下面,我们将介绍基于不同时空数据实例类型作为模型输入的预测问题。
4.1.1 points
点通常把时间或空间域上的信息合并,形成时间序列或空间地图,如犯罪[31],[57],[145],[56],交通事故[201]和社会事件[43],从而应用在深度学习模型上。
[145]采用ST-ResNet模型预测洛杉矶地区的犯罪分布。他们的模型包含两个阶段。
首先,他们将原始犯罪点数据转化为类似于图像的犯罪热点图,将发生在同一时段和同一地区的所有犯罪事件合并在一起。
然后,采用残差卷积单元的层次结构,以犯罪热点图为输入训练犯罪预测模型。
同样,[57]提出使用GRU模型来预测城市犯罪。
[201]利用卷积长短期记忆(ConvLSTM)神经网络模型研究了交通事故预测问题。
他们也首先合并了交通事故的点数据,并将时空场中的交通事故计数建模为三维张量。张量的每一项(i, j, t)表示在时刻t,网格单元(i, j)上的交通事故计数。
历史交通事故张量输入到CovnLSTM中进行预测。
[43]提出了一个空间不完全多任务深度学习框架,可以有效预测发生在不同位置的未来事件的子类型。
4.1.2 Time series
在道路级别的交通预测中,道路或高速公路上的交通流数据可以建模为时间序列。
近年来,许多研究尝试了多种深度学习模型用于道路级别的交通预测[104]、[136]、[191]。
[104]首次利用层叠自动编码器从交通流时间序列数据中学习特征,用于路段级交通流预测。
[136]将某高速公路的交通流数据视为时间序列,提出在以往交通流观测的基础上,利用深度信念网络(Deep Belief Networks, DBNs)预测未来的交通流。
[126]研究了出租车需求预测问题,将特定区域的出租车需求建模为一个时间序列。提出了一种全连接层深度学习模型,从出租车需求的历史时间序列中学习特征,然后将特征与天气、社交媒体文本等其他上下文特征相结合,预测未来需求。
RNN和LSTM被广泛应用于时间序列时空数据的预测。
[90]结合LSTM和sequence to sequence模型预测路段的交通速度。除了交通速度信息,他们的模型还考虑了其他外部特征,包括道路的地理结构、国家庆祝活动等公共社会事件,以及在线人群出行信息的查询。
风速等天气变量也通常采用时间序列建模,然后应用RNN/LSTM模型进行未来天气预报[14],[17],[55],[97],[124],[179]。
例如,[17]提出了一种用于概率风速预测的集合模型。该模型将小波阈值去噪(WTD)、自适应神经模糊推理系统(ANFIS)等传统风速预测模型,和递归神经网络(RNN)结合起来。
在fMRI数据分析领域,通常使用fMRI时间序列数据来研究脑功能网络和诊断疾病。
[34]提出使用LSTM模型直接从静息态fMRI时间序列对自闭症谱系障碍(ASD)患者和典型对照者进行分类。
[59]开发了一种名为DCAE的深度卷积自动编码器模型,用于以无监督的方式从复杂的、大规模的tfMRI时间序列中学习中级和高级特征。
时间序列数据通常不包含空间信息,因此基于深度学习的预测模型没有明确考虑数据之间的空间相关性。
4.1.3 Spatial maps
空间地图通常可以表示为类图像矩阵,适合使用CNN模型进行预测学习[69],[80],[184],[200]。
[184]提出了一种基于CNN的预测模型来捕捉城市乌鸦流的空间特征。以城市乌鸦流空间图为输入,建立了实时乌鸦流预测系统UrbanFlow。
为了预测租车服务的供需,[69]提出了基于六边形的卷积神经网络(convolutional neural networks, H-CNN),其中输入和输出都是大量的局部六边形地图。与以往将城市区域划分为多个方形格的研究不同,他们提出将城市区域划分为各种规则的六边形格,因为六边形分割具有明确的邻域定义、较小的边面积比和各向同性。
一个监测点的风速数据可以用时间序列来建模,而多个监测点的风速数据可以用空间图来表示。CNN模型还可以用于同时预测多个站点的风速[200]。
给定一个空间地图序列,为了捕捉时间和空间的相关性,许多工作试图将CNN和RNN结合起来进行预测。
[161]提出了卷积LSTM (ConvLSTM),并利用它构建了一个端到端可训练的降水临近预报模型。这篇文章将CNN中的卷积结构与LSTM联合起来,在Seq2Seq的学习框架下预测时空序列。
ConvLSTM是一种序列到序列的预测模型,其每一层都是一个ConvLSTM单元,在输入到状态和状态到状态的转换中都具有卷积结构。模型的输入和输出都是空间地图矩阵。
在此之后,许多工作尝试将ConvLSTM应用于其他不同领域[1],[6],[28],[70],[73],[98],[151],[198]的空间地图预测任务。
[151]提出了一种新的跨城市迁移学习方法,用于深度时空预测,称为RegionTrans RegionTrans包含多个ConvLSTM层,用于捕获隐藏在数据中的时空模式。
[73]根据多通道雷达资料应用ConvLSTM网络进行降水预报。
[198]提出了一种端到端深度神经网络,用于预测按需移动(MOD)服务中的乘客上下车需求。基于卷积和ConvLSTM单元的编码器-解码器框架用于识别复杂特征,这些特征捕捉了城市乘客需求的时空影响和上下车交互。将城市单元区域内的乘客需求建模为空间地图,并用矩阵表示。
[1]同样提出了一个融合ConvLSTM层、标准LSTM层和卷积层的FCL-Net模型,用于按需乘车服务下的乘客需求预测。
[98]提出了一个统一的神经网络模块,即attention Crowd Flow Machine (ACFM)。ACFM能够通过使用attention机制,学习时间变化数据的动态表示来推断人群流的演化。ACFM由两个递进的ConvLSTM单元与一个卷积层相连接,用于空间权值预测。
其他一些模型也可以用于预测空间地图,如GraphCNN [8], [22], [92], [144], ResNet[146],[183],[185],以及混合方法[49],[109],[177]。
注意,在本文中,我们认为空间地图既包含图像数据,也包含图形数据。
虽然图也被表示为矩阵,但它们需要完全不同的技术,如GraphCNN或GraphRNN。
在道路网络规模的交通预测中,交通网络可以自然地建模为一个图,然后应用GraphCNN或GraphRNN。
[85]提出将交通网络中的交通流建模为有向图上的扩散过程,并引入扩散卷积递归神经网络(diffusion Convolutional Recurrent Neural network, DCRNN)进行交通预测。它结合了整个路网交通流的空间和时间依赖性。具体来说,DCRNN利用图上的双向随机游动捕获空间依赖关系,利用带计划采样的编码器-解码器体系结构捕获时间依赖关系。
[155]提出了一种新的拓扑框架Linkage Network来建模道路网络,并给出了交通流的传播模式。在Linkage Network模型的基础上,设计了一种新的在线预测器——图递归神经网络(GRNN),用于学习图中的传播模式。它根据从整个图中收集的信息,同时预测各个路段的交通流量。
[144]引入时空加权图(STWG)来表示稀疏的时空数据。然后在STWG上构建了一个可扩展的图结构RNN (GSRNN),对时空数据进行微尺度预测。
4.1.4 轨迹
目前,两种深度学习模型,RNN和CNN,都被用于根据轨迹的数据表示来进行轨迹预测。
首先,轨迹可以表示为位置序列,如图12所示。在这种情况下,RNN和LSTM模型可以应用于[38],[64],[77],[88],[135],[163],[165]。
[163]提出了无碰撞LSTM,该LSTM扩展了经典LSTM,加入斥力池化层,共享相邻行人的隐藏状态,用于人口轨迹预测。无碰撞LSTM可以根据行人过去的位置生成未来序列。
[64]研究了城市人口的流动性预测问题,给出了一个人的几个观察流动性的步骤,试图预测他/她在城市中的下一步走向。他们提出了一种基于RNN的深度序列学习模型来有效预测城市人口流动性。
[135]提出了一个名为DeepTransport的模型,从一组个人GPS轨迹预测步行、乘坐火车、乘坐公共汽车等交通方式。利用四个LSTM层构建DeepTransport,预测用户未来的交通模式。
轨迹也可以用矩阵表示。在这种情况下,CNN模型可以更好地捕捉空间相关性[67]、[103]、[142]。
[67]提出了一种基于cnn的表示语义轨迹和预测未来位置的方法。在语义轨迹中,每个访问的地点都与一个语义含义相关联,如家庭、工作、商店等。他们将语义轨迹建模为一个矩阵,矩阵的两个维度是语义和轨迹ID。将矩阵输入到具有多个卷积层的CNN中,学习潜在特征,用于下一次访问的语义位置预测。
[103]将轨迹建模为二维图像,图像的每个像素表示轨迹中是否访问了相应的位置。然后采用多层卷积神经网络结合多尺度轨迹模式,预测出租车轨迹模式的目的地。
把轨迹建模为类图像矩阵也用于异常检测和推断等任务[111]、[150],后面将详细介绍。
4.1.5 ST raster
如前所述,时空光栅数据可以表示为两个维度为位置和时间的矩阵,或三个维度为为单元区域ID、单元区域ID和时间的张量。
时空光栅数据预测通常采用2D-CNN(矩阵)和3D-CNN(张量),有时还与RNN结合使用。
[188]提出了一种多通道3D-立方体逐次卷积网络3D- scn,利用3D雷达资料预报风暴的产生、增长和对流。
[121]将连续时段内道路多个位置的交通速度数据建模为时空光栅矩阵,然后将其输入深度神经网络进行交通流预测。
[106]探索了与[121]相似的思想,用于大型交通网络的交通预测。
[12]提出了一种用于城市车流预测的三维卷积神经网络。他们不是预测道路上的交通,而是试图预测城市中每个单元区的车辆流量。因此,他们在连续的时间段对全市车辆流量数据建模,将其建模为时空光栅,并将它们输入到论文所提出的3D-CNN模型中。
类似地,[131]将城市不同时段乘客的出行事件建模为三维张量,然后利用3D- cnn模型预测出行乘客的供需情况。
需要注意的是,时空光栅和Spatial map的主要区别在于,时空光栅是多个时刻合并的时空字段测量值,而Spatial map是仅在一个时隙中的时空字段测量值。
因此,根据实际的应用场景和数据分析的目的,同一类型的时空数据有时可以同时表示为空间地图和时空光栅。
4.2 表示学习
表示学习的目的是学习输入数据的抽象和有用的表示,以便于下游的数据挖掘或机器学习任务。
表示是由输入数据的多个线性或非线性变换组成的。
现有的时空数据表示学习研究大多集中在轨迹和空间地图数据类型的研究上。
4.2.1 轨迹
轨迹在基于位置的社交网络(LBSNs)和各种移动服务中无处不在,RNN和CNN模型都被广泛用于学习轨迹表示。
[82]针对轨迹相似度计算的问题,提出了一种基于seq2seq的轨迹表示学习模型。基于学习表示的轨迹相似度对非均匀、低采样率和噪声样本点具有较好的鲁棒性。
类似地,[170],[171]提出将轨迹转换为特征序列来描述目标运动,然后使用一个Seq2Seq自动编码器来学习固定长度的深度表示来进行聚类。
基于位置的社交网络(LBSN)数据通常包含两个重要方面,即移动轨迹数据和用户的社交网络。
为了对这两个方面建模并挖掘它们之间的关联,[164]提出了一种神经网络模型,用于联合学习社交网络表示和用户移动轨迹表示。RNN和GRU模型用于捕捉移动轨迹在短期或长期水平上的顺序相关性。
[10]提出了一种基于内容感知的POI嵌入模型CAPE,用于POI推荐。在CAPE中,将用户签到序列中POIs的嵌入向量训练为彼此接近。
[26]提出了一种地理卷积神经张量网络GeoCNTN,用于学习LBSNs中位置的嵌入。
[41]提出使用RNN和Autoencoder学习用户签到嵌入和轨迹嵌入,并将嵌入用于LBSNs中的用户社交圈推理。
4.2.2 空间地图
有一些研究如何学习空间地图表示的论文。
[21]提出了一种卷积神经网络架构,用于从传感器数据的原始空间地图中学习时空特征。
[153]提出将学习城市社区结构问题作为空间表征学习任务。提出了一种集合嵌入学习框架,将静态的POIs数据和动态的人类移动图空间地图数据统一起来,学习城市社区结构。
[182]研究了如何从神经图像数据中学习脑连接模式的非线性表征,以了解神经和神经精神障碍。提出了一种名为multi -side-view guided AutoEncoder (MVAE)的深度学习体系结构,用于学习fMRI和DTI图像中脑连接组数据的表示。
4.3 分类
分类任务主要是在分析fMRI数据中进行研究。
近年来,脑成像技术已成为神经科学领域的热点,包括功能磁共振成像(functional Magnetic Resonance imaging, fMRI)、脑电图(electroencephalography, EEG)和脑磁图(Magnetoencephalography, MEG)[120]。
特别是结合深度学习方法的fMRI在神经科学研究中已被广泛应用于各种分类任务,如疾病分类、脑功能网络分类、观看文字或图像时的脑激活分类等[158]。
根据不同的分类任务,可以从原始fMRI数据中提取不同类型的时空数据。
[34]提出利用长短期记忆递归神经网络(LSTMs),直接利用不同脑区产生的静息态fMRI时间序列数据,对自闭症谱系障碍(ASD)患者和典型对照者进行分类。
[48],[52],[54],[71],[113],[132]将fMRI数据建模为空间图,并将其作为分类模型的输入。
[48]和[52]没有直接使用每一对静息态fMRI时间序列数据,而是根据每对静息态fMRI时间序列数据之间的皮尔逊相关系数计算全脑功能连接矩阵。然后将相关矩阵作为空间映射,输入DNN模型进行ASD分类。
[113]提出了一种更通用的用于功能连接组分类的卷积神经网络结构,称为连接组卷积神经网络(connectome convolutional neural network, CCNN)。CCNN能够结合来自不同功能连接度量的信息,因此通过改变用于训练网络的连接描述符组合,可以很容易地适应广泛的基于连接组的分类或回归任务
也有一些论文直接使用MRI脑部三维结构扫描图像作为时空光栅数据,然后通常采用3D- cnn模型从时空光栅中学习特征进行分类[63]、[66]、[78]、[116]、[128]、[194]。
[78]提出了两种用于脑MRI分类的三维卷积网络结构,这两种结构是对普通卷积神经网络和残差卷积神经网络的改进。他们的模型可以应用于3D MRI图像,无需手工提取中间特征。
[194]还设计了一个深度3D- cnn框架,用于对全脑fMRI信号稀疏3D表示重建的大量功能脑网络进行自动、有效、准确的分类和识别
4.4 估计和推断
目前关于时空数据估计和推理的研究主要集中在空间地图和轨迹的数据类型上
4.4.1 空间地图
虽然设立了监测站来收集污染物统计数据,但由于费用高昂,监测站的数量非常有限。
因此,对城市空气质量信息进行细粒度推断已成为政府和人民共同关心的问题。
[19]研究了基于某些监测站测量出的大气污染物,任意位置的空气质量推断问题。他们提出了一种名为ADAIN的深度神经网络模型,用于异构数据的建模和复杂特征交互的学习。一般来说,ADAIN结合了两种神经网络:前馈神经网络用于建模静态数据,电流神经网络用于建模顺序数据,然后隐藏层用于捕获特征交互。
[139]研究了深度神经网络在遥感降水估计中的应用。采用层叠式降噪自编码器对红外云图进行特征提取和降水估算。
在给定出发地位置、目的地位置和出发时间的情况下,估计潜在行程的持续时间是智能交通系统中的一项重要任务。为了解决这个问题,[83]提出了一种深度多任务表示学习模型用于到达时间估计。该模型产生了有意义的表示,保留了各种出行特性,同时利用了基础道路网络和时空先验知识。
4.4.2 轨迹
[147], [181] 试图从移动轨迹数据估计路径的旅行时间。
[181] 提出了一种名为 DEEPTRAVEL 的基于 RNN 的深度模型,该模型可以从历史轨迹中学习来估计旅行时间。
[147] 提出了一个端到端的旅行时间估计深度学习框架,称为 DeepTTE,它直接估计整个路径的旅行时间,而不是先估计各个路段或子路径的旅行时间,然后再将它们相加。
[111]研究了从轨迹数据推断用户访问某个位置的目的。他们提出了一种图卷积神经网络 (GCN),用于从个人智能手机生成的 GPS 轨迹数据推断活动类型(即旅行目的)。用户的移动图是基于他/她的所有活动区域和基于轨迹数据的连接性构建的,然后将时空活动图输入 GCN 以进行活动类型推断。
[42] 研究了轨迹-用户链接 (TUL) 的问题,该问题旨在识别轨迹,并将轨迹和社交网络中生成这些轨迹的用户相匹配。提出了一种称为 TULER 的基于循环神经网络 (RNN) 的模型,通过结合用户签入轨迹嵌入模型和堆叠 LSTM 来解决 TUL 问题。
识别用户交通方式的分布,例如自行车、火车、步行等,是旅行需求分析和交通规划的重要组成部分 [24],[148]。 [24] 提出了一个 CNN 模型来仅基于原始 GPS 轨迹来推断出行模式,其中模式被标记为步行、自行车、公共汽车、驾驶和火车
4.5 异常检测
异常检测或异常值检测旨在识别因与大多数数据显着不同而引起怀疑的内容、事件或观察结果。
目前对 时空 数据异常检测的工作主要集中在事件和空间图的数据类型上。
4.5.1 事件
[137] 试图检测由事故、体育比赛、恶劣天气等时间中断引起的非重复性交通拥堵。提出了卷积神经网络 (CNN) 来识别由事件引起的非重复性交通异常。
[189] 研究了如何从社交媒体数据中检测交通事故。他们首先彻底调查了北弗吉尼亚和纽约市 1 年来超过 300 万条推文内容,然后实施了两种深度学习方法:深度信念网络 (DBN) 和长短期记忆 (LSTM) 来识别交通事故相关推文。
[199] 提出利用卷积神经网络(CNN)通过使用交通流量数据自动检测城市网络中的交通事件。
[16]收集了包括人员流动数据和交通事故数据在内的大数据和异构数据,以了解人员流动如何影响交通事故风险。提出了一种堆栈
以上是关于Data Mining 论文翻译:Deep Learning for Spatio-Temporal Data Mining: A Survey的主要内容,如果未能解决你的问题,请参考以下文章
数据聚类|深度聚类Deep Comprehensive Correlation Mining for Image Clustering(DCCM)论文研读
论文总结(Frequent Itemsets Mining With Differential Privacy Over Large-Scale Data)
A Unified Deep Model of Learning from both Data and Queries for Cardinality Estimation 论文解读(SIGMOD 2
Feature Transfer Learning for Deep Face Recognition with Long-Tail Data 论文阅读笔记
Feature Transfer Learning for Deep Face Recognition with Long-Tail Data 论文阅读笔记
论文笔记----Multi-subject data augmentation for target subject semantic decoding with deep multi-view ad