?

基于改進PSO-BP神經網絡算法在一般盜竊犯罪預測中的應用

2020-01-14 06:03朱小波次晉芳
計算機應用與軟件 2020年1期
關鍵詞:閾值權重粒子

朱小波 次晉芳

(上海公安學院治安系 上海 200137)

0 引 言

在大數據時代下,犯罪預測是維護社會穩定的重要基礎,對于打擊犯罪和有效開展預防犯罪工作具有深遠意義。廣州大學教授柳林認為,探索如何有效地開展犯罪防控不僅是公安部門的工作重點,更是理論界研究的熱點和難點[1]。目前有關犯罪預測的研究主要分為兩大部分。一是基于日?;顒永碚揫2],將犯罪條件歸結于嫌疑人、合適的侵害目標、防范力量的缺失三部分相互作用的結果。日?;顒永碚撝赋龇缸锘顒优c物理環境間具有復雜的相關關系[3],可根據犯罪活動相關影響因子,實現對于犯罪風險區的預測[4-5]。二是基于GIS空間分析統計與時空建模,利用犯罪時空數據,分析犯罪活動分布的時空規律,挖掘影響犯罪的相關因子,建立模型實現犯罪熱點的預測[6-7]。

隨著社會的快速發展,盜竊犯罪作案模式也越來越多,其影響因子也變得復雜多樣,線性的預測分析模型已不能滿足目前財產犯罪的需要。神經網絡模型通過機器學習、數據訓練能描述更多復雜的非線性相關關系[8]。在國內,柳林等[1]通過運用隨機森林和時空核密度方法對不同周期犯罪熱點預測效果進行對比,發現了兩類預測方法的不同適應性。中國人民公安大學孫菲菲等[9]提出了一套可應用于微觀犯罪預測的改進的隨機森林算法,并且通過模擬實驗證明了該算法對海量犯罪數據的良好分類和預測結果。在國外,文獻[10]運用兩種不同的分類算法,即樸素貝葉斯算法和決策樹算法,對美國不同州的“犯罪種類分布”進行預測,實驗結果表明,決策樹算法的準確率相對更高。文獻[11]通過城市指標和隨機森林回歸來預測犯罪并量化城市指標對兇殺案的影響,該方法在位于巴西的研究區域內可以達到97%的準確率。文獻[12]運用風險地形建模(Risk Terrain Modeling,RTM)與其他犯罪預測技術相比較,發現RTM在日本福岡的車輛盜竊案件方面的預測效率大約是其他技術的兩倍。上述這些基于數理統計的算法研究能在一定程度上對犯罪進行預測,但是鑒于某一算法自身的局限性,有必要采用改進的算法或是融合算法來提高預測的準確性。

PSO-BP在許多領域的預測研究都得到了廣泛的應用,但在犯罪研究領域的實踐尚不多見。本文旨在分析一般盜竊案件的影響因子,并通過模型對比實驗得出適用于該類犯罪預測的優化算法,為警方提供量化的分析和預測結果,同時也為我國大城市的盜竊犯罪治理提供一定的借鑒。

1 研究區域概況

芝加哥市是美國僅次于紐約、洛杉磯的第三大都會區,其位于伊利諾伊州,東臨五大湖,都市區內人口約290萬,與周邊郊區共同組成的大芝加哥地區人口超過900萬。芝加哥“罪案之都”的稱號難免讓人不寒而栗。根據芝加哥市警察局網站數據顯示,2015年-2017年該局共接報362 673起報警,其中財產犯罪占240 334起。該局一般將30多種犯罪類型歸納成為三大類:(1) 暴力犯罪,包括攻擊、搶劫、毆斗、性侵犯、謀殺等;(2) 財產犯罪,包括縱火、一般盜竊、入室盜竊、汽車盜竊等;(3) 破壞生活質量犯罪,包括破壞財物、吸食毒品、賣淫等。在財產犯罪的細分類型中,一般盜竊犯罪報警量為182 673起,占整個財產犯罪的76%,總犯罪量的50.36%??梢?,一般盜竊犯罪在該市之猖獗。與美國其他的大城市如紐約、波士頓、華盛頓、洛杉磯相比,芝加哥市的該類犯罪接報數量也同樣是最高的。

2 數據預處理

2.1 犯罪數據集介紹

本文使用的數據集來源于芝加哥市警察局的公民執法分析和報告系統。該數據集包括了2015年1月1日至2017年12月31日芝加哥市警察局接報的所有犯罪事件的案由、地址(經緯度)、時間、案情描述等22個字段。本文抽取字段名為“Theft”即一般盜竊的數據,總量為182 673條。

運用ArcGIS(地理信息系統)軟件對所有一般盜竊犯罪點在芝加哥市的799個人口統計區(Census Tract)級別的地圖上進行顯示,隨后使用該軟件的Join功能,計算得出每個人口統計區2015年-2017年的一般盜竊數量,即Crime count。

2.2 一般盜竊犯罪數量異常點檢測

箱線圖是利用數據的五個統計量:最小值(Min)、下四分位數(Q1)、中位數(Median)、上四分位數(Q3)與最大值(Max)來檢驗數值分布的一種方法。Crime count的箱線圖如圖1所示。因異常值偏離較邊緣值較遠,為清晰顯示箱線位置,將縱坐標上限設500。

圖1 Crimecount的箱線圖

箱線圖中存在一個矩形,上限為Q3,下限為Q1,矩形內部存在一條橫線即是中位線,對應于中位數。矩形上下邊緣的外側存在兩條橫向的線段,這兩條線段的端點為異常值的截斷點,對應的數值分別為Q3+1.5IQR和Q1-1.5IQR。從箱線圖可以看出Crime count存在異常點。Crime count的詳細描述性統計量信息如表1所示。

表1 Crimecount的描述性統計量

續表1

考慮到Crime count的數值不可能為負,根據表1信息和異常值截斷點的計算方法,當Crime count>442.25或Crime count<0時為異常點。由此可以判斷本數據集存在55個異常點,為了不影響回歸分析采用暴力法直接刪除異常數據,數據集剩余744條數據。刪除異常數據后,本文使用R語言的mice包對缺失數據采用均值填充,并在填充的數據集上訓練BP預測模型和PSO-BP預測模型。

3 PSO-BP神經網絡模型

3.1 算法原理

3.1.1粒子群優化算法

粒子群優化(Particle Swarm Optimizer, PSO)算法最早發端于人對鳥群捕食行為的觀察與研究,即假設一群鳥在隨機地尋找食物,然而搜索區域內只有一塊食物,并且所有的鳥都不知道食物的方位,但能判斷自己的位置與食物的距離。在鳥群中信息是共享的,每只鳥都會與其他鳥共享自己與食物的距離,所有鳥都會跟隨距離食物最近的那只鳥尋找食物,這蘊含著鳥類的社會行為和個體認知行為。

PSO算法正是從這種模型中得到啟發,優化問題的每一個可行解都被看作一只鳥,被稱為“粒子”,每只鳥都在一個d維空間中尋找最優解,每個粒子的當前位置與最優解的距離由適應度函數來確定,即為適應值,每個粒子都有一個飛行速度,決定粒子飛行的速度和方向。

3.1.2BP神經網絡

BP神經網絡是一種多層前饋神經網絡,主要特點是信號前向傳播,誤差反向傳播。信號前向傳播是指信號從輸入層經過隱藏層處理,再經過非線性變換,傳至輸出層,如果輸出層的輸出與期望輸出不相符,則計算誤差并將誤差進行反向傳播。誤差反向傳播是指誤差經過輸出層,再到隱藏層,最后到輸入層,各層各個神經元根據誤差信號調整權重和閾值,直至BP神經網絡的誤差達到預設的值,或迭代次數達到最大迭代次數,使得預測輸出不斷逼近期望輸出。常見的三層BP神經網絡拓撲結構如圖2所示。

圖2 BP神經網絡拓撲結構圖

在圖2中,x1,x2,…,xd是BP神經網絡的輸入值,輸入層的節點個數一般為訓練數據集的維度。O1,O2,…,Om是BP神經網絡的輸出值,uik和wkj分別是BP神經網絡中輸入層與隱藏層的權重和隱藏層與輸出層之間的權重。事實上,BP神經網絡可以看成一個非線性函數,網絡輸入值和輸出值分別為該函數的自變量和因變量。當輸入節點數為d、輸出節點數為m時,BP神經網絡表示從d個自變量到m個因變量的映射關系。如果O是離散值且m>2,則BP神經網絡可以解決多分類問題;如果O是離散值且m=2,則BP神經網絡可以解決二分類問題;如果O是實數值,則BP神經網絡可以解決回歸問題。

BP神經網絡在處理多個輸入變量的數據上表現良好,而且具有結構簡單,便于實現,且在數據量較少情況下能夠獲得較高的精度,但是由于初始權重是隨機產生的,極易陷入局部最優解。

3.2 PSO-BP神經網絡算法

本文基于粒子群優化算法,結合BP神經網絡的權重更新算法,尋找最佳的網絡連接權重和閾值。首先將BP神經網絡連接權重和閾值進行粒子化,一般將BP神經網絡的連接權重uik、wkj和閾值a、b拼接成為粒子的位置向量。設BP神經網絡的輸入層、隱藏層及輸出層的節點數分別為d、l、m,則第n個粒子的位置向量為:

posn=(pn1,pn2,…,pnN)=(u11,…,uld,w11,

…,wlm,a1,…,al,b1,…,bm)

(1)

式中:N=dl+lm+l+m,uik表示輸入層節點i與隱藏層節點k的網絡連接權重,wkj表示隱藏層節點k與輸出層節點j的網絡連接權重,k=1,2,…,l;j=1,2,…,m。粒子的適應度計算公式如下:

(2)

式中:N為訓練樣本個數,Oik、yik分別表示粒子i確定的BP神經網絡輸出層的預測輸出和期望輸出。

由于每個粒子能夠唯一確定一個神經網絡,因此粒子位置的更新對應著BP神經網絡權重與閾值的更新?;诹W尤簝灮惴ǖ腂P神經網絡正是利用這種粒子位置的更新過程來搜索最佳的網絡連接權重和閾值,從而達到BP神經網絡訓練的目的。

在PSO-BP神經網絡中,本文采用sigmoid作為激活函數,算法流程如下:

Step1初始化。

初始化網絡輸入層節點數d、隱藏層節點數l,輸出層節點數m,初始化隱藏層閾值a,輸出層閾值b,設置學習速率η和激勵函數f等參數。

初始化粒子群,包括粒子群的規模M,粒子n的位置向量posn=(posn1,posn2,…,posnd)和速度向量vn=(vn1,vn2,…,vnd),個體極值pbestn=(pn1,pn2,…,pnd)與群體的全局極值gbest=(pg1,pg2,…,pgd),最大迭代次數itmax及迭代誤差精度ε等,其中n=1,2,…,M。

使用訓練集對算法模型進行訓練,當f(gbest)<ε或迭代次數t

Step2利用如下BP神經網絡權重更新公式對網絡連接權重uik、wkj和閾值a、b進行更新。

(3)

(4)

ak=ak-ηδik

(5)

bj=bj-ηδkj

(6)

Step3將權重uik、wkj和閾值a、b拼接并粒子化,對每個粒子計算其適應值,得到粒子n的個體極值pbestn與群體的全局極值gbest,粒子化公式如式(1)所示,n=1,2,…,M。

Step4利用如下粒子群算法位置更新公式對各個粒子的位置進行更新。

(7)

(8)

γ=γmax-(γmax-γmin)t/itmax

(9)

Step5利用式(2)計算粒子群各粒子的適應度,尋找粒子個體極值pbestn和群體全局極值gbest。

Step6輸出粒子群全局最佳位置gbest及其確定的BP神經網絡連接權重和閾值。

綜上,本文提出的改進算法結合了PSO優化算法與BP神經網絡的優化過程。首先采用PSO優化算法對BP神經網絡的隨機初始權重進行全局尋優,并將全局優解作為BP神經網絡的初始權重,然后采用PSO優化算法和BP神經網絡對權重進行交替更新,即在每一次的迭代過程中先采用BP神經網絡對權重進行初步更新,再采用PSO優化算法對權重進行再次優化。這樣既利用了PSO優化算法的全局搜索能力,又充分體現了BP神經網絡的誤差反向傳播的特點,實現了從全局搜索BP神經網絡的權重最優解,使BP神經網絡有了動態學習的能力,解決了BP神經網絡易陷入局部最優解的問題。

4 一般盜竊犯罪影響因素分析及數量預測

4.1 影響因子選取

目前國外對于美國犯罪問題的研究普遍采用的解釋變量為貧困率、單親家庭數、房價中位數、人種、就業率等[13]。因此,本文也根據United states census網站上提供的該市每個人口統計區的房價中位數(House price)、貧困率(Poverty percentage)、女性(單親)戶主數(Female household)、總人口數(Total population)、白人人口數(White)、黑人或非裔美國人數(Black or Africa)、亞裔美國人數(Asian)、本科率(Bachelor degree)、勞動參與率(Labor force)、新建(改建)房屋許可數(Permit)、統計區內各犯罪點到最近警務站的平均距離(Distance)等十一類數據,作為影響因子進行分析。如表2所示,House price屬性有10個缺失值,缺失率為1.34%,缺失率較低,其余變量缺失值均為0,本文使用R語言的mice包對缺失數據進行平均值填充。

表2 數據集詳細信息

4.2 犯罪數量影響因子分析

經過異常值處理和缺失值處理后,本文使用R語言的rattle包對各個屬性與一般盜竊犯罪數量Crime count的相關性進行分析。在相關性分析時采用Pearson系數衡量兩個變量的相關度,為了消除數量級的影響,先將數據使用平均數方差法進行標準化處理,再做相關性分析,屬性之間的相關性分析結果如圖3所示。

圖3 相關性分析結果

圖3中,兩兩屬性之間可以用圓圈大小和顏色來表示相關性的強度,圓圈越大、顏色越深說明相關性越高,正值表示正相關,而負值則表示負相關??梢钥闯?,房價(Houseprice)和白人人口數(White)與一般盜竊犯罪數量(Crimecount)的相關性最弱,而黑人或非裔美國人數(Black or Africa)、女性(單親)戶主數(Female household)以及新建(改建)房屋許可數(Permit)與該類犯罪數量的正相關性最強。

4.3 實驗方法及參數設置

在對犯罪數量進行預測時,將數據集采取7:3隨機劃分,取70%的數據為訓練集,30%的數據為測試集,訓練集中Crimecount的描述性統計量如表3所示。

表3 訓練集中Crimecount的描述統計量

在訓練預測模型之前,首先對數據進行歸一化處理,在建立BP神經網絡模型時,隱藏層節點設為12,訓練次數為1 000,學習率η=0.01,激活函數為‘tansig’;在建立PSO-BP神經網絡時,隱藏層節點數設為3,訓練次數1 000,激活函數為‘tangisg’,粒子群規模40,粒子飛行速度最大為0.5,wmax=0.9,wmin=0.3,c1=2,c2=1.8,a=-1,b=1,r1=r2=1。

分別根據之前介紹的BP神經網絡模型訓練方法和PSO-BP神經網絡模型訓練方法,訓練犯罪數量預測模型。訓練得到PSO-BP神經網絡從輸入層到隱藏層的權重及閾值如表4所示,隱藏層到輸出層的權重及閾值如表5所示。

表4 輸入層到隱藏層權重及閾值

表5 隱藏層到輸出層權重及閾值

以表6所示的5個樣本為例,將數據送入輸入層,首先需要歸一化處理,然后根據權重uik和閾值ak進行加權求和并經過隱藏層的激勵函數進行計算并輸出,隱藏層的輸出數據作為輸出層的輸入數據,并經過輸出層的權重wkj和閾值b進行加權求和,最后進行反歸一化處理并作為輸出層的輸出數據,即為樣本的預測犯罪數量(對應于表6中的Predicted Crimecount行),表6所示樣本的真實犯罪數量為True Crimecount行。

表6 樣例及PSO-BP預測結果

4.4 預測結果與評價

采用上述實驗方法和參數設置對訓練集進行預測模型訓練,得到預測模型后,對測試集進行預測,并對結果進行反歸一化處理。真實值與BP預測值、PSO-BP預測值的對比結果如圖4所示,可以看出,PSO-BP模型的預測值與實際值比較接近。

圖4 犯罪數量預測結果對比

圖5給出了應用BP神經網絡模型和PSO-BP神經網絡模型預測的各人口統計區犯罪數量的平均絕對值相對誤差EMAPE,計算公式如下:

(10)

式中:yj、Oj分別為第j人口統計區實際犯罪數量和預測數量。

圖5 預測結果相對誤差對比

圖5中有很多誤差“尖峰”,這些點的出現直接影響了預測的整體效果,目前國內外學者對“尖峰”的研究較少,主要是這些“尖峰”產生的原因非常復雜,規律性差,很難預測。但與BP神經網絡相比,PSO-BP預測的相對誤差相對較小。

表7給出了兩種模型的平均EMAPE值的對比分析,相較于BP神經網絡模型,PSO-BP神經網絡模型的預測精度具有明顯提高。

表7 兩種模型的平均相對誤差

5 結 語

本文針對BP神經網絡對初始權重敏感,容易陷入局部最優解的問題,引入PSO優化算法,對網絡權重進行全局搜索,同時采用BP神經網絡權重更新方法對PSO搜索到的權重和閾值進行進一步更新,構建PSO-BP神經網絡模型,對犯罪數量進行預測。在744個人口統計區的犯罪數據集上的實驗結果表明,基于PSO-BP神經網絡算法的犯罪數量預測模型的預測精度有明顯提升,在該一般盜竊犯罪的數量預測中有良好的應用效果。

猜你喜歡
閾值權重粒子
權重望寡:如何化解低地位領導的補償性辱虐管理行為?*
碘-125粒子調控微小RNA-193b-5p抑制胃癌的增殖和侵襲
改進的軟硬閾值法及其在地震數據降噪中的研究
土石壩壩體失穩破壞降水閾值的確定方法
基于小波變換閾值去噪算法的改進
基于Matlab GUI的云粒子圖像回放及特征值提取
權重常思“浮名輕”
改進小波閾值對熱泵電機振動信號的去噪研究
為黨督政勤履職 代民行權重擔當
權重漲個股跌 持有白馬藍籌
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合