?

基于BO-FCM和PSO-XGBoost的城市快速路交通狀態識別

2023-09-27 09:47孫經偉谷遠利
交通運輸研究 2023年4期
關鍵詞:交通流聚類交通

孫經偉,谷遠利

(北京交通大學 綜合交通運輸大數據應用技術交通運輸行業重點實驗室,北京 100044)

0 引言

交通狀態識別是智能交通管理和控制中的重要一環,通過實時、準確的交通狀態識別可獲得道路狀態信息,據此誘導和控制交通,有助于緩解城市交通擁堵。因此,交通狀態識別成為智能交通系統中重要的研究方向。

目前,交通狀態識別方法主要有聚類算法和有監督的機器學習兩種。聚類算法具有良好的分類效果,能對交通流數據進行有效分類,同時對交通狀態識別的模糊性有較好的適應性。部分學者通過對聚類算法優化或結合其他算法對交通狀態進行識別,如結合最優自編碼器和K 均值(Kmeans)聚類算法[1]、加權指數的模糊C均值(Fuzzy C-Means,FCM)算法[2]、投影尋蹤動態聚類[3]、高斯混合模型聚類算法[4]等,從而實現對交通狀態實時有效的判別。不過,聚類算法結果易受初始聚類中心隨機選擇的影響而陷入局部最優問題,從而導致交通狀態識別結果的準確性和穩定性不高。有監督的機器學習算法具有良好的學習能力,可通過訓練數據樣本獲得較高的分類精度,目前已經在交通狀態識別領域得到廣泛應用。如一些學者嘗試使用BP 神經網絡(Back Propagation Neural Network,BPNN)[5]、隨機森林算法[6]、融合多個機器學習模型[7]、遺傳算法優化SVM[8]、K-近鄰規則(K-Nearest Neighbor,KNN)[9]、貝葉斯算法[10]等來構造交通狀態識別模型,并得到較好的識別結果。不過許多研究對機器學習算法的超參數取值會影響模型訓練結果和擬合程度的問題考慮不足,使得模型識別結果未達到最優。

近年來,將聚類算法和監督學習算法相結合的模型越來越多,如商強等[11]提出譜聚類算法和KNN 算法相結合的交通狀態判別模型;常麗君等[12]提出優化后的FCM 算法結合概率神經網絡的交通狀態識別方法??梢钥闯?,聚類算法和監督學習算法相結合的效果較好,聚類算法為監督學習提供了先驗數據,監督學習算法則利用先驗數據進行訓練和測試,保證了交通狀態識別結果的實時性。目前集成學習已經成為機器學習的重要組成部分,其通過結合多個學習器來獲得優越的泛化能力,在分類問題上展現出明顯優勢[13]。極度梯度提升樹(eXtreme Gradient Boosting,XGBoost)算法是集成學習中的重要算法,其收斂速度快,準確率高且不易過擬合,但XGBoost 算法參數過多且對參數較為敏感,使得其應用較為復雜。

為提高城市快速路交通狀態識別的準確性,本文將利用貝葉斯優化算法快速確定FCM 算法的最優初始聚類中心,并利用粒子群算法確定XGBoost算法的最優參數,結合交通狀態識別的變化性,構建基于貝葉斯優化改進的FCM 聚類算法與粒子群優化改進的XGBoost 算法相結合的交通狀態識別模型,并使用聚類分析后的交通數據對監督學習算法進行訓練,提升交通狀態識別的效率和穩定性,最后采用北京市三環快速路的交通數據對模型進行實例驗證,并與其他方法進行性能對比分析。

1 模型構建

本文主要通過對某一時刻的交通數據進行識別,來判斷其所處的交通狀態。首先對歷史交通數據進行聚類分析并劃分出不同的交通狀態,得到先驗信息,然后利用先驗信息訓練PSO-XGBoost 模型,在模型中對待識別交通數據進行測試,得到該交通數據所處的交通狀態。

1.1 聚類分析

模糊C 均值算法是一種經典的聚類算法,因其能提供靈活的聚類結果且適用于不同的數據類型而在眾多模糊算法中應用最為廣泛。本文利用FCM 算法對交通流量、速度和道路占有率進行聚類分析,得到每個交通數據的狀態標簽,目的是實現被劃分為同一聚類的樣本數據對象間的最大相似性和不同聚類的樣本數據對象間的最小相似性。通過對目標函數進行優化,獲取每個樣本對所有類中心的相似程度,即隸屬度,進而對樣本進行自動分類。

目標函數[14]為:

式(1)中:J是目標函數;n是樣本數;c是聚類中心個數;m是任何大于1 的實數;xi是第i個樣本點;uij是第i個樣本點的第j個類中心的隸屬度;cj是第j個類中心。

FCM 算法初始聚類中心的隨機性對聚類的結果影響很大,容易使算法陷入局部最優,造成聚類結果的準確度不高且運行時間較長,故需要優化FCM 算法以解決算法局部收斂的問題。貝葉斯算法是一種運行速度快、穩定性良好的全局優化算法,其利用已搜索過的點的信息來提升搜索效率,減少迭代次數,進而快速獲得最優解,可有效解決FCM算法問題。

貝葉斯優化FCM 算法(Bayesian Optimization,BO-FCM)的流程如下:

1)初始化高斯回歸模型(Gaussian Process Regression,GPR),采集函數UCB(Upper Confidence Bound),確定最大迭代次數,定義目標函數Jm=f(C)和聚類中心的參數空間。

2)隨機選取聚類中心點作為BO 算法的初始值。

3)擬合高斯回歸模型,通過采集函數UCB來計算優化結果,執行貝葉斯優化算法后得到聚類中心Ci,計算目標函數值Jm=f(Ci)。

4)不斷迭代直至達到最大迭代次數,輸出歷史最佳參數即聚類中心。

5)將貝葉斯優化算法的結果代入FCM 算法得到樣本數據的聚類結果,完成交通狀態劃分。

1.2 PSO-XGBoost算法

XGBoost 算法[15]屬于Boost 算法,其目標函數為:

式(2)~式(3)中:L(φ)為目標函數;l為單個樣本的損失;yi為標簽值;為預測輸出;Ω(fk)為正則化項;fk為樹模型;k為樹的數量;γ為葉子樹懲罰正則項;T為樹葉子節點數;w為葉子權重值;λ為葉子權重懲罰正則項。

XGBoost 算法主要是在損失函數的基礎上加入了正則化和采用縮減辦法來防止過擬合,同時對目標函數進行泰勒展開,利用推導得到的表達式作為分裂準則來構建每一棵樹。該算法能在避免過擬合的前提下對目標函數進行擬合,提升識別精度,具有較強的泛化能力,同時支持并行化處理,運行速度得以提高。XGBoost 算法的缺點是參數過多,對參數敏感,因此算法的應用較為復雜。為了合理有效地選擇算法的超參數,提高算法識別精度,使用收斂速度快、可調整參數少、尋優能力強的粒子群優化算法(Particle Swarm Optimization,PSO)對XGBoost 的參數進行優化。

粒子群優化算法通過在一組無質量的粒子中對鳥類進行建模,所有粒子根據所尋求的個體極值和當前全局最優解來調整位置和速度,進而找到粒子群的全局最優解。PSO算法實現較為簡單,不涉及復雜的神經網絡模型且收斂速度較快。PSO-XGBoost算法流程如圖1所示。

圖1 PSO-XGBoost算法流程圖

根據圖1,PSO-XGBoost算法的具體流程如下:

1)定義PSO 算法的參數,包括粒子群規模N、粒子維度D、迭代次數K、慣性權重ω,確定需要優化的超參數,同時設置每個參數的調節范圍。

2)隨機初始化粒子群,通過評估粒子的適應度值來對粒子和群體的全局最優位置進行比較,不斷更新速度和位置,當達到最大迭代次數后結束粒子群算法流程,得到最優參數。

3)將歷史交通流數據的聚類結果分為訓練集和測試集,對參數優化后的XGBoost 模型進行訓練和測試,實現交通狀態識別。

1.3 交通狀態識別模型

本文利用貝葉斯優化后的FCM 算法對歷史交通流數據進行狀態劃分,將聚類結果分為訓練集和測試集,對PSO-XGBoost 算法進行訓練和測試驗證,從而實現交通狀態識別。完整的交通狀態識別步驟如下:

1)以交通流量、速度和道路占有率作為特征參數,進行交通狀態劃分。

2)根據文獻[12],將城市交通狀態劃分為暢通、平穩、擁擠和擁堵4 個等級,對應的標簽編號為0,1,2,3。使用BO-FCM 模型對交通流數據進行聚類分析并獲得實驗數據的交通狀態標簽。

3)將已經劃分交通狀態的特征變量數據按4∶1 分為訓練數據和測試數據,其中訓練集的輸入為所選取的3 個特征參數,輸出為相應的交通狀態。

4)使用訓練集數據對PSO-XGBoost 模型進行訓練,然后利用測試數據對訓練后的模型進行驗證測試,對模型性能進行評價。

2 實例驗證

2.1 數據處理

采用北京市西三環快速路的交通流數據進行交通狀態識別實驗和模型測試。選取西三環航天橋南—紫竹橋北作為實驗路段,檢測器分布如圖2 所 示。采 集2014 年1 月6 日—2014 年1 月10 日全天流量、速度和道路占有率數據,以2 min 為時間間隔,日交通數據序列個數為720 個,數據缺失率不高于5%,數據總量為17 897 條,能較好地展現交通流變化和交通流特性。在實驗開始前,先對原始數據進行篩選,剔除缺失數據和異常數據,如北京市三環快速路的限速為80 km/h,因此刪除速度為80 km/h 以上的數據點,然后使用Z-score 標準化方法將數據轉換為正態分布,同時將Z-score 值的絕對值小于3 的數據點視為異常點,予以刪除。將所有數據點繪制成箱線圖,如圖3 所示,可以看出3 項交通流參數屬性正常,異常點已剔除。以1 月6 日—1 月9 日的數據為訓練數據,1 月10 日的數據為測試數據,在Python平臺進行模型實驗。

圖2 檢測器分布圖

圖3 樣本數據箱線圖

2.2 基于BO-FCM的交通狀態劃分

根據交通流中的速度、交通流量及道路占有率,將樣本數據所處的交通狀態劃分為4 類,分別是順暢、平穩、擁擠、擁堵。確定聚類數目為4,通過貝葉斯優化算法不斷迭代300次得到FCM算法的初始聚類中心矩陣為:

基于以上初始聚類中心進行聚類,得到聚類結果如圖4 所示。每類交通狀態下的交通流量、速度和道路占有率的均值如表1 所示。從表中可以看出,每種交通狀態下的交通流量、速度和道路占有率都有較大差異,且4 種交通狀態都有較明顯的規律。處于第0類交通狀態下的速度較大,但交通流量和道路占有率都很低,對應于順暢的交通狀態;第1 類交通狀態的速度較第0 類下降,但交通流量和道路占有率有所提高,此時處于平穩狀態;第2 類和第3 類的交通狀態變化情況相同,對應于擁擠和擁堵狀態。從順暢到擁堵的交通狀態變化過程中,可以看出速度在不斷降低,而交通流量和道路占有率不斷提高,算法優化后所得結果與實際交通流變化規律相同。

表1 交通流參數均值

圖4 聚類結果

為驗證聚類結果的準確性,以點位3 063 的數據聚類結果為例,其2014 年1 月6 日—1 月9 日的交通狀態變化情況如圖5 所示??梢钥闯?,0:00—6:00,交通流處于順暢狀態;6:00之后車流量不斷加大,出現早高峰,交通流狀態從順暢轉為擁堵;隨后交通流狀態不斷波動,晚高峰出現在15:00—18:00,此時交通狀態又轉變為擁堵,之后逐漸趨于平穩狀態。模型得到的聚類結果和實際道路交通變化情況較為接近,BO-FCM 模型能有效劃分交通狀態。

圖5 1月6日—1月9日交通狀態變化

2.3 PSO-XGBoost模型交通狀態識別

實驗中,選取6 個對模型結果影響較大的參數對XGBoost 算法進行優化,分別為影響模型穩定性的學習率,控制模型擬合程度的樹的最大深度,最小葉子節點樣本權重,隨機采樣比例,控制隨機采樣列數占比的使用的特征占比,影響模型損失函數值的節點分裂所需的最小損失函數下降值。設置各參數的變化范圍,使用PSO 算法進行尋優得到最佳模型參數,如表2 所示。將優化得到的模型參數代入XGBoost中進行訓練和測試,使用1 月6 日—1 月9 日的數據作為訓練數據,1 月10日的數據作為測試數據。

表2 最優參數值

2.4 模型性能整體評價

為了明確本文模型的準確率和穩定性,將其與支持向量機(Support Vector Machine,SVM)模型、隨機森林(Random Forest,RF)算法、K 最近鄰算法進行對比分析。依據文獻[8],先將SVM模型中的RBF 核函數設置為21,懲罰系數設置為0.5,隨機森林算法和K 最近鄰算法的參數值采用默認值,然后采用Python 中的sklearn 庫建立和運行SVM,RF,KNN 模型。本文模型和其他模型的交通狀態識別混淆矩陣如圖6 所示,圖中各行是實際交通狀態,每列是預測交通狀態,對角方格中的數表示每個交通狀態識別正確的數量,如第1 行第1 列表示能正確識別為順暢狀態的數據有853 個。由該圖可知,本文算法在全部3 487 個測試數據中,識別錯誤的數據只有2 個,其識別出的狀態和實際狀態只相差1 個交通狀態類型,分別是將實際的平穩狀態識別為順暢狀態和擁擠狀態,模型的總體準確率達99.94%,識別精度較高,其他模型則多次出現識別狀態和實際狀態相差2個類型的情況,這表明本文算法穩定性較好。本文算法與另外3 種算法的識別結果如表3 所示。從該表可知,本文模型的識別準確率比SVM,RF,KNN等常見模型分別提高了1.23%,1.06%,1.57%。

表3 不同方法的識別結果比較

圖6 不同模型識別結果的混淆矩陣

圖6 (續)

3 結束語

交通狀態識別是城市智能交通的重要基礎,為提高交通狀態識別的準確率,本文結合聚類算法和監督學習算法的優勢,提出一種基于貝葉斯優化的FCM 算法和PSO-XGBoost 算法相結合的快速路交通狀態識別模型,針對FCM 算法易陷入局部最優和XGBoost 算法參數復雜敏感的問題,對FCM 算法的初始聚類中心和XGBoost 算法的重要超參數兩個方面進行優化,最后利用歷史交通流數據對模型性能進行了測試和比較分析。結果表明,本文方法實現了對交通狀態的精準識別,對比其他常見算法,不僅對交通狀態識別的準確率更高,錯判率更低,而且穩定性好,表明所建立的模型性能更優越,可為準確獲取交通出行信息和改善交通擁堵提供方法支撐。本文在交通狀態識別過程中未考慮聚類中心數量對識別結果的影響,在未來研究中將對不同聚類中心數量下不同道路的交通數據進行測試和模型性能分析。

猜你喜歡
交通流聚類交通
繁忙的交通
小小交通勸導員
基于DBSACN聚類算法的XML文檔聚類
基于高斯混合聚類的陣列干涉SAR三維成像
交通流隨機行為的研究進展
路內停車對交通流延誤影響的定量分析
一種層次初始的聚類個數自適應的聚類方法研究
具有負壓力的Aw-Rascle交通流的Riemann問題
自適應確定K-means算法的聚類數:以遙感圖像聚類為例
考慮車輛間博弈行為的交通流
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合