一种基于长短记忆模型的交通轨迹异常挖掘模型
2021-06-08秦胜君李婷
秦胜君 李婷
摘 要:针对现有异常轨迹检测方法没有捕捉轨迹数据时序特征,不能有效识别业务异常和新型异常等问题,提出基于长短记忆模型的异常轨迹挖掘模型.首先通过优化长短记忆模型进行轨迹预测,然后基于进化理论将预测轨迹转化为异常轨迹,从而构建了基于长短记忆模型的异常判别模型.该模型可以有效地识别业务异常和新型异常,提高了异常检测的精准度和可扩展性,同时适用于无标签数据,解决了传统神经网络必须应用于有监督学习的问题.最后通过与改进的密度聚类算法和马尔科夫过程的对比实验验证了该模型在交通轨迹异常检测的优越性.
关键词:长短记忆模型;异常轨迹;交通大数据;深度学习
中图分类号:TP273;U491 DOI:10.16375/j.cnki.cn45-1395/t.2021.02.010
0引言
随着传感器网络和无线通信等新兴技术的不断发展,越来越多的轨迹数据被收集和保存,轨迹数据挖掘有助于找出移动对象隐藏的模式信息或行为意图[1].异常轨迹数据挖掘是指识别隐藏在正常轨迹数据中的异常轨迹.异常轨迹不同于噪声点,噪声点会干扰挖掘工作,降低结果的有效性,而异常轨迹可能预示着有趣事件的发生,比如公共安全中的突发事件、交通事故、高速逃费行为等,从而具有更高的研究价值[2].
根据实现方法的不同,异常轨迹检测方法可以分为4类:基于聚类的检测方法、基于网格的检测方法、 基于分类的检测方法、基于统计學的检测方法.
基于聚类的检测方法是使用密度聚类、模糊聚类等方法,发现远离主体轨迹的少部分轨迹.例如,文献[3]先对轨迹进行切分分组,然后使用密度聚类方法找出异常轨迹.何明等[4]提出改进密度聚类与模式信息挖掘的异常轨迹识别方法,结合上海市与北京市出租车轨迹进行实验,验证了该算法的有效性.
基于网格的检测方法是将城市路网划分成均等大小的网格单元,从而识别出异常的网格单元序列.主要的实现方法有基于似然比统计量的检测方法[5]和基于隔离机制的异常检测方法[6].也有学者提出路网空间下基于马尔科夫决策过程的异常轨迹检测方法[7].
基于分类的检测方法是使用有监督的分类方法识别正常轨迹和异常轨迹.如俞庆英等[8]提出基于BP神经网络的异常轨迹检测方法.Li等[9]使用支持向量机进行特征学习,该方法可处理高维特征空间的异常检测.
基于统计学的检测方法是应用统计学相关理论进行异常检测.例如,安计勇等[10]提出一种多因素异常检测集成算法.首先通过统计数据分布给每种特征赋予一个异常分值,然后利用组合函数对分值集成,由此进行最终异常检测.汪霜霜等[11]研究了一种车辆轨迹学习自适应稀疏重构方法,以识别一场车辆运动模式.
综上所述,异常轨迹领域已有很多研究成果,为数据挖掘和智能交通提供了重要的理论基础和应用支撑.但是上述研究存在以下两个问题:1)基于聚类或分类的方法都没有考虑时序问题,交通轨迹是时序数据,分析轨迹时序有助于提高异常检测有效性;2)业务异常问题,现有的方法大多是根据历史数据中正常轨迹和异常轨迹的距离来判断是否异常,但是并没有考虑过业务异常问题,因此无法有效识别业务异常.为解决上述问题,本文提出基于长短记忆模型的异常轨迹检测方法.首先优化长短记忆模型预测下一阶段轨迹,在已预测出的轨迹数据中进行特征值的变异从而形成异常轨迹,再将正常轨迹和异常轨迹输入神经网络模型进行训练,最终形成基于长短记忆模型的异常轨迹检测方法.该模型解决了传统算法在识别业务异常时需要大量有标签数据的问题,并且在异常检测时加入变异因子,提高了模型在识别新型异常时的有效性.
1相关定义
车辆行驶轨迹本质是多属性的时间空间点序列,聚类等方法是使用距离来判别异常,该方法可以有效地判别数值异常,也就是在数值上偏离大部分轨迹的异常轨迹,而无法判断业务异常. 比如高速路上大货车的行驶轨迹,两段路程中车辆载重变化在核定载重范围内浮动都属正常,但是速度变化过大则有可能是超速,属于异常事件,因此不能仅仅以两条轨迹的距离来判断是否异常,以非线性的判别方式更符合需求.
1.1 轨迹基本定义
轨迹数据集中包含多辆车的多条轨迹.假设车辆轨迹数据集[CTD={CT1, CT2, …, CTi, …, CTn}],[i=0, 1, …, n].每辆车的轨迹数据集合可以表示为:[CTi={Ti1, Ti2, …, Tij, …, Tim}],[j=0, 1, …, m].单条轨迹[T]又包含相关特征,表示为:[Tj=(pj1, pj2, …, pjs, tj)],[t0 轨迹[T]包含地理位置、速度、平均速度、时长、载重等相关特征. 1)地理位置:该特征表明车辆的行驶路线,可能是车辆所在的经纬度,也可以是车辆的出发地点.地理位置标志着车辆在运动空间内的位置移动情况. 2)速度:速度指的是在某个时刻车辆的行驶速度,一般是使用GPS等设备采集. 3)平均速度:该特征表示在某一段时间内车辆运行的平均速度. 4)时长:表明车辆从轨迹的出发点到某个位置的行驶时长. 5)载重:表示车辆所载重量.比如高速路上货车的载重量是判断异常的指标之一;出租车是否载人也有助于判断出租车轨迹是否异常. 除上述特征之外,还有加速度、转角等可用于识别轨迹异常,根据实际情况不同,可选择不同的特征. 1.2 异常相关定义 文中根据轨迹异常情况不同,将异常分为数值异常和业务异常. 1)数值异常 数值异常(data anomaly,DA)也可称为线性异常,指与正常轨迹的距离超过某个阈值的异常轨迹.可如下定义: [Ti-Ta≥Av] (1) 式(1)中:假设[Ti]为正常轨迹,[Av]为设定的阈值,[·]为距离度量,可以是欧式距离或者Hausdorff等距离度量方式.如果两条轨迹满足式(1),则[Ta]为数值异常轨迹. 在实际业务中,有可能出现距离度量无法判别异常轨迹.例如一辆货车在高速公路的正常行驶轨迹为120 km/h,载重20 t,该轨迹可表述为(120,20).假如轨迹变换为(120,40),没有超出载重范围,因此该轨迹仍然为正常轨迹,但是如果轨迹变为(140,20),则被认为是超速,视为不安全驾驶行为,由此该轨迹检测为异常轨迹.虽然上述假设的两条轨迹与原始轨迹的距离一样,但是前者为正常,后者为异常.文中将此类异常定义为业务异常. 2)业务异常 业务异常(business anomaly,BA)也可称为非线性异常,指正常轨迹和异常轨迹经过某个非线性函数映射为指定值,例如1或者0.文中设置1为异常值,而0为正常值.于是,业务异常可定义如下: [F(Ta)=1],[F(Ti)=0](2) 式(2)中:[F]为非线性函数;[Ti]为正常轨迹.如果满足式(2),则[Ta]为业务异常轨迹. 识别业务异常类似于分类算法,但是和分类不同之处在于,一方面异常数据大多是无标签数据,而且异常数据量较少.另一方面,业务异常是从数值上变换而来,通过业务分析也可以捕捉到业务异常,此方法比有监督的分类算法更灵活,更适合于快速变换的数据模式.由于业务异常分析比分类或数值异常更复杂,因此需要进行深入研究,建立有效的异常判别模型. 2异常挖掘模型 本文首先将轨迹点[(T1, T2, …, Ti-1)]输入到长短记忆模型预测出轨迹[Ty],[Ty]是[Ti]的预测轨迹,然后在轨迹[Ty]基础上加入变异因子生成异常轨迹[Ta],再将正常轨迹[Ti]和异常轨迹[Ta]输入到逻辑回归模型中进行异常检测训练,最终构建了基于长短记忆模型的异常判别检测框架. 2.1长短记忆模型 长短记忆模型(long short term memory,LSTM)是循环神经网络(recurrent neural network,RNN)的扩展.RNN不同于传统神经网络之处在于其输入和输出序列之间的映射过程中利用了上下文相关信息.RNN是由输入层、一个隐含层和一个输出层组成,展开之后的结构如图1所示. 由图1可知,[x]是输入向量;h是隐含层,该层其实是多个节点,节点数与h的维度相同;[U]和[V]分别表示输入层和隐含层的权重矩阵;[o]表示输出层的值.从RNN的结构可看出,隐含层h的值不仅取决于当前的输入[x],还取决于上一次隐含层的h值.权重矩阵[W]为上一次隐含层的值作为这一次的输入权重.可以用以下公式来表示RNN的计算方法: [st=f(Uxt+Wst-1)] (3) [ot=g(Vst)] (4) 式(3)、式(4)中:[g]和[f]都是激活函数.从以上公式可以看出RNN的输出值受前面历次输入值的影响.但是RNN存在着梯度消失或梯度爆炸等问题[12],为解决上述问题LSTM诞生了[13]. LSTM通过设计记忆单元保存历史信息,记忆单元包括输入门、遗忘门、输出门等主要部分[14].LSTM可以選择遗忘或更新记忆单元存储的信息,由于LSTM考虑输入对应输出之间的时间滞后性,使得该网络可以处理和预测时间序列中间隔和延迟相对较长的重要事件.LSTM关键的扩展是使自循环的权重视上下文而定,而不是固定的. LSTM通过设计“门”的结构来遗忘或增加信息到细胞状态的能力.门是一种让信息选择式通过的方法,其包含一个sigmoid函数和一个pointwise乘法操作.Sigmoid层输出[0,1]之间的数值,描述每个部分的通过量.0表示不许任意量通过,1表示允许任意量通过. 由于车辆轨迹具有变换性,比如经过很长一段时间直线行驶之后转弯,因此轨迹数据带有一定的不平衡性.为避免轨迹预测时偏向大类数据,本文提出对LSTM模型优化,在原有的结构中加入变换门,从而提高预测精度.优化之后的结构如图2所示. 2.2 异常挖掘模型 LSTM可以保存历史信息,获取时间序列的特征,因此,使用LSTM进行轨迹预测有助于提高预测结果的精确度.假设[(T1, T2, …, Ti-1, Ti)]为某辆车的行驶轨迹,Lstm为长短记忆模型,[Ty]是[Ti]的预测轨迹,则预测模型可表示如下. [Ty=Lstm(T1, T2, …, Ti-1)] (13) 在预测轨迹的基础上对轨迹进行变异形成异常轨迹.轨迹变异的思想主要来源于进化算法,与进化算法不同之处在于,进化算法是为寻找最优解,而文中的变异相对较为简单,其目标是获得不同于正常轨迹的异常轨迹. 假设s为轨迹的特征数,则每次随机选择m个特征进行变异,其中[m≤s/3].假设[pi]为被选中的特征之一,[1≤i≤m],[pmin]和[pmax]分别为该特征的最小值和最大值.则[pi]的变异过程如下: