賈瑛
摘要:異常軌跡檢測算法通常不能依靠軌跡內外部屬性而有效地進行檢測,具有較大的應用局限性。針對此類問題,基于BP神經網絡提出了一種改進的異常軌跡檢測方法。首先對原始軌跡數據去噪,并上傳百度云LBS云端儲存;其次基于百度地圖軌跡數據可視網站進行了數據歸一化處理,得到了軌跡的屬性值;最后以軌跡內外特征屬性代表BP神經網絡算法的輸入層,以軌跡相似度度量代表輸出層,對隱含層系數調整后獲得訓練模型。研究針對Deolfe項目的兩個用戶軌跡數據做了仿真實驗,用以檢測用戶異常軌跡數據。結果證明,在選取的最優(yōu)訓練方案基礎上,兩組數據的異常軌跡檢測正確率各達92.3%及100%,所搭建模型能夠作為異常軌跡檢測的工具。
關鍵詞:軌跡數據集;BP神經網絡;百度LBS云服務;軌跡屬性;異常軌跡監(jiān)測
中圖分類號: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、藍牙室內定位技術的快速發(fā)展,及智能設備的廣泛應用,人們對移動對象位置和軌跡數據獲取也非常方便[12]。同時,隨著軌跡數據儲存技術的飛速發(fā)展,能將大量移動對象位置及軌跡信息儲存到時空數據庫[36]。就軌跡來說,它所指是帶時間標簽的位置信息而構成的有序位置序列,且時空信息很豐富,并對軌跡數據的分析及挖掘起著很重要作用[79]。而異常軌跡檢測屬于軌跡模式挖掘的主要研究課題,并普遍用于智能交通與用戶行為分析中。
1異常軌跡監(jiān)測問題描述
目前,對異常軌跡檢測的研究主要集中在軌跡空間特征上,極少將軌跡本身屬性作為研究基礎[1012]。對非線性軌跡屬性數據的分類,是檢測軌跡數據是否異常的一種可行軌跡分類方法。而BP神經網絡具備對非線性數據分類功能,所以文章提出一種基于BP神經網絡的異常軌跡檢測方法。
1.1傳遞函數設計
傳遞函數應用的是非線性函數logsig(),而這一對數S形函數曲線,如圖1所示。
其中l(wèi)ogsig(x)=[SX(]11+e-x[SX)],計算出0到1之間的輸出。將軌跡劃分成兩個類別,那么這個函數表示為傳遞函數0和1的輸出,其中0為異常軌跡,1為正產軌跡。
1.2網絡結構設計
本文將選用多輸入和多隱含的神經元與單輸出的BP神經網絡。單層BP神經網絡結構圖[1316],如圖2所示。
其中,BP神經網絡輸入節(jié)點由xi表示,而隱節(jié)點由yj表示,
輸出節(jié)點由Ol表示。wij為輸入節(jié)點和隱節(jié)點網絡權值,Tj為隱節(jié)點和輸出節(jié)點間網絡權值。
2基于BP神經網絡的異常軌跡監(jiān)測
本文以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神經網絡算法訓練監(jiān)測模型
2.3.1基于BP神經網絡的異常軌跡監(jiān)測算法流程
BP神經網絡算法是一種基于梯度下降的學習算法??梢詫W習過程劃分成兩個階段,即信息正向傳遞、誤差反向傳播[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)為性能函數。
執(zhí)行結果為構建一個N層BP神經網絡模型。對帶分類標簽的數據集,先對設計的模型進行現有軌跡訓練,得到穩(wěn)定模型,然后將未知的軌跡放入模型中檢測判斷是否為異常軌跡。
3實驗
在文章中的所提出的算法都是在Matlab2016a環(huán)境下實現的,硬件和軟件環(huán)境為:Intel(R)Core(TM)2Duo3.3GHzCPU,內存為4GB,操作系統(tǒng)為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個輸入節(jié)點,第二次為隱含層有10個隱節(jié)點,第三次為輸出層有1個輸出節(jié)點。因此得知實驗使用的BP神經網絡訓練算法為trainoss,而使用的性能函數則為均方誤差函數mse,并且這個模型的均方誤差mse值為1.31e24,梯度為7.85e24,最大驗證失敗0次。用時5分9秒共迭代1671次,說明這個
模型非常穩(wěn)定,而且已經滿足精度要求,所以能夠作為用戶軌跡聚類與異常軌跡檢測的模型。由圖6(b)得知,最小均方差在10-11時緩慢下降,然而在訓練次數達到最大時,將會突然降到10-24,這是因為實驗的訓練方法為trainoss,它屬于快速訓練方法,所以在網絡性能到達一定精度時將會快速收斂。由圖6(c)得知,這種算法將會始終保持平穩(wěn)梯度下降,且驗證失敗始終為0次,且訓練次數達到足夠大時,將會呈直線下降,究其原因則等同于mse突然下降原因。
4總結
文章提供的基于BP神經網絡異常軌跡檢測方法具有兩個階段。其一,先對軌跡數據收集,然后去除數據噪音并上傳到百度云LBS.云端儲存,最后設計軌跡顯示系統(tǒng),實現在百度地圖上顯示軌跡數據集。其二,利用軌跡屬性提取算法對軌跡集進行預處理,從中獲取軌跡屬性向量,如軌跡長度屬性、軌跡角度屬性、軌跡時長屬性、軌跡平均速度等。其次以軌跡特征屬性看作BP神經網絡算法輸入層,以軌跡相似度量作為輸出層,然后訓練出穩(wěn)定的異常軌跡檢測模型。最后用異常軌跡檢測模型判斷用戶軌跡是否為異常,便于獲取異常軌跡數據。
參考文獻
[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神經網絡隱含層節(jié)點數確定方法研究[J].計算機技術與發(fā)展,2018(4):16.
[11]朱燕,李宏偉,樊超.基于聚類的出租車異常軌跡檢測[J].計算機工程,2017,43(2):1620.
[12]閆密巧,王占宏,王志宇.基于Redis的海量軌跡數據存儲模型研究[J].微型電腦應用,2017,33(4):911.
[13]毛嘉莉,金澈清,章志剛.軌跡大數據異常檢測:研究進展及系統(tǒng)框架[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]龔暢,王華君,李榮,等.利用兩階段遺傳算法的機械手最優(yōu)軌跡控制仿真[J].微型電腦應用,2016,32(4):1822.
(收稿日期:2019.06.26)