楊欣怡, 李為為
(重慶交通大學(xué),交通運輸學(xué)院, 重慶 400074)
近年來我國專家學(xué)者逐漸對水上交通展開研究,但由于研究起步較晚,水上交通安全還有不少問題亟待解決。而在水上交通事故中,碰撞事故發(fā)生率居于首位,在過去五年里,長江干線的船舶碰撞事故約占總事故發(fā)生數(shù)的44.2%。對于水上交通事故的預(yù)測,專家學(xué)者主要從2個方面進行研究。
一方面對事故的發(fā)生趨勢進行預(yù)測。比如Zhao等[1]對灰色模型進行不同方法的改進,對事故發(fā)展趨勢進行預(yù)測;王當利等[2]將灰色模型和SARIMA模型利用IOWA算子結(jié)合,利用近十年的水上交通事故數(shù)來預(yù)測水上交通事故發(fā)生數(shù);李玲[3]利用遺傳算法優(yōu)化BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)模型的參數(shù),預(yù)測天氣和風(fēng)險之間的關(guān)系,預(yù)測事故是否發(fā)生;祝方天[4]利用改進IWRAP模型研究不同船舶在不同情況下碰撞的概率。
另一方面對事故險情等級進行預(yù)測。比如汪飛翔[5]提出基于GA-SVM-RFE的船舶事故影響因素篩選,再利用有序非線性模型進行預(yù)測事故等級;陳克嘉[6]將互信息和貝葉斯網(wǎng)絡(luò)結(jié)合,對事故等級進行預(yù)測。
現(xiàn)在專家學(xué)者研究方向更偏向于后者,即對船舶碰撞事故等級的預(yù)測。在人工智能飛速發(fā)展的今天,需要對事件危險等級進行快速準確預(yù)測,而機器學(xué)習(xí)算法對于事件危險等級的預(yù)測比傳統(tǒng)算法更加迅速精確[7]。因此本文將隨機森林算法(Random Forest,RF)和BP神經(jīng)網(wǎng)絡(luò)模型結(jié)合,提出一種新算法。隨機森林對缺省數(shù)據(jù)和高維數(shù)據(jù)都有很好的處理效果,并能夠?qū)τ绊懸蛩刂匾潭冗M行排序,因此將隨機森林和BP神經(jīng)網(wǎng)絡(luò)模型結(jié)合預(yù)測事故等級,期望能夠降低水上交通預(yù)測數(shù)據(jù)的冗余程度,減少預(yù)測時間。下文介紹此模型和基本應(yīng)用。
隨機森林算法是利用隨機理論建立一片由決策樹組成的“森林”,它是一種常見的用于分類的機器學(xué)習(xí)算法。隨機森林算法是隨機子空間(Random Subspace)算法和裝袋(Bagging)算法的組合,不但能夠用于數(shù)據(jù)的分類和回歸,也能夠用于對變量的重要性進行度量并排序[8]。
考慮到水上船舶碰撞的影響因素變量過多,模型復(fù)雜度較高,不是所有的數(shù)據(jù)都具有共線性,因此隨著數(shù)據(jù)量的增大,僅僅只是單純的預(yù)測模型可能會導(dǎo)致運算速度過慢。利用隨機森林的重要性排序功能,判斷事故等級和影響因素之間的相關(guān)關(guān)系,篩選出重要度最高的幾個變量。
利用隨機森林算法對水上交通影響因素的重要性進行排序,其主要步驟包括:
(1) 利用拔靴法(Bootstrapping)從整體船舶碰撞數(shù)據(jù)案例樣本中隨機且可放回地抽取N個數(shù)據(jù),此N個數(shù)據(jù)為構(gòu)建一棵決策樹的基礎(chǔ);
(2) 從決策樹的每個節(jié)點隨機但不重復(fù)地選擇K個影響因素,從K個影響因素中選取最優(yōu)度量值的影響因素,以此為節(jié)點進行分裂,重復(fù)此步驟,直到生成決策樹;
(3) 重復(fù)(1)、(2)兩步驟H次,生成由H棵決策樹組成的隨機森林;
(4) 用基尼指數(shù)或者袋外數(shù)據(jù)錯誤率為指標,評價特征對決策樹的重要度,根據(jù)重要度對特征變量排序,將得到對水上交通船舶碰撞事故等級影響最大的幾個因素。
水上交通事故的數(shù)據(jù)量較小,常常存在部分數(shù)據(jù)丟失的情況。而BP神經(jīng)網(wǎng)絡(luò)模型具有良好的自學(xué)習(xí)和自適應(yīng)性,能夠處理非線性問題,且具有良好的容錯性[9-10],因此在水上交通事故預(yù)測中被廣泛的運用。在船舶碰撞事故等級的研究中,也優(yōu)先考慮使用BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型。
BP神經(jīng)網(wǎng)絡(luò)模型的原理可以看作是由數(shù)據(jù)信號的正向傳播和誤差的反向傳播兩部分組成。數(shù)據(jù)樣本從輸入層傳入,經(jīng)過某種非線性可導(dǎo)函數(shù),逐層處理后傳向輸出層,輸出層結(jié)果如果和實際結(jié)果有差異,將誤差反向傳遞,逐層調(diào)整權(quán)重和偏置值。
BP神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建需要從以下幾點考慮。
(1) 網(wǎng)絡(luò)層數(shù)節(jié)點的選取。在本文中,主要構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)模型為三層神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)的輸入層的節(jié)點個數(shù)為影響因素類別數(shù),輸出層僅考慮事故等級這一個結(jié)果,因此可以明確輸出層節(jié)點數(shù)為1。其中隱含層節(jié)點個數(shù)可具體根據(jù)神經(jīng)網(wǎng)絡(luò)輸入層和輸出層的個數(shù)決定,其隱含層節(jié)點個數(shù)由式(1)確定,
(1)
式中,l表示隱含層節(jié)點的個數(shù),n是輸入層節(jié)點個數(shù),m是輸出層節(jié)點個數(shù),a是1-10中任意數(shù)值。
(2) BP神經(jīng)網(wǎng)絡(luò)模型激活函數(shù)的選取。典型的激活函數(shù)包括Sigmoid函數(shù)、線性函數(shù)、Relu函數(shù)等。不同激活函數(shù)具有不同的優(yōu)缺點。本文在輸入層和隱含層之間使用Relu函數(shù),Relu函數(shù)相比傳統(tǒng)的Sigmoid函數(shù)而言,具有更快的收斂速度和更小的操作開銷。Relu函數(shù)的計算式為式(2):
(2)
式中,輸入的值小于0時,輸出數(shù)為0;輸入的值大于0時,輸出值不變。
(3) BP神經(jīng)網(wǎng)絡(luò)需要利用誤差來調(diào)整每層之間的權(quán)重和偏置,本文采用最常用的梯度下降法來優(yōu)化損失函數(shù)。
(4) BP神經(jīng)網(wǎng)絡(luò)模型初始權(quán)值的選擇。對于BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值的設(shè)置,一般會選擇-1到1之間的服從正態(tài)分布的隨機數(shù)。但是如果權(quán)值初始值過大將導(dǎo)致神經(jīng)元過飽和,權(quán)值初始值過小又將導(dǎo)致學(xué)習(xí)過程過慢。為了優(yōu)化初始權(quán)值,本文將初始權(quán)值的標準差設(shè)置為式(3),
(3)
其中,n表示為輸入神經(jīng)元的個數(shù)。
此方法比-1到1之間選擇初始權(quán)值的方法,速度最高提升四倍[8]。
為了更加快捷準確地預(yù)測船舶碰撞事故等級,建立基于RF-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進行預(yù)測。其建模過程如下。
(1) 明確數(shù)據(jù)集。X={x1,x2,……,xi}設(shè)為包含有i個樣本數(shù)據(jù)的水上交通碰撞事故數(shù)據(jù)集,每個樣本數(shù)據(jù)都有j個數(shù)據(jù)屬性Y={y1,y2,……,yj},這里的數(shù)據(jù)屬性為碰撞事故的影響因素。
(2) 建立隨機森林模型。將數(shù)據(jù)集X導(dǎo)入隨機森林模型,隨機森林模型將碰撞事故影響因素的重要性由高到低依次排列,篩選出最重要的s個影響因素Z={z1,z2,……,zs},數(shù)據(jù)集為X1。
(3) 利用BP神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)預(yù)測。將船舶碰撞事故數(shù)據(jù)集X1中70%左右的數(shù)據(jù)作為訓(xùn)練集,30%左右的數(shù)據(jù)進行測試集,利用絕對誤差、均方根誤差評價RF-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型在水上交通碰撞事故等級預(yù)測的準確性和快速性。
為驗證本文提出的RF-BP神經(jīng)網(wǎng)絡(luò)組合預(yù)測模型在水上船舶碰撞事故分析預(yù)測中的高效性和準確性,以2001—2020年之間全國長江干線的部分典型水上交通事故案例為樣本進行實驗計算,并將RF-BP神經(jīng)網(wǎng)絡(luò)模型與BP神經(jīng)網(wǎng)絡(luò)模型的計算結(jié)果進行對比。本文的數(shù)據(jù)來源包括長江水上交通事故案例分析報告、海事局官網(wǎng)開源的事故調(diào)查報告等,共包含54個典型船舶碰撞事故案例。
水上交通事故的影響因素分別從人員、船舶、環(huán)境和管理4個方面進行綜合考慮,提出身心狀態(tài)、技術(shù)水平、船舶類型、天氣、能見度等29個影響因素。具體影響因素[11]如表1所示。
根據(jù)《水上交通事故統(tǒng)計辦法》中的定義,兩艘以上船舶之間發(fā)生撞擊造成損害均屬于碰撞事故,本文會對碰撞事故雙方的人員、船舶情況進行分析。其中,碰撞的船編號為1,被碰撞的船編號為2,因此每個樣本數(shù)據(jù)有包括事故等級的47個屬性數(shù)據(jù)。
利用RF-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進行預(yù)測。首先需要基于隨機森林模型對47個屬性數(shù)據(jù)的重要性進行排序,如圖1所示。
表1 船舶碰撞事故因素表
從圖1中可以看出前面9項和后面的剛好形成一個拐點,因此,將前9項作為BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的輸入數(shù)據(jù)。前9項數(shù)據(jù)包括安全體制、船舶類型、天氣、監(jiān)督管理等。企業(yè)和政府從宏觀上掌控著水上交通的運行情況,管理情況的好壞對事故等級有著重要影響;其次,事故等級與傷亡人數(shù)、經(jīng)濟損失有直接聯(lián)系,客船造成的水上交通碰撞事故可能導(dǎo)致較大損失的人員傷亡;最后,天氣的好壞對船舶碰撞的嚴重程度也有影響,能見度較差可能導(dǎo)致船舶操作不及時,碰撞角度、力度無法很好地控制,將造成更加嚴重的后果。
利用RF模型將影響較小的變量剔除后,將新數(shù)據(jù)輸入BP神經(jīng)網(wǎng)絡(luò)模型,其中40個數(shù)據(jù)將作為訓(xùn)練數(shù)據(jù),14個數(shù)據(jù)作為測試數(shù)據(jù)。模型初始權(quán)值標準差設(shè)置為0.15,隱含層激活函數(shù)采用Relu函數(shù),其中最大迭代次數(shù)為300,網(wǎng)絡(luò)使用隨機梯度下降算法進行優(yōu)化,學(xué)習(xí)率為0.01。BP神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點數(shù)為5,輸入層節(jié)點數(shù)為9,輸出層節(jié)點數(shù)為1,輸出結(jié)果下面將進行具體分析。
利用Python軟件建立RF-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型。將40組數(shù)據(jù)訓(xùn)練之后,RF-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對另外的14組樣本進行檢測,將檢測樣本結(jié)果和隨機森林模型預(yù)測數(shù)據(jù)、BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測數(shù)據(jù)、實際情況碰撞事故等級數(shù)據(jù)進行對比。結(jié)果如表2和圖2所示。其中隨機森林一指利用未經(jīng)過篩選的數(shù)據(jù)進行預(yù)測的模型,隨機森林二指經(jīng)過相關(guān)性排序篩選后,利用數(shù)據(jù)進行預(yù)測的模型。
圖1 與船舶碰撞相關(guān)的影響因素排序
圖2 船舶碰撞事故等級預(yù)測圖
為了進一步驗證RF-BP神經(jīng)網(wǎng)絡(luò)模型的準確性和快速性,本文從平均絕對誤差、均方差和訓(xùn)練時間3個方面對BP神經(jīng)網(wǎng)絡(luò)模型和RF-BP神經(jīng)網(wǎng)絡(luò)模型進行對比,具體如表3所示。
實驗結(jié)果顯示,隨機森林能夠比BP神經(jīng)網(wǎng)絡(luò)更快達到預(yù)測精度上限,但是隨機森林模型的精確度沒有BP神經(jīng)網(wǎng)絡(luò)模型的精確度高。因此BP神經(jīng)網(wǎng)絡(luò)更適合需要高精度數(shù)據(jù)的情況,對船舶碰撞等級的預(yù)測,優(yōu)先選用BP神經(jīng)網(wǎng)絡(luò)。
而且數(shù)據(jù)顯示,不論是隨機森林還是BP神經(jīng)網(wǎng)絡(luò)模型,經(jīng)過優(yōu)化后的模型比未經(jīng)過優(yōu)化模型具有更短的訓(xùn)練時間,但絕對誤差和均方根誤差數(shù)值并未下降,因此RF-BP神經(jīng)網(wǎng)絡(luò)模型適合水上交通船舶碰撞等級預(yù)測研究。
優(yōu)化后訓(xùn)練時間減少的原因在于:優(yōu)化后模型的復(fù)雜度沒有優(yōu)化前的高,隨著模型復(fù)雜度的降低,將獲得更高的訓(xùn)練速度,而且隨著數(shù)據(jù)量增大,訓(xùn)練速度減少將會更加明顯。
表2 預(yù)測模型測試結(jié)果對比
表3 預(yù)測模型參數(shù)對比
訓(xùn)練的精準度并未下降主要原因在于:模型優(yōu)化后,選擇剔除掉的是一些重要度不高的因素,剔除的因素對訓(xùn)練結(jié)果影響不大;其次,部分變量之間存在共線性關(guān)系,舍去某些變量對整體影響不大;最后,部分變量對結(jié)果有負影響作用,化繁為簡對計算結(jié)果的準確性而言,并不是完全為負面效果。
本文從人、船、環(huán)境和管理4個方面,綜合考慮了可能對長江干線船舶碰撞產(chǎn)生影響的變量,結(jié)合隨機森林的重要度的篩選功能和BP神經(jīng)網(wǎng)絡(luò)的預(yù)測功能,建立了RF-BP神經(jīng)網(wǎng)絡(luò)模型,得出以下2個結(jié)論。
與單純的BP神經(jīng)網(wǎng)絡(luò)模型相比,RF-BP神經(jīng)網(wǎng)絡(luò)模型降低了船舶碰撞事故因素樣本數(shù)據(jù)的空間維度,減少了模型的復(fù)雜度,提高了訓(xùn)練效率;與單純的隨機森林模型相比,RF-BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度更高。
RF-BP神經(jīng)網(wǎng)絡(luò)模型的研究,為水上交通船舶碰撞的安全預(yù)防的方案制定、資金投入措施提供了科學(xué)依據(jù)。但本文的實驗樣本有限,如果需要探究更深層次的長江干線船舶碰撞影響因素,需要更多的實驗樣本和更加深入的研究。