任小強(qiáng),王官云,唐曉華
(西南交通大學(xué)希望學(xué)院 信息工程系,四川 成都 610400)
隨著人們生活水平的提高,汽車數(shù)量越來(lái)越多,車輛碰撞問(wèn)題時(shí)有發(fā)生,往往造成財(cái)產(chǎn)損失和人員傷亡。如何精準(zhǔn)檢測(cè)車輛是否發(fā)生碰撞具有重要研究意義。但是車輛信息非常多,而用戶路況信息和用戶使用偏好不同,很難找到一種準(zhǔn)確識(shí)別碰撞的方法。文獻(xiàn)[1]采用圖像檢測(cè)和分割算法對(duì)車輛碰撞進(jìn)行檢測(cè)識(shí)別,文獻(xiàn)[2]通過(guò)廣義帕累托分布(generalized pareto distribution,GPD)建立制動(dòng)減速度分布模型,得到車輛的碰撞概率,文獻(xiàn)[3]建立環(huán)境復(fù)雜度量化模型,使得碰撞預(yù)警的正確率達(dá)92%,文獻(xiàn)[4]利用智慧燈桿物聯(lián)網(wǎng)數(shù)據(jù)采集平臺(tái),解決極端復(fù)雜環(huán)境下的車輛碰撞檢測(cè)這一難題。傳統(tǒng)的車輛碰撞識(shí)別方法需要大量的人力物力,周期長(zhǎng),成本高。近年來(lái),機(jī)器學(xué)習(xí)的快速發(fā)展促進(jìn)了相關(guān)算法在智能交通領(lǐng)域中的應(yīng)用研究,國(guó)內(nèi)外學(xué)者提出了集成學(xué)習(xí)模型,將其作為一種低廉高效的車輛碰撞檢測(cè)方法,如Random Forest、AdaBoost和XGBoost等,例如文獻(xiàn)[5]提出一種新的基于權(quán)重的欠采樣提升算法(weight-based under sampling boost,WUSBoost),計(jì)算車輛的平均碰撞風(fēng)險(xiǎn);文獻(xiàn)[6]提出一種基于機(jī)器視覺(jué)和深度學(xué)習(xí)的車輛碰撞預(yù)警算法。雖然這些模型在車輛碰撞檢測(cè)中取得了不錯(cuò)的效果,但是相對(duì)而言,增加了算法復(fù)雜度,預(yù)測(cè)精度也還有較大的改進(jìn)空間。輕量化梯度促進(jìn)機(jī)(light gradient boosting machine,lightGBM)[7]是一種新的基于決策樹的集成算法(gradient boosting decision tree,GBDT),支持并行學(xué)習(xí),可以高效處理大數(shù)據(jù),解決了計(jì)算效率低、實(shí)時(shí)性差等問(wèn)題,廣泛應(yīng)用在各個(gè)領(lǐng)域[7-15];文獻(xiàn)[16]采集車輛在駕駛過(guò)程中的軌跡數(shù)據(jù),用其構(gòu)建在變道和跟車行為下的風(fēng)險(xiǎn)特征,并使用LightGBM進(jìn)行訓(xùn)練,識(shí)別駕駛風(fēng)險(xiǎn)。但是上述文獻(xiàn)使用的數(shù)據(jù)集獲取難度大,也并非真實(shí)的事故數(shù)據(jù)集,車輛風(fēng)險(xiǎn)與碰撞之間不是線性關(guān)系,風(fēng)險(xiǎn)高并不意味一定發(fā)生碰撞。隨著汽車市場(chǎng)逐漸朝著智能化、網(wǎng)聯(lián)化和信息化發(fā)展,車聯(lián)網(wǎng)技術(shù)為獲取真實(shí)事故數(shù)據(jù)集提供了可能,本文借鑒上述文獻(xiàn)的觀點(diǎn),基于文獻(xiàn)[17]中的新能源汽車事故數(shù)據(jù),首先構(gòu)建碰撞特征,其次提出一種經(jīng)貝葉斯優(yōu)化的改進(jìn)LightGBM算法來(lái)解決車輛碰撞檢測(cè)問(wèn)題。
在數(shù)據(jù)挖掘領(lǐng)域,特征往往起著很重要的作用,不同特征集決定了機(jī)器學(xué)習(xí)預(yù)測(cè)模型的質(zhì)量,好的特征集可以挖掘更多的關(guān)聯(lián)信息,從而得到更加精準(zhǔn)的機(jī)器學(xué)習(xí)預(yù)測(cè)模型。
車輛碰撞是一個(gè)連續(xù)瞬間過(guò)程,瞬間速度變化很快,其它時(shí)刻速度變化較小,因此本文通過(guò)移位(shift)、運(yùn)算(diff)、滑動(dòng)窗口(rolling)運(yùn)算和原始特征構(gòu)建車輛碰撞的統(tǒng)計(jì)特征,如碰撞時(shí)間、主負(fù)繼電器狀態(tài)和速度特征,并以速度特征構(gòu)造車輛瞬時(shí)加速度、局部加速度、統(tǒng)計(jì)加速度、統(tǒng)計(jì)速度等特征描述碰撞過(guò)程。3種運(yùn)算的定義如下:
shift(x):數(shù)據(jù)平移,x表示移動(dòng)的幅度,可正可負(fù),默認(rèn)值是1,表示數(shù)據(jù)向前移動(dòng)一次,移動(dòng)之后索引位置沒(méi)有值的,值為NaN。
diff(x):一階差分,是指數(shù)據(jù)與平移后數(shù)據(jù)進(jìn)行比較得出的差異數(shù)據(jù),根據(jù)計(jì)算差值的方向不同分為向前差分和向后差分。
rolling(x):x為樣本點(diǎn)數(shù)目,窗口從上到下依次滑動(dòng)時(shí),會(huì)將每個(gè)窗口里面的元素按照相應(yīng)運(yùn)算進(jìn)行計(jì)算。
通過(guò)這3種運(yùn)算,利用初始特征,構(gòu)建的特征如表1所示。
表1 特征名稱及其構(gòu)建方法
為了降低預(yù)測(cè)模型的復(fù)雜度,本文選擇Pearson相關(guān)系數(shù)從原始連續(xù)型特征集中提取特征子集,去除冗余特征和無(wú)關(guān)特征,相關(guān)系數(shù)計(jì)算公式如式(1)所示:
(1)
式(1)中:X和Y為一對(duì)連續(xù)變量,σX和σY為X和Y的標(biāo)準(zhǔn)差;cov(X,Y)為X與Y的協(xié)方差。
分析發(fā)現(xiàn)整車當(dāng)前總電流、整車當(dāng)前總電壓與原始特征車速、構(gòu)造特征a_min5的相關(guān)性很高,為了避免訓(xùn)練模型過(guò)擬合,刪除該特征,數(shù)據(jù)特征選擇后有效特征由最初數(shù)據(jù)集的22個(gè)特征變?yōu)?4個(gè),其中包括表1中構(gòu)建的特征。為了尋找模型的最優(yōu)輸入特征集,本文利用森林算法(random forest,RF)對(duì)特征進(jìn)行重要性排序,其中a_min5,a_mean5,key_std,v_diff1,a_max3,if_off等特征的重要性較高,它們之和約占全部特征貢獻(xiàn)的95%左右,使用上述6個(gè)特征,通過(guò)LightGBM算法進(jìn)行模型訓(xùn)練,車輛碰撞識(shí)別結(jié)果能夠達(dá)到98%左右。因此本文模型選用這6個(gè)特征作為識(shí)別車輛碰撞模型的輸入,特征精減后可以大大降低計(jì)算成本,且對(duì)模型的精度不會(huì)有太大的影響,后續(xù)超參數(shù)的優(yōu)化都是基于精減后的特征。
GBDT是一種流行的、有競(jìng)爭(zhēng)力的、高度穩(wěn)健且可解釋的機(jī)器學(xué)習(xí)算法。它被廣泛用于許多機(jī)器學(xué)習(xí)任務(wù),并且優(yōu)于其他傳統(tǒng)模型。但是,在處理海量樣本數(shù)據(jù)時(shí),GBDT運(yùn)算會(huì)消耗大量的時(shí)間,效率較低。為了克服這些限制,微軟提出LightGBM算法,它是一種新穎的GBDT算法,基于Histogram對(duì)特征的分裂進(jìn)行優(yōu)化,具體如圖1所示。LightGBM被認(rèn)為是一種高效的模型,可以處理大規(guī)模數(shù)據(jù)并以更快的訓(xùn)練速度和最小的內(nèi)存使用量獲得更好的準(zhǔn)確性,它還支持并行和分布式學(xué)習(xí)。
圖1 直方圖優(yōu)化
(2)
(3)
決策樹可以表示為wq(x),q∈{1,2,…,J},其中J表示葉子的數(shù)量,q代表樹的決策規(guī)則,w是一個(gè)向量,表示葉子節(jié)點(diǎn)的樣本權(quán)重。因此,LightGBM將在第t次迭代時(shí)以加法形式進(jìn)行訓(xùn)練,如式(4)所示:
(4)
在LightGBM中,目標(biāo)函數(shù)用牛頓法快速逼近,為簡(jiǎn)單起見(jiàn),去掉式(4)中的常數(shù)項(xiàng)后,公式簡(jiǎn)化為
(5)
式(5)中,gi和hi表示損失函數(shù)的一階和二階梯度統(tǒng)計(jì)量。以Ij表示葉子的樣本集,式(5)可以轉(zhuǎn)換為
(6)
(7)
(8)
(9)
式(9)中,IL和IR分別是左右分支的樣本集,與傳統(tǒng)基于GBDT的技術(shù)不同,LightGBM利用帶深度限制的Leaf-wise葉子生長(zhǎng)策略替代傳統(tǒng)的層生長(zhǎng)決策樹策略,最大程度避免了過(guò)擬合,Leaf-wise和Level-wise的對(duì)比如圖2所示。
(a)Level-wise葉子生長(zhǎng)策略
對(duì)碰撞樣本使用特征向量表示并標(biāo)記,得到帶標(biāo)簽的碰撞樣本,在此基礎(chǔ)上進(jìn)行二分類的有監(jiān)督學(xué)習(xí),這樣就將碰撞檢測(cè)特殊問(wèn)題,轉(zhuǎn)換為機(jī)器學(xué)習(xí)中的通用問(wèn)題。該模型如圖3所示,通過(guò)數(shù)據(jù)清洗及特征提取、特征選擇、模型訓(xùn)練和模型碰撞檢測(cè)幾個(gè)步驟來(lái)實(shí)現(xiàn)。首先,進(jìn)行數(shù)據(jù)清洗及特征提取,其次是特征選擇,選擇了合理特征參數(shù),提高模型訓(xùn)練精度,然后使用貝葉斯優(yōu)化LightGBM超參數(shù),通過(guò)輸入最優(yōu)的LightGBM超參數(shù)得到最終模型。最后應(yīng)用測(cè)試數(shù)據(jù)集進(jìn)行性能評(píng)估指標(biāo)。
圖3 碰撞識(shí)別模型
從本文構(gòu)造的特征來(lái)看,發(fā)生強(qiáng)烈碰撞的分類標(biāo)簽是容易區(qū)分的,考慮到模型的泛化能力,分隔閾值設(shè)的很大,取非碰撞車輛瞬時(shí)加速度v_diff1、局部加速度v-diff2和瞬時(shí)速度差v_diff3中最小值的2倍為分割閾值,目的是為了避免過(guò)擬合。為了增強(qiáng)樹模型的預(yù)測(cè)能力和增加特征之間的非線性性,我們對(duì)特征進(jìn)行交叉修正,如式(10)-(13)所示,使得主要特征與分類特征的相關(guān)性更為明顯,具有實(shí)際意義。
a_min5=a_min5-v_bin* v_bin/2-a0*1.5
(10)
a_mean5=a_mean5-v_bin*v_bin/2-a0*1.5
(11)
v_diff1=v_diff1-v_bin*v_bin-a0*3
(12)
v_diff3=v_diff3-v_bin*v_bin-a0*3
(13)
不同超參數(shù)組合會(huì)導(dǎo)致模型在預(yù)測(cè)性能上存在很大的差別,因此必須對(duì)模型進(jìn)行調(diào)參,搜索出能使模型性能更佳的超參數(shù),常用方法包括人工搜索、網(wǎng)格搜索和隨機(jī)搜索等[18-19]。網(wǎng)格搜索支持并行計(jì)算,很消耗內(nèi)存,隨機(jī)搜索則不能確保得到全局最優(yōu)解。貝葉斯優(yōu)化(bayesian optimization,BO)是一種自適應(yīng)的超參數(shù)搜索方法[20],利用目標(biāo)函數(shù)的過(guò)去評(píng)估結(jié)果建立概率模型,尋找最小化目標(biāo)函數(shù)的參數(shù),在效率和精度上都獲得更好的效果。本文使用TPE(tree parzen estimator)代理模型和期望改善(expected Inprovement,EI)采集函數(shù)構(gòu)造貝葉斯算法優(yōu)化LightGBM參數(shù)[21],TPE算法的概率分布定義如式(14)所示。
(14)
式(14)中,e(x)為觀測(cè)值{x(i)}形成的密度,g(x)為除{x(i)}外剩余觀測(cè)值形成的密度。
TPE算法選擇y*作為當(dāng)前觀測(cè)值y的某個(gè)分位數(shù)γ,滿足p(y (15) 從式(15)可看出,為了能獲得最大期望提升,超參數(shù)x在e(x)的概率要盡可能大,而在g(x)的概率要盡可能小。通過(guò)g(x)/e(x)評(píng)估每一個(gè)超參數(shù)x,在每次迭代中,算法將返回具有最大EI的超參數(shù)值。 本文使用文獻(xiàn)[17]構(gòu)建的基準(zhǔn)數(shù)據(jù)集對(duì)提出的方法進(jìn)行評(píng)估,該數(shù)據(jù)集通過(guò)分析傳感器采集的車聯(lián)網(wǎng)大數(shù)據(jù)來(lái)預(yù)測(cè)車輛是否發(fā)生碰撞。該訓(xùn)練數(shù)據(jù)集有14個(gè)屬性特征,3 928 449條數(shù)據(jù),其中第30位Label列為標(biāo)簽屬性,代表是否碰撞,1表示碰撞,0代表無(wú)碰撞,測(cè)試數(shù)據(jù)集有19個(gè)屬性,共4 285 948條數(shù)據(jù)。數(shù)據(jù)清洗對(duì)提高模型性能非常重要,包括缺失值處理、異常值處理、刪除重復(fù)值、類型轉(zhuǎn)化和特征編碼等。車輛碰撞時(shí)速度會(huì)發(fā)生明顯變化,并且電池主負(fù)繼電器狀態(tài)由連接變?yōu)閿嚅_,對(duì)于缺失值和異常值使用均值填充。數(shù)據(jù)集中的數(shù)據(jù)通常以字符串類型存儲(chǔ),特征編碼將字符串類型數(shù)據(jù)轉(zhuǎn)化為數(shù)值類型。對(duì)于只有兩種取值的特征使用標(biāo)簽編碼(Label Encoder),例如電池包主負(fù)繼電器狀態(tài)、制動(dòng)踏板狀態(tài)等,用0、1表示兩種狀態(tài),整車鑰匙狀態(tài)含有3種取值,可以使用獨(dú)熱編碼(one-hot encoding),它會(huì)增加數(shù)據(jù)特征的數(shù)量,經(jīng)過(guò)數(shù)據(jù)清洗和特征提取后,樣本數(shù)為19 950條。為了平衡樣本數(shù)據(jù),對(duì)樣本數(shù)據(jù)進(jìn)行欠采樣和重采樣,數(shù)據(jù)欠采樣滿足以下3個(gè)條件:(1)汽車碰撞后電池包主負(fù)繼電器處于斷開狀態(tài),即電池包主負(fù)繼電器狀態(tài)恒等于0;(2)訓(xùn)練集的所有標(biāo)簽均分布在繼電器斷開瞬間附近,if_off處于-3到-5的區(qū)間,考慮到停車時(shí)被追尾,增加車速大于零這個(gè)條件;(3)刪除啟動(dòng)階段低于正常車速的數(shù)據(jù),這里要求車速在20 km/h以上。通過(guò)這三個(gè)刪選條件,測(cè)試樣本數(shù)由3 928 449條變?yōu)? 923 559條。此外,車輛碰撞是一個(gè)連續(xù)過(guò)程,將碰撞時(shí)間前后5秒內(nèi)樣本標(biāo)簽均標(biāo)記為碰撞,對(duì)訓(xùn)練集標(biāo)簽進(jìn)行重采樣,重采樣后訓(xùn)練集碰撞標(biāo)簽由49個(gè)變?yōu)?54個(gè)。本實(shí)驗(yàn)仿真所用電腦為Windows7系統(tǒng),配備4GB內(nèi)存,處理器為英特爾第七代酷睿i5-7200U@2.50GHz。 為了探究特征個(gè)數(shù)對(duì)模型性能的影響,將特征工程得到的特征使用本文模型進(jìn)行訓(xùn)練,并在測(cè)試集上采用F1-score、查準(zhǔn)率(precision)、查全率(recall)進(jìn)行模型評(píng)估,結(jié)果如圖4所示。當(dāng)特征個(gè)數(shù)小于8時(shí),模型評(píng)價(jià)指標(biāo)總體呈上升趨勢(shì),此時(shí)模型欠擬合;當(dāng)特征個(gè)數(shù)大于8后,模型評(píng)價(jià)指標(biāo)總體呈下降趨勢(shì),原因可能是模型過(guò)擬合;當(dāng)特征個(gè)數(shù)為6時(shí),模型性能最優(yōu)。 圖4 特征數(shù)與評(píng)價(jià)指標(biāo)的關(guān)系 為了建立一個(gè)有效的預(yù)測(cè)模型,將文獻(xiàn)[22]中邏輯回歸模型(logistic regression,LR)、文獻(xiàn)[23]中的支持向量機(jī)模型(support vector machine,SVM)、文獻(xiàn)[24]中的隨機(jī)森林模型(random forest,RF)、文獻(xiàn)[25-26]中的梯度提升決策樹模型(eXtreme gradient boosting,XGBoost)和本文LightGBM模型進(jìn)行對(duì)比研究。為了結(jié)果更加可靠,分別進(jìn)行3組試驗(yàn),每組重復(fù)測(cè)試10次,取其平均值作為模型最終評(píng)價(jià)指標(biāo)。各模型預(yù)測(cè)結(jié)果如圖5所示,LightGBM模型在實(shí)驗(yàn)中的評(píng)價(jià)指標(biāo)優(yōu)于其它模型,其平均準(zhǔn)確值約為0.94,平均查準(zhǔn)率約為0.97,F1-score值約為0.93。 (a)第一組 LightGBM參數(shù)較多,基于交叉驗(yàn)證的手動(dòng)調(diào)參操作復(fù)雜且易影響預(yù)測(cè)效果,因此本文采用貝葉斯優(yōu)化方法調(diào)整最佳參數(shù)。為了驗(yàn)證貝葉斯優(yōu)化算法的優(yōu)越性,將貝葉斯優(yōu)化與網(wǎng)格搜索、隨機(jī)搜索以及LightGBM的默認(rèn)參數(shù)進(jìn)行對(duì)比,不同的優(yōu)化方法選擇相同范圍的參數(shù)空間,并使用運(yùn)行時(shí)間與均方誤差MSE作為評(píng)估指標(biāo)。實(shí)驗(yàn)結(jié)果如圖6所示,默認(rèn)參數(shù)的運(yùn)行時(shí)間為其迭代5 000輪的時(shí)間,網(wǎng)格搜索的運(yùn)行時(shí)間為其搜索完待選參數(shù)空間所需的時(shí)間,隨機(jī)搜索的運(yùn)行時(shí)間為其迭代5 000輪的時(shí)間,貝葉斯優(yōu)化的運(yùn)行時(shí)間為其精度不再變化后的時(shí)間,即完成收斂所需的時(shí)間。參數(shù)列表的順序?yàn)閘earning_rate,feature_fraction,bagging_fraction,bagging_freq,num_leaves和min_data_in_leaf。 (a)均方誤差 由圖6可以看出,默認(rèn)參數(shù)的碰撞檢測(cè)精度低,運(yùn)行時(shí)間較長(zhǎng);網(wǎng)格搜索雖然有精度上的提升,但是會(huì)花費(fèi)大量的時(shí)間成本;隨機(jī)搜索的運(yùn)行時(shí)間相比網(wǎng)格搜索大大減少了,而且在精度上也比網(wǎng)格搜索略好一些;貝葉斯優(yōu)化算法相比網(wǎng)格搜索與隨機(jī)搜索,在精度上有顯著的提升,而且運(yùn)行時(shí)間遠(yuǎn)遠(yuǎn)小于網(wǎng)格搜索與隨機(jī)搜索,所以使用貝葉斯優(yōu)化算法尋找超參數(shù)是有效的。貝葉斯優(yōu)化LightGBM算法在進(jìn)行模型預(yù)測(cè)時(shí),隨著不斷迭代,模型的均方誤差MSE趨于平穩(wěn),當(dāng)?shù)螖?shù)為200時(shí),均方誤差MSE達(dá)到了最小值,此時(shí)對(duì)應(yīng)的超參數(shù) learning_rate=0.005,num_leaves=80,max_depth=7,min_data_in_leaf=210,bagging_fraction=0.9,feature_fraction=0.7。貝葉斯優(yōu)化后的LightGBM模型評(píng)價(jià)指標(biāo)提升比較明顯,可以滿足車輛碰撞識(shí)別的要求,對(duì)交通管理部門和汽車生產(chǎn)商具有重要的參考價(jià)值。 數(shù)據(jù)集的正負(fù)樣本不平衡會(huì)導(dǎo)致模型預(yù)測(cè)出現(xiàn)偏差。這里使用數(shù)據(jù)樣本欠采樣和碰撞標(biāo)簽重采樣技術(shù)平衡樣本,平衡數(shù)據(jù)集和不平衡數(shù)據(jù)集分別輸入LightGBM進(jìn)行分類,測(cè)試結(jié)果如圖7所示。由圖7可以看出,平衡數(shù)據(jù)集后Precision指標(biāo)從97.01%提升到98.99%,Recall指標(biāo)從88.67%提升到98.86%,F1-score從88.64%提升到97.98%,這些結(jié)果表明平衡數(shù)據(jù)集樣本可以提升模型的預(yù)測(cè)性能。 圖7 數(shù)據(jù)集的平衡優(yōu)化與否對(duì)比 針對(duì)車聯(lián)網(wǎng)大數(shù)據(jù)碰撞識(shí)別問(wèn)題,本文提出一種基于貝葉斯優(yōu)化LightGBM算法的碰撞識(shí)別預(yù)測(cè)模型。通過(guò)數(shù)據(jù)清洗與特征工程刪選特征,欠采樣、重采樣技術(shù)提高碰撞識(shí)別預(yù)測(cè)的準(zhǔn)確性,有效利用了各個(gè)特征與碰撞之間的相關(guān)性,同時(shí)使用LightGBM模型進(jìn)行車輛碰撞識(shí)別,運(yùn)行總時(shí)間為300~450 s左右。下一步研究中,考慮更有效的訓(xùn)練模型與數(shù)據(jù)特征,進(jìn)一步提高碰撞時(shí)間預(yù)測(cè)的準(zhǔn)確性,增加更多碰撞類別的訓(xùn)練集與測(cè)試集數(shù)據(jù),增強(qiáng)模型的泛化能力。同時(shí)研究使用智能優(yōu)化算法,對(duì)車輛碰撞識(shí)別模型的參數(shù)進(jìn)行優(yōu)化研究,進(jìn)一步提升預(yù)測(cè)進(jìn)度,也在降低模型復(fù)雜度方面進(jìn)行相關(guān)探索。3 仿真及結(jié)果分析
4 結(jié)論