彭劉亞,解惠婷,馮偉棟
(安徽省地震局 安徽省地震工程研究院,安徽 合肥 230031)
砂土液化通常是指在地震作用下,飽和砂土(或粉土) 由于有效應(yīng)力減小所導(dǎo)致的從固態(tài)到液態(tài)的變化現(xiàn)象[1]。發(fā)生較大震級(jí)的地震時(shí),砂土液化容易引起地基承載力降低,造成地面沉陷、滑坡、冒水噴砂、建筑物受損等災(zāi)害[2],如1975年海城 7.3級(jí)地震、1976年唐山7.8級(jí)地震、1978 年日本Miyagiken-okij7.4級(jí)地震、1995年日本阪神7.3級(jí)地震、2008年汶川8.0級(jí)地震[3-4]中均出現(xiàn)了大面積的砂土液化現(xiàn)象。因此,研究砂土液化的影響因素,建立合理的預(yù)測(cè)模型,快速判斷是否存在砂土液化現(xiàn)象,在一定程度上能夠有效地防治砂土液化帶來的地震地質(zhì)災(zāi)害。
傳統(tǒng)液化判別和危害程度評(píng)價(jià)方法大多是基于宏觀地震災(zāi)害現(xiàn)象資料,結(jié)合現(xiàn)場(chǎng)試驗(yàn)和室內(nèi)試驗(yàn)結(jié)果,通過總結(jié)分析和統(tǒng)計(jì)得出的一般規(guī)律[5]。如根據(jù)剪切波速法、標(biāo)準(zhǔn)貫入法及靜力觸探法等得出的結(jié)果與規(guī)范中給出的臨界值比較,從而判別是否液化。國內(nèi)外用于砂土液化的判別方法種類繁多,但由于砂土液化的影響因素多且復(fù)雜,因此每種方法都有一定的適用范圍和局限性。
砂土液化問題本質(zhì)上可視為機(jī)器學(xué)習(xí)中的分類問題。近些年來,更多的國內(nèi)外學(xué)者在理論方法和實(shí)測(cè)數(shù)據(jù)的基礎(chǔ)上,綜合多個(gè)砂土液化的影響因子,采用不同的分類算法研究砂土液化判別問題。如人工神經(jīng)網(wǎng)絡(luò)[6]、支持向量機(jī)[7]、距離判別法[8]、Fisher判別模型[9]等方法都被應(yīng)用到砂土液化預(yù)測(cè)中。但由于地震作用的隨機(jī)性、土層參數(shù)的多樣性,以及沒有足夠多的樣本數(shù)據(jù)支撐,使得這些算法均存在一定程度上的局限性,如容易陷入局部極小值,或存在過擬合現(xiàn)象。筆者整理了唐山大地震的砂土液化現(xiàn)場(chǎng)資料,選取了其中的72個(gè)場(chǎng)地的實(shí)際數(shù)據(jù),采用機(jī)器學(xué)習(xí)中的隨機(jī)森林分類算法,并通過數(shù)據(jù)留出集與交叉驗(yàn)證的測(cè)試方式降低模型的過度學(xué)習(xí)能力,防止出現(xiàn)過擬合現(xiàn)象,一定程度上提高了模型預(yù)測(cè)的穩(wěn)定性。
隨機(jī)森林算法是機(jī)器學(xué)習(xí)當(dāng)中比較常用的分類算法,包含多個(gè)決策樹的分類器,并且其輸出的類別是由個(gè)別樹輸出的類別的眾數(shù)而定[10]。因此,有必要簡(jiǎn)單地介紹下決策樹的分類算法和原理。
決策樹(decision tree,DT)是一種常用的分類方法,它通過將大量無規(guī)則無次序的數(shù)據(jù)集進(jìn)行分類、聚類和預(yù)測(cè)建模,構(gòu)造樹狀結(jié)構(gòu)的分類規(guī)則,從而對(duì)樣本進(jìn)行分類或預(yù)測(cè)[11]。圖1為單個(gè)決策樹二分類模型的示意,圖中最頂端的為根節(jié)點(diǎn),包含了所有樣本數(shù)據(jù),根據(jù)該根節(jié)點(diǎn)的某一個(gè)屬性將數(shù)據(jù)分成中間層的子節(jié)點(diǎn);以此類推,自上而下,從而劃分?jǐn)?shù)據(jù)的所屬類別,即葉子節(jié)點(diǎn)。因此,構(gòu)造決策樹的關(guān)鍵在于在當(dāng)前狀態(tài)下選取合適的屬性作為劃分?jǐn)?shù)據(jù)類別的節(jié)點(diǎn),按照一定的目標(biāo)函數(shù)(如信息熵、Gini系數(shù)等)下降最快的方式到達(dá)葉子結(jié)點(diǎn),從而對(duì)數(shù)據(jù)類別進(jìn)行最終判斷。
圖1 決策樹分類模型示意Fig.1 Decision tree classification model sketch
常見的決策樹算法主要有基于信息熵的ID3算法、基于信息增益比的C4.5算法和基于Gini系數(shù)的CART算法。其中C4.5算法在ID3算法基礎(chǔ)之上,用信息增益比替代了信息增益,改善了ID3算法由于信息增益在可取數(shù)值數(shù)目較多的屬性上存在的傾向性問題。
本文采用的是二叉樹CART算法,該算法主要以Gini系數(shù)作為分裂標(biāo)準(zhǔn),選擇具有最小Gini系數(shù)的屬性作為節(jié)點(diǎn),節(jié)點(diǎn)處的Gini系數(shù)值越小,說明該節(jié)點(diǎn)數(shù)據(jù)類別越少,數(shù)據(jù)集不純度越低,越有利于劃分類別。因此構(gòu)造CART決策樹的過程實(shí)質(zhì)上就是層層遞歸直到某節(jié)點(diǎn)Gini系數(shù)最低,即認(rèn)為該節(jié)點(diǎn)可視為葉子節(jié)點(diǎn),從而對(duì)樣本數(shù)據(jù)集進(jìn)行分類。
假設(shè)數(shù)據(jù)集D(X,Y)包含m個(gè)類別的樣本,樣本數(shù)量為K,則數(shù)據(jù)集D的Gini系數(shù)值定義為[10]:
(1)
式中,p(i|t)表示節(jié)點(diǎn)t處當(dāng)前數(shù)據(jù)集中類別i的概率。Gini值直觀地反映了從數(shù)據(jù)集D中隨機(jī)抽取兩個(gè)樣本,其類別標(biāo)記不一致的概率,因此,該值越小,則表示數(shù)據(jù)集D的純度越高。而CART算法將數(shù)據(jù)集D按照某個(gè)特征A劃分為兩個(gè)子數(shù)據(jù)集D1和D2,則此時(shí)在特征A條件下,數(shù)據(jù)集D的Gini系數(shù)值定義如下:
(2)
CART算法根據(jù)某個(gè)特征取值下當(dāng)前數(shù)據(jù)集的最小Gini系數(shù)將數(shù)據(jù)集劃分,生成左右兩個(gè)子節(jié)點(diǎn),再分別對(duì)兩個(gè)子節(jié)點(diǎn)當(dāng)中的數(shù)據(jù)集執(zhí)行相同操作,層層遞歸,直至葉子節(jié)點(diǎn)。不難發(fā)現(xiàn),當(dāng)決策樹的高度無限制地生長(zhǎng)時(shí),必然能使得Gini系數(shù)為零,此時(shí)一定可以將訓(xùn)練數(shù)據(jù)當(dāng)中的每個(gè)樣本都能精確地劃分類別。因此,不可避免地帶來模型的過擬合問題,使得模型的預(yù)測(cè)能力下降或不穩(wěn)定。
隨機(jī)森林(random forest,RF)是在決策樹分類器的基礎(chǔ)之上,通過隨機(jī)有放回采樣對(duì)數(shù)據(jù)集當(dāng)中的樣本以及特征進(jìn)行選取,構(gòu)造多個(gè)決策樹,并由各決策樹分類結(jié)果的眾數(shù)決定最終的類別劃分,從而降低單個(gè)決策樹的過擬合風(fēng)險(xiǎn)。圖2為隨機(jī)森林的分類原理示意,主要包括了以下幾個(gè)步驟[10]:
圖2 隨機(jī)森林分類模型示意Fig.2 Random forest classification model sketch
1)從包含M個(gè)特征的總樣本數(shù)據(jù)集D中采用有放回采樣隨機(jī)選取k個(gè)子訓(xùn)練集(D1,D2,…,Dk),用于構(gòu)造k個(gè)決策樹。
2)對(duì)每個(gè)決策樹的每個(gè)節(jié)點(diǎn),隨機(jī)選取n個(gè)特征(n應(yīng)小于M)計(jì)算當(dāng)前的Gini系數(shù)作為分裂子節(jié)點(diǎn)的優(yōu)選特征,讓決策樹完整生長(zhǎng),直至Gini系數(shù)最小到達(dá)葉子節(jié)點(diǎn)。
3)遍歷所有決策樹,得到每個(gè)決策樹的分類結(jié)果,采取眾數(shù)投票結(jié)果作為最終的分類模型,對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)。
2.2.1 數(shù)據(jù)標(biāo)準(zhǔn)化
由于各指標(biāo)之間的量級(jí)差異比較明顯,因此需要進(jìn)行標(biāo)準(zhǔn)化處理以消除量綱的影響。本次采用式(3)所示的z-score法進(jìn)行標(biāo)準(zhǔn)化:
(3)
式中:μ和σ分別為樣本均值和標(biāo)準(zhǔn)差。標(biāo)準(zhǔn)化之后的數(shù)據(jù)無量綱,均值為0,標(biāo)準(zhǔn)差為1。
2.2.2 數(shù)據(jù)集劃分
為了提高模型的泛化能力,避免由于樣本量過少帶來的過擬合現(xiàn)象,本次將72個(gè)樣本劃分成訓(xùn)練樣本集(64個(gè)樣本,見表1,由于篇幅限制,這里僅給出部分?jǐn)?shù)據(jù))和測(cè)試樣本集(8個(gè)樣本,見表2)。其中測(cè)試樣本集不參與決策樹和隨機(jī)森林的學(xué)習(xí)訓(xùn)練過程,僅作為未知樣本驗(yàn)證模型的預(yù)測(cè)能力。
2.2.3 學(xué)習(xí)過程
對(duì)于隨機(jī)森林算法中的單棵決策樹來說,對(duì)當(dāng)前數(shù)據(jù)集選擇某一種屬性特征計(jì)算Gini系數(shù)作為分裂子節(jié)點(diǎn)的優(yōu)選特征。圖3所示為砂土液化預(yù)測(cè)單棵6層決策樹模型。首先,選定歸一化后的標(biāo)準(zhǔn)貫入擊數(shù)N63.5(x6)作為根節(jié)點(diǎn),以x6≤-0.054為判定條件計(jì)算Gini系數(shù)為 0.451,此時(shí)64個(gè)樣本被劃分為兩類,分別為22個(gè)和42個(gè)。以此為根節(jié)點(diǎn),生長(zhǎng)決策樹,產(chǎn)生第二層子節(jié)點(diǎn),其中左節(jié)點(diǎn)以x4≤0.129為判定條件,選擇地下水位dw為優(yōu)選特征,樣本分別為5個(gè)和35個(gè),而右節(jié)點(diǎn)選擇以x7≤1.473為判定條件,選擇剪應(yīng)力與有效上覆應(yīng)力比為優(yōu)選特征,樣本分別為17個(gè)和7個(gè);兩個(gè)子節(jié)點(diǎn)的Gini系數(shù)分別為0.219和0.413。相對(duì)于根節(jié)點(diǎn)的數(shù)據(jù)集而言,不純度降低,說明決策樹的生長(zhǎng)方向是有利于類型劃分的。以此類推,直到數(shù)據(jù)集的Gini系數(shù)為零,決策樹終止生長(zhǎng)。不難發(fā)現(xiàn),隨著決策樹的高度增加,當(dāng)前數(shù)據(jù)集的樣本量也在減少,因此需要注意的是:當(dāng)不對(duì)決策樹的高度和當(dāng)前節(jié)點(diǎn)的最小樣本量加以控制時(shí),決策樹的規(guī)模和計(jì)算量會(huì)相應(yīng)地增加,雖然最終能夠?qū)γ恳粋€(gè)樣本進(jìn)行準(zhǔn)確地類型劃分,但不可避免地增加了過擬合的風(fēng)險(xiǎn)。因此有必要抑制決策樹的生長(zhǎng),對(duì)模型進(jìn)行適當(dāng)?shù)膬?yōu)化。而隨機(jī)森林算法在決策樹的基礎(chǔ)上增加了多個(gè)分類器模型,避免了單棵決策樹由于分類過度帶來的過擬合風(fēng)險(xiǎn)。
表1 砂土液化訓(xùn)練樣本集
表2 砂土液化測(cè)試樣本集
圖3 決策樹分類過程示意Fig.3 Decision tree classification process
2.3.1 剪枝處理
雖然隨機(jī)森林相比于單個(gè)決策樹分類器來說,通過眾數(shù)投票的方式在一定程度上能夠避免過擬合問題,但如果隨機(jī)森林當(dāng)中的每個(gè)決策樹不加以控制和修剪,必然會(huì)帶來總體的預(yù)測(cè)誤差及不穩(wěn)定性。因此,適當(dāng)?shù)貙?duì)決策樹的生長(zhǎng)加以控制,能夠提高最終模型的預(yù)測(cè)穩(wěn)定性。本次采取預(yù)剪枝方法控制決策樹的高度和最大葉子節(jié)點(diǎn)數(shù)[11]來控制決策樹的生長(zhǎng),防止出現(xiàn)過擬合現(xiàn)象。
2.3.2 交叉驗(yàn)證
在樣本量不足夠多的情況下,如果將訓(xùn)練集全部參與學(xué)習(xí)訓(xùn)練,必然導(dǎo)致學(xué)習(xí)能力過剩和模型的過擬合。因此,有必要使用留出集的方式從訓(xùn)練集當(dāng)中隨機(jī)選取部分?jǐn)?shù)據(jù)作為驗(yàn)證集,通過多次交叉驗(yàn)證的方式,讓數(shù)據(jù)的每個(gè)子集既是訓(xùn)練集,又是驗(yàn)證集,從而更好地評(píng)估模型性能和穩(wěn)定性。圖4為五輪交叉驗(yàn)證的示意。
圖4 交叉驗(yàn)證示意Fig.4 Cross-validation sketch
設(shè)置隨機(jī)森林模型中決策樹的個(gè)數(shù)范圍為10~50,決策樹的最大高度范圍為1~10,利用網(wǎng)格搜索和10次交叉驗(yàn)證法,獲得本次砂土液化預(yù)測(cè)模型的最優(yōu)參數(shù),其中,決策樹的個(gè)數(shù)為20,最大高度為5。圖5為本次基于隨機(jī)森林模型的砂土液化的預(yù)測(cè)結(jié)果,包括了64個(gè)訓(xùn)練樣本和8個(gè)測(cè)試樣本的結(jié)果。為了更好地說明模型的優(yōu)越性,本次也加入了《建筑抗震設(shè)計(jì)規(guī)范 GB50011-2010》(2016年版)中基于標(biāo)貫試驗(yàn)的判別法[12]進(jìn)行對(duì)比。
圖5 模型訓(xùn)練(a)及預(yù)測(cè)結(jié)果(b)Fig.5 Training results(a) and test results(b) of prediction model
圖5中空心圓表示實(shí)測(cè)液化結(jié)果,實(shí)心圓表示不同方法的預(yù)測(cè)結(jié)果。不難發(fā)現(xiàn),抗震規(guī)范中的基于標(biāo)貫試驗(yàn)的計(jì)算公式誤判率較高,在訓(xùn)練樣本上有13個(gè)樣本誤判,誤判率為20.3%,在預(yù)測(cè)樣本上有2個(gè)樣本誤判,誤判率為25%。而決策樹和隨機(jī)森林模型的訓(xùn)練結(jié)果和預(yù)測(cè)結(jié)果明顯高于規(guī)范公式的計(jì)算結(jié)果,在預(yù)測(cè)樣本上均沒有出現(xiàn)誤判。但單個(gè)決策樹模型在訓(xùn)練樣本上有5個(gè)樣本誤判,誤判率為7.8%,穩(wěn)定性明顯不如隨機(jī)森林預(yù)測(cè)模型。
本文選取了8個(gè)影響砂土液化的判別指標(biāo),以唐山大地震中72個(gè)場(chǎng)點(diǎn)液化情況的實(shí)測(cè)樣本為例,探討了機(jī)器學(xué)習(xí)中的決策樹和隨機(jī)森林模型在砂土液化預(yù)測(cè)中的可行性。研究結(jié)果表明,與抗震規(guī)范中的標(biāo)貫試驗(yàn)判別公式相比,決策樹和隨機(jī)森林預(yù)測(cè)模型的成功率有了明顯的提高,尤其是隨機(jī)森林預(yù)測(cè)模型,在多個(gè)決策樹分類的基礎(chǔ)上降低了樣本學(xué)習(xí)的過擬合風(fēng)險(xiǎn),提高了模型的預(yù)測(cè)穩(wěn)定性,可以在今后砂土液化判別工作中予以推廣。