曾 鼎,曾 勇
(1.蘭州理工大學土木工程學院,甘肅 蘭州 730050; 2.西南交通大學土木工程學院,四川 成都 610031)
泥石流是一種山區(qū)常見地質災害,具有突發(fā)性、流量大、破壞力強等特點,常常會沖毀公路、鐵路以及村鎮(zhèn),給人們帶來巨大的生命財產損失,對其進行提前預測具有極其重要的意義。然而,泥石流形成原因復雜,影響因素眾多,而且目前對其形成機理認識仍然不足,要建立一個確定性的預測模型非常困難[1]。
近年來,許多國內外學者采用不同的統(tǒng)計分析方法建立泥石流預測預報模型。BRF神經網絡、BP神經網絡、Fisher判別法、Bayes判別分析法等方法[2-4]被引入到泥石流的預測預報中,并取得了較好的效果。但這些方法都存在各自的局限性,比如,BP神經網絡容易陷入局部最優(yōu);BRF神經網絡中,如果不能獲取最優(yōu)樣本,就無法逼近最優(yōu)解[5]。將極限學習機(ELM)算法應用到泥石流預測中,該算法通過對隱含層神經元數量的設置,訓練輸入層矩陣得到輸出權重并對預測集輸出層進行分類,其特點在于可以隨機設定輸入層和隱含層之間的權值和隱含層的閾值,并且確定之后不需對其進行調整,隱含層和輸出層之間的權值不需要通過迭代調整,而是直接由Moore-Penrose廣義逆矩陣的解得來,相比于其他算法,大大地減小了運行時間和操作過程。由于隱含層權值的選擇具有隨機性,這樣雖然增強了算法的泛化能力,但是對分類的穩(wěn)定性造成了不利影響。因此,本文利用DBSCAN密度聚類算法[7]對ELM算法進行改進和優(yōu)化,并將其應用到泥石流災害的預測預報中。
DBSCAN是一種基于密度空間聚類的經典算法,它通過檢查數據集中每個點的鄰域Eps來搜索簇,當在點p的Eps鄰域中點的個數比最少點數量MinPts要大時,創(chuàng)建一個核心對象為p的簇。在聚類過程當中,它不需要提前給出聚類所形成簇的數量,并且可以發(fā)現(xiàn)任意形狀的聚類以及辨別出對數據具有干擾的點。
在DBSCAN算法中,將數據點分為核心點、邊界點和噪聲點。當某點的鄰域Eps內含有點的個數不小于最少點數量MinPts時,將該點定義為核心點;某點的鄰域Eps內含有點的個數小于最少點數量MinPts,但是落在核心點的鄰域內時,將該點定義為邊界點;既不屬于核心點又不屬于邊界點則稱為噪音點。點之間的關系分為直接密度可達、密度可達和密度相連3種。當點q在核心點p的Eps鄰域當中時,稱點q從核心點p直接密度可達;對于數據樣本點q1,q2,…,qn,有q1=q,qn=p,當所有點都有qi+1從qi直接密度可達時,q從p密度可達;當點b同時處于點p的鄰域和點q的領域時,點p和點q密度相連。
DBSCAN算法的目的就是尋找密度相連點的最大集合[8]。DBSACN通過不斷聚集核心點密度可達的對象,形成一個簇,并且不斷合并所有密度可達的簇,當沒有新的點加入時,則聚類完成。通過分析DBSCAN算法可以發(fā)現(xiàn),DBSCAN只需確定鄰域Eps和最少點數量MinPts,便可獲得良好的聚類結果。
極限學習機是2006年由Huang等人[9-10]在Moore-Penrose廣義逆矩陣的基礎上提出的一種單隱層前饋神經網絡的學習算法。該算法在訓練過程中,不需要設置調整輸入層與隱含層之間的初始權值和隱含層閾值,只需對隱含層之間的節(jié)點個數進行確定,便可通過最小二乘法計算輸出權值完成訓練。
對于任意的數據集xi=[xi1,xi2,…,xin]T∈Rn,n為向量特征空間的維數;ti=[ti1,ti2,…,tin]T∈Rm,ti為xi對應的分類,m為類別數。一個含有L個單隱含層節(jié)點,Ln,激活函數為g(x)的單隱含層前饋神經網絡可表示為:
(1)
其中,βi=[β1,β2,…,βm]T為隱含層第i個節(jié)點與輸出層之間的連接權值;wi=[w1,w2,…,wn]T為輸入層與隱含層第i個節(jié)點之間的連接權值;bi=[b1,b2,…,bn]T為隱含層第i個節(jié)點的偏置,式(1)可化簡為:
Hβ=T
(2)
其中,H為隱含層的輸出矩陣,即:
(3)
當算法中選定的函數g(x)無限可微時,輸入權值w和隱含層偏置b可以隨機初始化。輸出權值β可通過求解min ‖Hβ-T‖的最小二乘解獲得,即:
β=H*T
(4)
其中,H*為矩陣H的Moore-Penrose的廣義逆。
在極限學習機算法中,輸出權值由隨機產生的初始權值和閾值計算得到,每次的分類結果都會隨初始權值和閾值的不同而產生微小變化,當輸入層的數據類別混亂時,會對極限學習機的穩(wěn)定性和精度造成不利影響。為了提高預測結果的穩(wěn)定性和準確率,將DBSCAN聚類算法引入到極限學習機算法模型中,利用DBSCAN聚類算法的特點,在無需確定聚類結果個數的情況下,就能得到差異性良好的類別,從而提高預測模型的穩(wěn)定性和精度。
改進的ELM算法處理過程主要分為3個部分:1)對訓練集和預測集同時進行聚類,得到K個不同的子集;2)利用K個不同子集中的訓練集訓練分類器,得到K個具有差異性的分類器;3)利用不同的分類器處理對應的預測集。具體改進的ELM算法實現(xiàn)如下:
1)處理樣本數據。為了方便聚類算法的處理和排除偶然性,將訓練集和預測集數據寫成nm型矩陣,然后對數據的組序進行隨機處理。
2)選擇最恰當鄰域Eps和最少點數量MinPts。為了保證每一類分類器都具有實際意義,所選擇的鄰域Eps和最少點數量MinPts要使得聚類完成后,每一個簇類密度差異在一定范圍內,即:
P(xi+1)-P(xi)ε
(5)
其中,P(xi)=|Ne(x)|,εMax,Ne(x)為核心點的鄰域Eps所代表的范圍,Max為用戶指定的最大差異值。
3)利用DBSCAN算法進行聚類分析。當聚類結果不滿足式(5)時,重新進行步驟2,直到所得聚類結果符合需求。
4)將不同類別中的訓練集進行分類。確定每個分類器的神經元個數。神經元個數的選擇是ELM算法的核心部分,隨著神經元個數的增加,預測精度會隨之上升,但上升至一定程度之后,增加神經元數量反而會導致精度趨于不穩(wěn)定。因此,在選擇神經元個數時,需要綜合考慮算法的準確性和穩(wěn)定性。
5)利用訓練集訓練分類器。將分類所得到的K個訓練集分別進行訓練,得到K個分類器;同時,為了確保改進的ELM方法的有效性,將所有訓練集組成的一個集合進行訓練,得到一個對比分類器。
6)將不同類別的預測集放到對應的分類器中進行預測分類,統(tǒng)計分類結果;將分類結果與實際結果相比較,計算預測精度。
7)當步驟3中預測集數據形成單獨一類情況時,此時該預測集數據相當于DBSCAN算法中的噪聲點,為了保證預測結果的可行性和準確度,將所有訓練集置于同一分類器中進行訓練形成訓練集分類器,然后將單獨一類的預測集數據放于訓練集分類器來預測結果。
泥石流的預測預報必須建立在泥石流形成條件研究基礎上,泥石流形成的條件主要有地形、地質和降雨3大類[11]。通過相關研究成果的總結,選取與泥石流3大形成條件密切相關的6個因子作為輸入指標[12],分別為有效集水區(qū)面積、主溝長度、集水區(qū)平均坡度、累計雨量、峰值雨量與崩塌率。其中,累計雨量與峰值雨量可以反映研究區(qū)域的降雨條件;有效集水區(qū)面積與主溝長度和區(qū)域的地形有關,可以反映出研究區(qū)域的地形地貌條件;崩塌率和平均坡度則反映出研究區(qū)域的地質條件。
為便于與傳統(tǒng)ELM算法和其他算法進行對比,泥石流預測采用文獻[12]中的33組數據,見表1。選取23組作為訓練集,其余10組數據作為預測集。
表1 泥石流相關數據
在ELM算法當中,選取Sigmoid函數作為激活函數,輸入權值w和隱含層偏置b隨機初始化。為了獲得最佳的聚類效果,選擇區(qū)分度最高的集水區(qū)平均坡度和主溝長度作為聚類依據,為了保證獲得正常數目的類別數并且區(qū)分出噪聲點,設置最少點數量MinPts=2;分別對鄰域Eps=1、Eps=1.5、Eps=2和Eps=2.5的情況進行聚類,結果分別如圖1~圖4所示。
圖1 鄰域為1時的聚類
圖2 鄰域為1.5時的聚類
圖3 鄰域為2時的聚類
圖4 鄰域為2.5時的聚類
從圖1~圖4分析可得,當Eps增大時,類簇數和噪聲點逐漸減少。Eps取1時,有5個類簇,9個噪聲點存在;Eps取1.5時,有6個類簇,3個噪聲點存在;Eps取2時,有2個類簇,3個噪聲點存在;Eps取2.5時,有2個類簇,2個噪聲點存在。隨著鄰域的增大,類簇數先增大后減小至不變,當類簇數在一定鄰域范圍內保持2類不變時,說明根據數據特征將數據分為2類,對應為泥石流與非泥石流,此時聚類良好;從圖1~圖4中可看出,當Eps增加,噪聲點慢慢減少,說明隨著Eps的增加,數據的特征逐漸消失,但過多的噪聲點對訓練器分類產生干擾性大,所以,選擇Eps=2的聚類結果時,聚類良好且保持原有的特征。
將上述聚類所得結果類別分別訓練,得到2個ELM分類器。分析2個不同類別中的數據,將預測集分別代入各自對應的分類器中進行判別分類。對于剩余的3個噪聲點,將訓練集中的數據進行統(tǒng)一訓練得到訓練集分類器,并將噪聲點數據代入訓練集分類器中進行類別判定,3個ELM分類器所得結果與實際結果進行比較,結果如圖5所示。
圖5 ELM處理結果
對相同的訓練集和預測集采取傳統(tǒng)的ELM分類方法,與本文方法進行對比實驗,為比較改進的ELM算法與傳統(tǒng)ELM算法的差異,將每個分類器的隱含層神經元個數都設置為200;為排除實驗偶然性,對相同數據進行50次實驗,統(tǒng)計實驗平均精度,如圖6所示。由圖6可知,改進的ELM算法的精度和穩(wěn)定性相比于傳統(tǒng)的ELM算法得到了大幅提升。
圖6 改進的ELM與傳統(tǒng)ELM實驗精度對比
為分析本文方法對于泥石流發(fā)生預測的普適性,對相同數據集建立BP神經網絡模型并與文獻[12]的Fisher判別模型的精度進行對比,所得結果如表2所示。從表2可以看出,改進的ELM方法的預測準確率達到91.6%,對泥石流的發(fā)生預測精度有了較大的提升。
表2 不同方法的預測精度
本文將DBSCAN引入到極限學習機中,綜合泥石流發(fā)生影響因子提出了一種基于改進極限學習機的泥石流發(fā)生預測方法。通過分析與驗證,可以得出以下結論:
1)在極限學習機訓練過程中,利用DBSCAN算法對ELM訓練集進行聚類處理,將所得類簇分別訓練得到不同的ELM分類器,提高了算法的分類準確率。
2)通過分析聚類結果,選用合理的鄰域值,提高了算法的穩(wěn)定性。
3)與傳統(tǒng)ELM方法相比,改進的ELM算法的穩(wěn)定性和平均精度均有大幅度提升;對比BP模型與Fisher判別法,本文方法的預測準確率有明顯提高,對預測樣本的平均預測精度可達91.6%,對泥石流發(fā)生的預測具有良好的應用前景。