楊 帆 何正偉 何 帆
(武漢理工大學航運學院1) 武漢 430063) (內河航運技術湖北省重點實驗室2) 武漢 430063) (國家水運安全工程技術研究中心3) 武漢 430063)
在水路運輸中實際航道水深難以準確獲得,從電子海圖、航道區域圖等途徑中獲得的航道水深數據實時性不強,難以代表當前航道的準確水深.
目前國內外有關水深預測的研究主要有: Su等[1]提出的一種基于多光譜衛星圖像的方法對水域的水深進行預測的方法.該方法使用了RK(regression kriging)方法對水深進行預測,相比傳統的邏輯回歸方法,該方法具有更高的預測準確性,然而由于RK方法的局限性,對于多變量的情況無法更好地預測水深.Shiri[2]提出的一種基于小波和模糊神經的方法對地下水深度進行預測.通過組合離散小波變換和神經模糊模型兩種方法,改進了小波神經模糊模型.通過比較結果表明,小波神經模糊模型優于傳統的神經模糊模型,更好地對短時地下水深度進行準確地預測.Wang[3]提出的一種轉換瑞利法進行計算浪高.在所提出的變換瑞利方法中,轉換模型被選擇為單調指數函數,使得變換模型的前三個時刻匹配真實過程的時刻.所提出的新方法已經應用于用海神平臺測量的地面高程數據來計算海況波高超概率.在這種情況下證明,所提出的新方法可以比通過使用常規瑞利波高度分布模型提供更好的預測.Younis等[4]提出的一種粗糙復合航道中的漸進水深預測方法.通過對一維的預測方法進行分析,得到了一種錯誤率較低的預測方法.實驗結果表明,該預測方法具有較高的準確率,然而,該方法是否一定優于其他方法還需要后續研究進行證明.
文中通過船舶交通流和AIS(automatic identification system)數據進行數據挖掘,構建深度神經網絡模型和決策樹-深度神經網絡結合的模型,從而對航道水深進行預測,提高水深數據的準確度和及時性,為船舶安全導航提供參考.
通過深度神經網絡及決策樹模型,進行AIS數據挖掘,并對各模型進行模型評判和驗證,最終對不同的水深預測模型進行實際預測,比較各模型在航道水深預測領域的效果.研究方法圖見圖1.

圖1 研究方法圖
航道水深數據可以通過相關航道的電子海圖和泊位水深圖中獲取.首先通過電子海圖和最新的泊位水深圖讀取航道內已知點的經度數據、緯度數據和對應的水深數據,其中經度數據為lon1,lon2,…,lonn,緯度數據為lat1,lat2,…latn,水深數據為d1,d2,…,dn.
本設計通過三維插值方法,根據電子海圖中的已知水深數據對航道內的未知水深數據進行三維插值,采用Spline插值方法對船舶軌跡進行插值.設已知待插值的數據點的經緯度分別為a≤lon1 通過三次樣條插值的方法可以得到航道內不同的經度、緯度點對應的水深數據,將得到的水深數據按照經度、緯度值和航道的AIS數據進行整合,從而將水深數據和AIS數據的動態數據和靜態數據相結合. 本設計通過小波分析對水AIS數據的異常數據進行分析和檢測.通過小波變換將AIS中的數據進行多層分解,能夠對高頻和低頻部分進行分別處理.在AIS數據中,由于信號傳輸過程受到干擾,或者信號中夾雜著噪聲等因素導致傳輸數據出現異常,這些異常數據一般存在于信號分解后的高頻部分,因此,異常檢測過程就是通過小波分析的方法,對高頻數據進行處理,處理后的高頻數據和低頻數據進行重構,最終判斷異常數據出現的位置以及異常數據的個數,并且對異常數據根據不同情況采取數據清除或數據矯正,從而完成異常數據的檢測功能. 輸入層進行不同特征數據的輸入,隱含層的層數不定,根據不同的深度神經網絡會采用不同層數的隱含層,輸出層進行整個模型數據的輸出.每一層網絡之間通過節點進行相互連接,不同的節點具有對應的權重,用來表示節點與節點之間的關系.對于每層網絡來說,激活函數用來進行輸入數據的加權求和,目前常用的激活函數包括relu、sigmoid、tanh等[5].對于不同的輸入AIS數據x=(x1,x2,…,xn)來說,深度神經網絡的主要任務是要確定激活函數以及隱含層的層數,這對于網絡的性能提升具有重要的作用. (1) 式中:fw,b為每一層網絡中的激活函數,可以表示該層網絡之前的所有加權求和的過程.對于l層網絡來說,該過程可以表示為 (2) 式中:Nl為第l層網絡的節點個數;wl∈RNl×Nl-1和b∈R分別為通過學習得到的網絡權重和偏置. 構建深度神經網絡之前,首先要確定輸入AIS數據的參數.Pearson相關系數是一種反應變量之間相關程度的統計量,計算公式為 (3) 式中:r為相關系數;n為樣本個數;xi和yi為變量對應的樣本值. 通過設置yi作為不同點的水深數據,分別選擇不同的輸入參數xi并計算得到相關系數ri,將ri進行從大到小順序進行排序,選擇前n個ri對應的輸入參數xi作為深度神經網絡的輸入參數,水深數據Di作為深度神經網絡的輸出參數. 以船舶吃水為例,通過計算相關系數ri,得到船舶吃水和航道水深的相關性見表1. 通過對所有的AIS數據特征屬性和航道水深之間進行相關性分析,得到不同屬性的相關性系數ri,從而為深度神經網絡提供合適的輸入特征參數. 表1 船舶吃水和航道水深的相關性 注:在置信度(雙測)為 0.01 時,相關性是顯著的. 設置深度神經網絡的初試化結構參數,通過迭代來不斷調整深度神經網絡的權值wi和偏置θi,達到預測準確率最大,此時的深度神經網絡為最優.圖2為深度神經網絡模型流程圖. 圖2 深度神經網絡模型流程圖 (4) 對于整個區域的水深預測數據來說,預測模型模型為 (5) 在該預測模型表達式中,n為不同的地理位置對應的點,(a,b)為對應的經度和緯度.整個模型對于水深數據預測時,需要找到合適的稀疏矩陣作為網絡的自回歸模型. 在對大量的AIS數據進行預處理和分析后,對于深度神經網絡的預測能力最重要的就是找到最優參數使得整個網絡的預測性能達到最佳.隨機梯度下降算法可以用來尋找最優網絡參數,使得網絡的性能達到最優水平.通過對AIS數據進行訓練后,網絡的各種參數范圍為 f∈{tanh(x),sigmoid(x),max(x,0)} λ∈{10-4,10-2} n∈{1,15} Nl∈{1,200}n (6) 整個深度神經網絡模型將通過對大量的已知水深數據進行學習,尋找最優參數,構建最終的水深預測模型. 預測水深的另一種方法是通過決策樹和深度神經網絡組合模型對AIS數據進行學習,通過水深數據作為標簽,劃定AIS數據分類標準,為水深數據預測建立模型.圖3為DT-NN組合模型結構圖.其中決策樹上的每一個非葉子節點表示一個AIS數據特征屬性上的判斷,用來判斷葉子結點是否屬于某一范圍[6-7],并對每個非葉子結點進行>0的判斷.每個分支代表這個特征屬性在某個值域上的輸出,用來表示對應判斷下的輸出值.通過對AIS數據中船舶靜態特征和動態特征集合進行決策樹判斷后,可以確定不同的特征對應的信息增益,從而評判不同特征和預測變量之間的相關性. 圖3 DT-NN組合模型結構 使用決策樹對AIS數據進行最優特征選擇的過程就是從決策樹的根節點開始,測試待分類項中相應AIS數據對應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果.使用決策樹模型對AIS數據進行分類和預測時,根據輸入參數依次在各個判斷節點進行相關特征屬性的判斷和移動,最后到達葉子節點并建立本次決策樹的水深預測模型,從而為AIS數據和航道水深之間建立預測模型. DT-NN決策樹-深度神經網絡組合模型主要由兩部分組成.決策樹部分負責對AIS數據中靜態數據和動態數據的不同特征進行選擇,選取最優特征.深度神經網絡部分負責對最優特征進行處理,生成水深預測數據.該模型的流程見圖4. 圖4 DT-NN組合結構流程 對于整個AIS數據集的水深分類可以利用決策樹中的ID3算法,首先計算整個AIS數據訓練集的信息熵,然后計算訓練集按照不同的屬性進行劃分的期望信息,當期望信息最小的時候的信息增益最大,也就是說決策樹的節點是以該屬性進行分裂的,然后依次類推即可構造特征選擇的決策樹. 計算每個特征的信息增益之后,可以選擇信息增益最大的前k個特征組成的集合(X1,X2,…,Xk)作為DT-NN模型選擇的最優特征集合.經過預處理后的AIS的特征包含了船舶靜態特征(a1,a2,…,an)和船舶動態特征(b1,b2,…,bn).其中,船舶靜態特征包含的主要是船舶的靜態信息,如船舶吃水、船長、船寬等數據,船舶動態特征包含船舶運動過程中時刻變化的數據,如船舶對地航速、轉向率等數據.通過對船舶靜態特征和動態特征進行信息增益的計算后,設置最優特征參數個數為看,此時對船舶的靜態特征和動態特征信息增益進行從大到小的排序,選擇前k個船舶特征(c1,c2,…,ck)構成最優特征組合.選取最優特征之后,通過深度神經網絡模型對水深進行預測輸出. 實驗中選擇中國南通港和防城港兩個航道的AIS數據進行水深預測,通過水深數據獲取和AIS數據整合,得到兩個航道的水深和AIS數據結合的數據作為本次實驗的數據來源, AIS大數據總量為105萬條,70%的數據作為訓練數據集,30%的數據作為驗證數據集. 通過Spark Mllib的機器學習庫對兩個航道的AIS數據構造深度神經網絡模型,其中,輸入參數為AIS數據中的動態數據部分的6個船舶屬性,包括船長、船寬、航速、吃水、轉向率、船首向六個參數.通過深度神經網絡設置輸入參數和輸出參數,對深度神經網絡的結構參數進行調整,分別記錄在不同的結構參數下水深數據預測的準確性.表2為不同的網絡結構參數下,深度神經網絡模型對水深數據預測實驗結果. 表2 深度神經網絡模型實驗結果 通過Spark Mllib的機器學習庫對兩個水域的數據構造DT-NN模型,借助決策樹分類算法對水域水深數據進行分類.因此,在實驗之前需要對水域的水深數據進行人為劃分,表3為水深數據分類表,將水域內的水深數據共分為15類.在對數據進行訓練之前,將訓練的標簽數據進行標號.表4表示對數據進行訓練后的預測結果. 表3 水深分類 表4 DT-NN模型實驗結果 為了進一步驗證DT-NN組合模型的預測準確性和模型的預測能力,通過對預測時和實際值進行計算得到不同模型的殘差值.殘差值越小,說明模型的預測能力越強,模型對于整個訓練的數據進行了充分的挖掘.通過兩個模型殘差值得到殘差分析圖,圖5為殘差分布圖和殘差統計直方圖. 圖5 DT-NN組合模型模型殘差分析圖 由圖5可知,殘差范圍整體上在0附近波動,殘差統計直方圖基本符合正態分布,組合模型DT-NN模型的殘差在合理的范圍內. 分別對深度神經網絡模型和決策樹模型進行比較分析,之后對模型進行性能評判,選擇MSE作為衡量預測值和實際值偏差的指標,反映模型的預測能力.選擇R2衡量模型對水深數據的預測和實際水深數據擬合程度.表5為兩個模型的性能比較分析. 表5 模型性能比較 由表5可知,模型的MSE值中,深度神經網絡比組合模型DT-NN模型要高,深度網絡的R2值比DT-NN模型要低.因此,組合模型DT-NN模型比深度神經網絡模型性能高. 通過DT-NN組合模型對南通港水深進行預測后,得到水深預測結果.南通港預測水深和實際水深的對比結果見圖6. 圖6 南通港水深預測對比圖 由圖6可知,組合模型的預測效果較好,除了個別淺灘等位置的水深數據存在誤差,總體上預測的準確度較高,能夠比較準確地反映出南通港的水深分布情況. 防城港水深預測和實際水深的對比結果見圖7.由圖7可知,經過訓練后的DT-NN組合模型在防城港段的水深預測結果具有較好的準確性,預測水深和實際水深基本吻合,表明經過訓練的模型對于水深預測的準確度較高,模型的預測基本沒有出現過擬合的狀態,能夠較好地完成未知航道的水深預測. 圖7 防城港水深預測對比圖 經過兩種機器學習的模型對AIS數據進行處理后,通過水深預測結果和預測性能進行分析后可知,深度神經網絡模型的預測準確率和網絡結構參數關系較大,其中,當深度神經網絡層數為7,epoch為600時預測準確率達到最大,此時網絡性能達到最佳,此時深度神經網絡的預測準確率為90.84%,在整個網絡結構參數的范圍內,深度神經網絡的準確率隨著網絡結構的調整具有較大的提升空間. DT-NN模型對水深數據進行預測是基于劃分好的水深數據范圍,通過對AIS數據進行處理后,生成最優特征參數后結合深度神經網絡對航道水深進行預測.通過水深區域的預測實驗結果能夠得出,DT-NN對于水深預測的準確率最高為91.15%,相比深度神經網絡進行相關性分析后選擇最優特征,DT-NN通過和決策樹相結合,通過設置的k值選出最優的特征組合,在一定程度上提高了水深預測的準確率. 通過決策樹和深度神經網絡結合的方法對水深的預測能夠充分挖掘實時的AIS信息,快速構建水深預測模型.相比傳感器獲取水深數據的方法,DT-NN組合模型的方法更加實時,水深獲取范圍更廣,在船舶航行密集的區域采集到的AIS數據更多,水深預測模型更加準確. 通過電子海圖中的水深數據和AIS數據結合,通過深度神經網絡算法、DT-NN決策樹和深度神經網絡組合模型算法對航道水深數據進行預測,通過對兩種機器學習算法進行分析后,可以得出,DT-NN組合模型對于水深預測的準確率更高,能夠更高效地完成航道水深預測. 然而,目前通過深度神經網絡進行水深預測仍然存在參數過多的缺點,并且網絡結構參數對于深度神經網絡預測能力具有較大的影響,深度神經網絡對于水深的預測方法仍然有很大的優化空間,未來的研究中,將會擴大水深數據源,優化預測方法,可以考慮深度神經網絡和結合大規模流數據進行處理,優化網絡結構參數,并且引入可視化模塊,將預測到的水深數據進行實時顯示,提高水上交通的安全性,為船舶航行提供參考.1.3 AIS數據預處理
1.4 深度神經網絡模型





1.5 DT-NN組合模型


2 實 驗
2.1 實驗數據
2.2 實驗結果



2.3 殘差分析

2.4 模型性能分析

2.5 預測結果分析


2.6 討論
3 結 束 語