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