基于BP神经网络的异常轨迹检测方法

2020-11-13 03:38贾瑛
微型电脑应用 2020年10期
关键词:BP神经网络

贾瑛

摘要:异常轨迹检测算法通常不能依靠轨迹内外部属性而有效地进行检测,具有较大的应用局限性。针对此类问题,基于BP神经网络提出了一种改进的异常轨迹检测方法。首先对原始轨迹数据去噪,并上传百度云LBS云端储存;其次基于百度地图轨迹数据可视网站进行了数据归一化处理,得到了轨迹的属性值;最后以轨迹内外特征属性代表BP神经网络算法的输入层,以轨迹相似度度量代表输出层,对隐含层系数调整后获得训练模型。研究针对Deolfe项目的两个用户轨迹数据做了仿真实验,用以检测用户异常轨迹数据。结果证明,在选取的最优训练方案基础上,两组数据的异常轨迹检测正确率各达92.3%及100%,所搭建模型能够作为异常轨迹检测的工具。

关键词:轨迹数据集;BP神经网络;百度LBS云服务;轨迹属性;异常轨迹监测

中图分类号:TP3111

文献标志码:A

AbnormalTrajectoryDetectionMethodBasedonBPNeuralNetwork

JIAYing

CollegeofMechanicalandElectricalInformation,BaojiVocational&TechnicalCollege,Baoji721013,China

Abstract:Existingabnormaltrajectorydetectionalgorithmsusuallycannotrelyontheinternalandexternalattributesofthetrajectoryforeffectivedetection,whichleadstogreatapplicationlimitations.Tosolvetheseproblems,animprovedabnormaltrajectorydetectionmethodbasedonBPneuralnetworkisproposed.Firstly,theoriginaltrajectorydataaredenoisedanduploadedtoBaiduCloudLBSforstorage.Secondly,thedataarenormalizedbasedonBaiduMapTrajectoryDataVisualWebsite,andtheattributevaluesofthetrajectoryareobtained.Finally,theinputlayeroftheBPneuralnetworkalgorithmisrepresentedbythefeatureattributesinsideandoutsidethetrajectory,andtheoutputisrepresentedbythetrajectorysimilaritymeasure.Thetrainingmodelisobtainedbyadjustingthecoefficientsofhiddenlayers.Inthispaper,twosetsofusertrajectorydataofDeolfeprojectaresimulatedtodetectuserabnormaltrajectorydata.Theresultsshowthat,onthebasisoftheoptimaltrainingscheme,theaccuraciesofabnormaltrajectorydetectionofthetwosetsare92.3%and100%,respectively.Themodelcanbeusedasatoolforabnormaltrajectorydetection.

Keywords:trajectorydataset;BPneuralnetwork;BaiduLBSCloudService;trajectoryattributes;abnormaltrajectorymonitoring

0引言

隨着移动通信和无线网络技术、GPS、WiFi、蓝牙室内定位技术的快速发展,及智能设备的广泛应用,人们对移动对象位置和轨迹数据获取也非常方便[12]。同时,随着轨迹数据储存技术的飞速发展,能将大量移动对象位置及轨迹信息储存到时空数据库[36]。就轨迹来说,它所指是带时间标签的位置信息而构成的有序位置序列,且时空信息很丰富,并对轨迹数据的分析及挖掘起着很重要作用[79]。而异常轨迹检测属于轨迹模式挖掘的主要研究课题,并普遍用于智能交通与用户行为分析中。

1异常轨迹监测问题描述

目前,对异常轨迹检测的研究主要集中在轨迹空间特征上,极少将轨迹本身属性作为研究基础[1012]。对非线性轨迹属性数据的分类,是检测轨迹数据是否异常的一种可行轨迹分类方法。而BP神经网络具备对非线性数据分类功能,所以文章提出一种基于BP神经网络的异常轨迹检测方法。

1.1传递函数设计

传递函数应用的是非线性函数logsig(),而这一对数S形函数曲线,如图1所示。

其中logsig(x)=[SX(]11+e-x[SX)],计算出0到1之间的输出。将轨迹划分成两个类别,那么这个函数表示为传递函数0和1的输出,其中0为异常轨迹,1为正产轨迹。

1.2网络结构设计

本文将选用多输入和多隐含的神经元与单输出的BP神经网络。单层BP神经网络结构图[1316],如图2所示。

其中,BP神经网络输入节点由xi表示,而隐节点由yj表示,

输出节点由Ol表示。wij为输入节点和隐节点网络权值,Tj为隐节点和输出节点间网络权值。

2基于BP神经网络的异常轨迹监测

本文以BP神经网络作为工具训练,从中获取了轨迹异常检测模型,按照轨迹本身四个属性,实现了用户轨迹是否为异常的目标检测,如图3所示。

2.1轨迹属性值提取

2.2轨迹坐标处理

由于轨迹是以经纬度来表示,并且每5秒则会对坐标点采样,所以坐标点间的经纬度值相差极小。为了便于计算,并不丢失轨迹本身的特征,文章运用了将轨迹坐标点直接乘以适当系数的方法,而实验表明这一方法是可行的。具体操作方法为:设置一条轨迹

T(其公式为T={(t1,x1,y1),(t2,x2,y2),…,(tn,xn,yn)},其中时空三元组(ti,xi,yi)代表轨迹T中的第i个位置点,而ti则为这个位置点的采样时刻,(xi,yi)为ti时刻的GPS坐标(1≤i≤n)),将轨迹集中xi、yi分别乘以系数λ,而这一系数选取取决于实际情况,这样便于计算为原则。在实验中λ=1000,经过处理后的轨迹则为T′={(x′1,y′1),(x′2,y′2),…,(x′n,y′n)}。因此,对轨迹数据集TS处理后的数据集则为TS′。

2.3利用BP神经网络算法训练监测模型

2.3.1基于BP神经网络的异常轨迹监测算法流程

BP神经网络算法是一种基于梯度下降的学习算法。可以将学习过程划分成两个阶段,即信息正向传递、误差反向传播[1719],如图4所示。

2.3.2基于BP神经网络的异常轨迹检测算法描述

构建一个三层BP神经网络,其指令为:

net=

newff(PR,[S1,S2,…,SN],[TF1,TF2,…,TFN],BTF,BLF,PF)

其中,PR为输入向量取值范围,

Si则为第i(i=1,2,…,N)层神经元个数,共计N层;TFi为第i层传递函数;BTF表示为BP神经网络训练函数,BLF表示BP神经网络权值与阀值学习函数;PF表示性能函数,而试验所用最小均方误差(mse)为性能函数。

执行结果为构建一个N层BP神经网络模型。对带分类标签的数据集,先对设计的模型进行现有轨迹训练,得到稳定模型,然后将未知的轨迹放入模型中检测判断是否为异常轨迹。

3实验

在文章中的所提出的算法都是在Matlab2016a环境下实现的,硬件和软件环境为:Intel(R)Core(TM)2Duo3.3GHzCPU,内存为4GB,操作系统为Windows10。

3.1数据集选取

本次实验数据主要源自于GeoLifeGPSTrajectories项目中的某两个用户的轨迹数据集。由于轨迹集所使用的是格林威治时间,所以从23:0000:59、9:0010:59等这一时段转换为北京时间则为7:008:59、17:0018:59,而这一时段正属于上下班高峰期。因此,本文所选用的轨迹数据集为某两个用户2018年9月23日12月23日期间每天这一时段的轨迹数据,共计180条。

3.2试验结果

3.2.1BP神经网络训练及仿真结果

在本次实验中,对第一个用户的90条轨迹属性数据给予分组,根据分组结果不同,提出了五种训练方案。在方案1中,30条轨迹属性数据用于训练,剩余数据用于仿真;在方案2中,40条轨迹属性数据用于训练,剩余数据用于仿真;在方案3中,50条轨迹属性数据用于训练,剩余数据用于仿真;在方案4中,60条轨迹数据属性用于训练,剩余数据用于仿真;在方案5中,70条轨迹属性数据用于训练,剩余数据用于仿真。此外,由这五种方案所生成的精度、召回率、F度量值柱状图,如图5所示。

精度是对精准性的度量,也就是标记为正类的元组或异常轨迹元组的实际正类所占百分比,其表达公式为:

precision=

[SX(]TPTP+FP[SX)]

公式中的TP代表为正确分类的异常轨迹条数,而FP代表的是异常轨迹错误标记的条数。

所谓的召回率则是指对完全性度量,也就是将正元组或是异常轨迹元组标记为正类的百分比,而其表达公式则为:

recall=

[SX(]TPTP+FN[SX)]

公式中的FN代表为将正常轨迹错误标记成异常轨迹的条数。

而F度量所指的是把精度与召回率组合一个度量中,那么其表达公式为:

F=

[SX(]2×precision×recallprecision+recall[SX)]

由图5得知,在这五种方案中只有方案4的性能最好,它的F度量值达到92.3%,所以利用此方案对另一用户的轨迹数据集实行仿真实验,也就是使用另一用户的60条轨迹属性数据用作训练,而剩余数据则用作仿真实验。最终获得此次轨迹检测模型的输出类别与实际类别的對比结果。

3.2.2网络性能分析

采用方案4对另一用户的仿真训练的BP神经网络性能,如图6所示。

通过图6(a)BP神经网络综合性能可以得知,此次实验选用的是三层神经网络,第一次为输入层有4个输入节点,第二次为隐含层有10个隐节点,第三次为输出层有1个输出节点。因此得知实验使用的BP神经网络训练算法为trainoss,而使用的性能函数则为均方误差函数mse,并且这个模型的均方误差mse值为1.31e24,梯度为7.85e24,最大验证失败0次。用时5分9秒共迭代1671次,说明这个

模型非常稳定,而且已经满足精度要求,所以能够作为用户轨迹聚类与异常轨迹检测的模型。由图6(b)得知,最小均方差在10-11时缓慢下降,然而在训练次数达到最大时,将会突然降到10-24,这是因为实验的训练方法为trainoss,它属于快速训练方法,所以在网络性能到达一定精度时将会快速收敛。由图6(c)得知,这种算法将会始终保持平稳梯度下降,且验证失败始终为0次,且训练次数达到足够大时,将会呈直线下降,究其原因则等同于mse突然下降原因。

4总结

文章提供的基于BP神经网络异常轨迹检测方法具有两个阶段。其一,先对轨迹数据收集,然后去除数据噪音并上传到百度云LBS.云端储存,最后设计轨迹显示系统,实现在百度地图上显示轨迹数据集。其二,利用轨迹属性提取算法对轨迹集进行预处理,从中获取轨迹属性向量,如轨迹长度属性、轨迹角度属性、轨迹时长属性、轨迹平均速度等。其次以轨迹特征属性看作BP神经网络算法输入层,以轨迹相似度量作为输出层,然后训练出稳定的异常轨迹检测模型。最后用异常轨迹检测模型判断用户轨迹是否为异常,便于获取异常轨迹数据。

参考文献

[1]

ZhengY.TrajectoryDataMining:AnOverview[J].ACM,2015,6(3):29.

[2]PrelipceanAC,GidofalviG,SusiloYO.Measuresoftransportmodesegmentationoftrajectories[J].InternationalJournalofGeographicalInformationScience,2016:122.

[3]LüM,ChenL,XuZ,etal.Thediscoveryofpersonallysemanticplacesbasedontrajectorydatamining[J].Neurocomputing,2016,173(3):11421153.

[4]GiannottiF,NanniM,PedreschiD,etal.Unveilingthecomplexityofhumanmobilitybyqueryingandminingmassivetrajectorydata[J].TheVLDBJournal,2011,20(5):695.

[5]GuptaM,GaoJ,AggarwalCC.Outlierdetectionfortemporaldata:Asurvey[J].IEEETransactionsonKnowledgeandDataEngineering,2014,25(1):120.

[6]HuW,LiX,TianG,etal.AnincrementalDPMMbasedmethodfortrajectoryclustering,modeling,andretrieval[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2013,35(5):10511065.

[7]CaiY,WangH,ChenX,etal.Trajectorybasedanomalousbehaviourdetectionforintelligenttrafficsurveillance[J].IETIntelligentTransportSystems,2015,9(8):810816.

[8]LaxhammarR,FalkmanG.Onlinelearningandsequentialanomalydetectionintrajectories[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2014,36(6):11581173.

[9]ShenM,LiuDR,ShannSH.Outlierdetectionfromvehicletrajectoriestodiscoverroamingevents[J].InformationSciences,2015,294(9):242254.

[10]王嶸冰,徐红艳,李波.BP神经网络隐含层节点数确定方法研究[J].计算机技术与发展,2018(4):16.

[11]朱燕,李宏伟,樊超.基于聚类的出租车异常轨迹检测[J].计算机工程,2017,43(2):1620.

[12]闫密巧,王占宏,王志宇.基于Redis的海量轨迹数据存储模型研究[J].微型电脑应用,2017,33(4):911.

[13]毛嘉莉,金澈清,章志刚.轨迹大数据异常检测:研究进展及系统框架[J].软件学报,2017,28(1):1734.

[14]俞庆英,李倩,陈传明,等.基于BP神经网络的异常轨迹检测方法研究[J/OL].计算机工程.https://doi.org/10.19678/j.issn.10003428.0051574

[15]时磊,鲁华栋.基于高斯混合模型的移动目标跟踪[J].微型电脑应用,2017,33(12):7577.

[16]崔宝才.基于GA改进BP神经网络网络异常检测方法[J].现代电子技术,2016,39(3):9093.

[17]韩旭.基于车辆轨迹多特征的聚类分析及异常检测方法的研究[D].哈尔滨:哈尔滨工程大学,2014.

[18]鲍苏宁,张磊,杨光.基于核主成分分析的异常轨迹检测方法[J].计算机应用,2014,34(7):21072110.

[19]龚畅,王华君,李荣,等.利用两阶段遗传算法的机械手最优轨迹控制仿真[J].微型电脑应用,2016,32(4):1822.

(收稿日期:2019.06.26)

猜你喜欢
BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 