王 杰,劉毅聰,劉祚秋
(中山大學(xué)航空航天學(xué)院應(yīng)用力學(xué)與工程系 廣州510006)
諸多因素綜合影響下的邊坡,具有復(fù)雜的變形破壞機(jī)理和模式。影響因素的顯著特點(diǎn)是數(shù)據(jù)的多變性、不完備性以及參數(shù)的不確定性。目前,分析邊坡變形破壞機(jī)理及評(píng)價(jià)其穩(wěn)定性的方法主要為極限平衡和數(shù)值分析方法。這些精確的分析方法在很多情況下是不適宜的。一方面,大多數(shù)的工程只需對(duì)邊坡進(jìn)行廣義的危險(xiǎn)性識(shí)別,對(duì)邊坡作出快速準(zhǔn)確的判斷;另一方面,由于參數(shù)的不確定性和不完備性,“精確”分析方法在表達(dá)邊坡系統(tǒng)各組成部分之間的非線性關(guān)系上有局限性。因此,找到一種合適的方法進(jìn)行邊坡穩(wěn)定預(yù)測(cè)具有重大意義[1]。
胡杰等人[2]建立基于信息增益率作為切分特征選取的參數(shù),且進(jìn)行剪枝操作的C4.5決策樹(shù)預(yù)測(cè)土質(zhì)邊坡的穩(wěn)定性,該研究的訓(xùn)練樣本數(shù)為70,測(cè)試樣本數(shù)為10,得到的模型在測(cè)試集上的正確率為90%,具有較好的預(yù)測(cè)性能;胡添翼等人[3]建立隨機(jī)森林模型預(yù)測(cè)邊坡穩(wěn)定性,該研究在樣本劃分上分別采用隨機(jī)劃分與交叉驗(yàn)證的方法,得到的模型在測(cè)試集上具有較好的預(yù)測(cè)性能,而且通過(guò)改變基學(xué)習(xí)器數(shù)進(jìn)行的實(shí)驗(yàn),可得出當(dāng)基學(xué)習(xí)器的數(shù)目為500時(shí),模型在該研究的數(shù)據(jù)中具有較好的準(zhǔn)確性;姚瑋等人[4]利用30個(gè)訓(xùn)練樣本建立隨機(jī)森林模型預(yù)測(cè)邊坡穩(wěn)定性,用另外12個(gè)樣本測(cè)試測(cè)試模型的性能,該研究的隨機(jī)森林基學(xué)習(xí)器數(shù)設(shè)為500。
綜上所述,機(jī)器學(xué)習(xí)算法具有較強(qiáng)的非線性動(dòng)態(tài)處理能力。無(wú)需知道數(shù)據(jù)的分布形式和變量之間的關(guān)系,可實(shí)現(xiàn)高度非線性映射關(guān)系。其較強(qiáng)的學(xué)習(xí)、記憶、存儲(chǔ)、計(jì)算能力以及容錯(cuò)特性,適用于從實(shí)例樣本中提取特征、獲得知識(shí),并可使用殘缺不全的或模糊隨機(jī)的信息進(jìn)行不確定性推理。使用的機(jī)器學(xué)習(xí)算法主要有邏輯回歸、決策樹(shù)、支持向量機(jī)、多層感知機(jī),但是評(píng)價(jià)模型性能的指標(biāo)不一。本文使用的算法有Lasso 回歸、Ridge 回歸、決策樹(shù)、XGboost,評(píng)價(jià)指標(biāo)選用均方根誤差。本文以相同的訓(xùn)練樣本和測(cè)試樣本分別建立模型,其中訓(xùn)練樣本來(lái)自文獻(xiàn)[5-7],測(cè)試樣本來(lái)源于文獻(xiàn)[8],通過(guò)比較各樣本的預(yù)測(cè)值與真實(shí)值的差距、計(jì)算預(yù)測(cè)值與真實(shí)值的均方根誤差評(píng)價(jià)各模型的預(yù)測(cè)性能,并且對(duì)各模型進(jìn)行對(duì)比分析。
機(jī)器學(xué)習(xí)(Machine Learning,ML)是一門(mén)多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計(jì)學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門(mén)學(xué)科。專(zhuān)門(mén)研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類(lèi)的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身的性能。
Lasso 回歸[9,10]與嶺回歸的損失函數(shù)以多元線性回歸損失函數(shù)為基礎(chǔ),分別引入一個(gè)L1 正則項(xiàng)與L2正則項(xiàng),是對(duì)多元線性回歸損模型的改進(jìn),Lasso 回歸與嶺回歸的損失函數(shù)分別如式⑴與⑵所示:
式中:C為懲罰項(xiàng)系數(shù)。
決策樹(shù)是基于信息論的一種機(jī)器學(xué)習(xí)算法,該算法關(guān)鍵的問(wèn)題是對(duì)切分特征及其切分點(diǎn)的選??;為了防止決策樹(shù)過(guò)擬合,可設(shè)置決策樹(shù)停止分裂的條件以及對(duì)決策樹(shù)進(jìn)行剪枝。
決策樹(shù)的生成可分為以下步驟:
step1:初始時(shí),所有樣本點(diǎn)集中在根節(jié)點(diǎn),進(jìn)入step2;
step2:根據(jù)信息增益或者Gini 系數(shù),在所有的特征中選取一個(gè)特征對(duì)節(jié)點(diǎn)進(jìn)行分割,進(jìn)入step3;
step3:由父節(jié)點(diǎn)可生成若干子節(jié)點(diǎn),對(duì)每一個(gè)子節(jié)點(diǎn)進(jìn)行判斷,如果滿足停止分裂的條件,進(jìn)入step4;否則,進(jìn)入step2,繼續(xù)分裂;
step4:葉子節(jié)點(diǎn)中比例最大的類(lèi)別作為輸出。
從決策樹(shù)生成的步驟可得,決策樹(shù)構(gòu)建的關(guān)鍵問(wèn)題是分裂特征及其分割點(diǎn)的選取與停止分裂條件的設(shè)定[11]。
Xgboost 算法是在GBDT 算法基礎(chǔ)上改進(jìn)優(yōu)化得到的算法。
Xgboost模型表達(dá)式:
式中:fk(x)為第k 個(gè)CART(Classification and Regression Trees,分類(lèi)回歸樹(shù))損失函數(shù):
式中:第一部分為預(yù)測(cè)值與真實(shí)值的損失,第二部分為fk的正則項(xiàng),該項(xiàng)用于懲罰fk的復(fù)雜程度。
第t輪迭代后的損失函數(shù):
式中:常數(shù)項(xiàng)為前(t-1)個(gè)CART的復(fù)雜度。
通過(guò)優(yōu)化損失函數(shù),可得葉子節(jié)點(diǎn)的最佳值與對(duì)應(yīng)的損失函數(shù)的值:
CART節(jié)點(diǎn)的生成:
式中:Gain 為父節(jié)點(diǎn)的obj*減去左右兩個(gè)子節(jié)點(diǎn)的obj*之和,即節(jié)點(diǎn)切分后obj*的下降值,Gain 值越大,且大于設(shè)定的臨界值γ,則切分的效果越好。
邊坡穩(wěn)定的影響因素主要有重度、內(nèi)聚力、摩擦角、邊坡角、邊坡高度、孔隙壓力比、地下水等,本文選用的特征有重度、內(nèi)聚力、摩擦角、邊坡角、邊坡高度、孔隙壓力比,預(yù)測(cè)邊坡的安全系數(shù)。本研究在建模之前對(duì)特征的分布與特征與目標(biāo)的關(guān)系進(jìn)行分析,然后以106 個(gè)邊坡實(shí)例樣本為訓(xùn)練樣本,以29 個(gè)邊坡實(shí)例樣本為測(cè)試樣本,分別建立Lasso回歸模型、Ridge回歸模型、決策樹(shù)模型、Xgboost模型預(yù)測(cè)邊坡的安全系數(shù)。
Lasso回歸模型在損失函數(shù)中引入L1正則項(xiàng)并利用梯度下降法優(yōu)化損失函數(shù),所以要對(duì)量綱有較大差別的特征取值進(jìn)行標(biāo)準(zhǔn)化處理[10]。
在建立Lasso 回歸模型過(guò)程中,需要對(duì)特征取值進(jìn)行處理,然后選取合適的模型參數(shù):
2.1.1 缺失值處理
特征“孔隙壓力比”的缺失值比例為0.03,缺失值的數(shù)量較少,可以用“孔隙壓力比”的均值填充缺失值。
2.1.2 標(biāo)準(zhǔn)化
由于各特征取值的量綱有較大差別,需要對(duì)特征進(jìn)行標(biāo)準(zhǔn)化,本研究使用z-score標(biāo)準(zhǔn)化,公式如下:
式中:x為原值;x'為經(jīng)過(guò)變換后的取值;μ為特征取值的均值;σ 為特征取值的標(biāo)準(zhǔn)差。
經(jīng)過(guò)z-score 標(biāo)準(zhǔn)化后,特征的分布變?yōu)橐? 為均值,以1為標(biāo)準(zhǔn)差。
2.1.3 選取正則項(xiàng)系數(shù)
通過(guò)正則項(xiàng)系數(shù)與均方根誤差的關(guān)系曲線,選取均方根誤差最小對(duì)應(yīng)的正則項(xiàng)系數(shù),如圖1所示。根據(jù)正則項(xiàng)系數(shù)與均方根誤差的關(guān)系曲線,選取正則項(xiàng)系數(shù)為0.02。
圖1 懲罰系數(shù)與均方根誤差的關(guān)系Fig.1 Relationship between Penalty Coefficient and Root Mean Square Error
Ridge 回歸模型在多元線性回歸模型的基礎(chǔ)上在損失函數(shù)中引入L2 正則項(xiàng),Ridge 回歸可通過(guò)直接法或者梯度下降法求解參數(shù)[12]。
在建立Ridge 回歸模型過(guò)程中,需要對(duì)特征取值進(jìn)行處理,然后選取合適的參數(shù):
⑴缺失值處理:特征“孔隙壓力比”的缺失值比例為0.03,缺失值的數(shù)量較少,可以用“孔隙壓力比”的均值填充缺失值;
⑵標(biāo)準(zhǔn)化:由于各特征取值的量綱有較大差別,需要對(duì)特征進(jìn)行標(biāo)準(zhǔn)化,本文使用z-score標(biāo)準(zhǔn)化;
⑶選取正則項(xiàng)系數(shù):通過(guò)正則項(xiàng)系數(shù)與均方根誤差的關(guān)系曲線,選取均方根誤差最小對(duì)應(yīng)的正則項(xiàng)系數(shù),根據(jù)正則項(xiàng)系數(shù)與均方根誤差的關(guān)系曲線,選取正則項(xiàng)系數(shù)為10.0。
本文選用決策樹(shù)中的回歸樹(shù)預(yù)測(cè)邊坡安全系數(shù);決策樹(shù)模型是非線性模型,形式為二叉樹(shù);決策樹(shù)模型是概率模型,關(guān)注的是特征的分布和特征與目標(biāo)之間的條件概率,不需要通過(guò)優(yōu)化損失函數(shù)進(jìn)行參數(shù)估計(jì),所以可不對(duì)數(shù)值型取值進(jìn)行標(biāo)準(zhǔn)化處理;決策樹(shù)模型建立后,可生成直觀的決策過(guò)程[13]。
在建模過(guò)程中,首先對(duì)特征缺失值進(jìn)行處理,然后選取合適的模型參數(shù)。
⑴缺失值處理:特征“孔隙壓力比”的缺失值比例為0.03,缺失值的數(shù)量較少,可以用“孔隙壓力比”的均值填充缺失值;
⑵參數(shù)選取:決策樹(shù)節(jié)點(diǎn)質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn):回歸樹(shù)中節(jié)點(diǎn)質(zhì)量以誤差評(píng)價(jià),本研究中節(jié)點(diǎn)質(zhì)量以均方差表示;
決策樹(shù)最大層數(shù)與葉子節(jié)點(diǎn)最小樣本數(shù):決策樹(shù)的最大層數(shù)與葉子節(jié)點(diǎn)最小樣本數(shù)為決策樹(shù)生長(zhǎng)停止的條件,可降低決策樹(shù)模型過(guò)擬合的風(fēng)險(xiǎn),本文中決策樹(shù)最大層數(shù)設(shè)為5,葉子節(jié)點(diǎn)最小樣本數(shù)設(shè)為1。
在本文中,Xgboost 模型以回歸樹(shù)為基學(xué)習(xí)器,通過(guò)不斷迭代生成集成模型,Xgboost 模型可以根據(jù)特征被用于決策樹(shù)生長(zhǎng)的次數(shù)來(lái)計(jì)算特征重要性,特征被用于決策樹(shù)生長(zhǎng)的次數(shù)越多,則特征越重要[14]。
建立Xgboost模型:
2.4.1 選用模型參數(shù)
⑴學(xué)習(xí)率:學(xué)習(xí)率為模型迭代更新過(guò)程中的收縮步長(zhǎng),可降低模型過(guò)擬合風(fēng)險(xiǎn),一般情況下,學(xué)習(xí)率隨著模型迭代次數(shù)的增大而減小,本文的學(xué)習(xí)率選用0.005;
⑵最大層數(shù):最大層數(shù)為Xgboost 模型基學(xué)習(xí)器的生長(zhǎng)停止條件,在達(dá)到最大層數(shù)后,基學(xué)習(xí)器開(kāi)始剪枝,可降低模型的過(guò)擬合風(fēng)險(xiǎn),本文的最大層數(shù)選用8;
⑶特征與樣本的抽取比例:在訓(xùn)練基學(xué)習(xí)器時(shí),可選用訓(xùn)練樣本中部分特征與樣本進(jìn)行訓(xùn)練,可降低模型的過(guò)擬合風(fēng)險(xiǎn),本文的特征抽取比例為0.9,樣本抽取比例為1;
⑷模型在迭代過(guò)程中的誤差評(píng)價(jià)指標(biāo):誤差評(píng)價(jià)指標(biāo)選用均方根誤差。
2.4.2 迭代過(guò)程
模型在訓(xùn)練集上的誤差隨著迭代次數(shù)的增大而減小,此過(guò)程說(shuō)明模型的擬合能力隨著迭代次數(shù)的增大不斷增強(qiáng);模型在測(cè)試集上的誤差隨著迭代次數(shù)的增大先減小后增大,此過(guò)程說(shuō)明模型的泛化能力隨著迭代次數(shù)的增強(qiáng)先增大后減弱;當(dāng)模型的擬合能力增強(qiáng)而泛化能力減弱時(shí),則模型出現(xiàn)過(guò)擬合的問(wèn)題;為了解決這個(gè)問(wèn)題,可設(shè)置迭代提前停止的步數(shù),當(dāng)模型連續(xù)迭代了設(shè)置的步數(shù)而在測(cè)試集的誤差沒(méi)有下降時(shí),模型停止迭代。
模型在訓(xùn)練集與測(cè)試集的誤差隨迭代次數(shù)的變化如圖2所示。
圖2 迭代次數(shù)與均方根誤差的關(guān)系Fig.2 The Relationship between the Number of Iterations and Root Mean Square Error
當(dāng)模型迭代到1 135 步時(shí),模型在測(cè)試集上的均方根誤差達(dá)到最小值,其值為0.046。
模型對(duì)測(cè)試樣本的預(yù)測(cè)結(jié)果如表1、表2、圖3所示。Xgboost 模型可根據(jù)特征被選作切分特征的次數(shù)得到特征的重要性,如表3所示。
特征重要性的取值為特征被選為切分特征次數(shù)的相對(duì)值,從表3 可得,重要的前3 個(gè)特征為”重度”、“內(nèi)聚力”、“邊坡高度”,在實(shí)際工程中,可以重點(diǎn)關(guān)注這3個(gè)影響因素。
根據(jù)以上預(yù)測(cè)結(jié)果對(duì)各模型預(yù)測(cè)性能進(jìn)行對(duì)比分析。由于各模型選用的特征、訓(xùn)練樣本、和測(cè)試樣本都相同,所以各模型性能就代表了在邊坡安全系數(shù)預(yù)測(cè)這個(gè)問(wèn)題上各自算法的性能。
⑴Lasso 回歸模型與Ridge 回歸模型的最大誤差與均方根誤差較大,預(yù)測(cè)值曲線與真實(shí)值曲線偏離較大,超出實(shí)際工程中的可接受范圍;決策樹(shù)模型的最大誤差較大,均方根誤差在實(shí)際工程中可接受,預(yù)測(cè)值曲線與真實(shí)值曲線有一定的偏離,預(yù)測(cè)效果一般;Xgboost 模型的最大誤差與均方根誤差在實(shí)際工程可接受范圍內(nèi),預(yù)測(cè)值曲線與真實(shí)值曲線比較吻合,預(yù)測(cè)效果較好;
表1 模型預(yù)測(cè)結(jié)果Tab.1 Model Predictions
⑵Lasso回歸模型與Ridge回歸模型
Lasso回歸模型是損失函數(shù)正則項(xiàng)為L(zhǎng)1正則項(xiàng)的多元線性回歸模型,Ridge 回歸模型是損失函數(shù)正則項(xiàng)為L(zhǎng)2 正則項(xiàng)的多元線性回歸模型。在本研究中兩者的預(yù)測(cè)結(jié)果相近且預(yù)測(cè)結(jié)果的誤差較大,多元線性回歸模型對(duì)本研究數(shù)據(jù)的適應(yīng)性較差。
⑶決策樹(shù)模型與Lasso回歸模型、Ridge回歸模型
決策樹(shù)模型是非線性模型,在特征與目標(biāo)存在非線性關(guān)系的數(shù)據(jù)中比線性模型具有優(yōu)越性。在本研究中,決策樹(shù)模型的最大誤差與均方根誤差小于Lasso 回歸模型與Ridge 回歸模型,其預(yù)測(cè)值曲線與真實(shí)值曲線比較接近,具有更好的預(yù)測(cè)性能。
⑷Xgboost模型與決策樹(shù)模型
表2 模型對(duì)比分析Tab.2 Model Comparison Analysis
圖3 各模型預(yù)測(cè)值與真實(shí)值的比較Fig.3 Comparison of Predicted and True Values of Each Model
表3 特征重要性Tab.3 Significance of Characteristics
Xgboost 模型是基于決策樹(shù)的集成模型,在其迭代過(guò)程中可根據(jù)之前決策樹(shù)模型的錯(cuò)誤形成新的決策樹(shù),然后把所有決策樹(shù)通過(guò)加權(quán)求和得到集成模型,其預(yù)測(cè)結(jié)果比單個(gè)決策樹(shù)更加全面;Xgboost 模型有更多的葉子節(jié)點(diǎn),有更多的輸出值,取值比單個(gè)決策樹(shù)更精細(xì)。本文中,Xgboost 模型的最大誤差與均方根誤差小于決策樹(shù)模型,其預(yù)測(cè)值曲線與真實(shí)值曲線更加接近,具有更好的預(yù)測(cè)性能;
綜上,本文中模型的預(yù)測(cè)性能由高到低的排序?yàn)?Xgboost 模型>決策樹(shù)模型>Lasso 回歸模型>Ridge回歸模型。
本文以均方根誤差評(píng)價(jià)模型的預(yù)測(cè)性能,從而探究模型的非線性與集成性對(duì)預(yù)測(cè)性能的影響;本文中,算法預(yù)測(cè)性能從高到低的排序?yàn)?Xgboost 算法>決策樹(shù)算法>Lasso回歸算法>Ridge回歸算法,非線性集成模型對(duì)本數(shù)據(jù)樣本有較好的適應(yīng)性,Xgboost 模型較其他模型更為精確,能分析邊坡的穩(wěn)定性,有一定的工程參考和實(shí)用價(jià)值;由Xgboost 模型可得,重要的前3 個(gè)特征為”重度”、“內(nèi)聚力”、“邊坡高度”,在實(shí)際工程中,可以重點(diǎn)關(guān)注這3個(gè)影響因素。