張化進,吳順川,2,張中信,孫俊龍,韓龍強
(1.昆明理工大學(xué)國土資源工程學(xué)院,云南 昆明 650093;2.自然資源部高原山地地質(zhì)災(zāi)害預(yù)報預(yù)警與生態(tài)保護修復(fù)重點實驗室,云南 昆明 650093)
邊坡災(zāi)害作為全球3 大地質(zhì)災(zāi)害(地震、洪水、滑坡泥石流)之一,嚴重威脅人類生命財產(chǎn)安全??焖佟蚀_、可靠的邊坡穩(wěn)定性評價是邊坡工程設(shè)計與處治的先決條件,一直是邊坡工程關(guān)注的焦點問題。目前評價邊坡穩(wěn)定性的主要方法有極限平衡法、數(shù)值分析法、穩(wěn)定性圖表法以及監(jiān)測預(yù)警法等[1],但各類方法均存在一定局限性。譬如極限平衡法難以確定臨界滑移面;數(shù)值分析法的可靠性極度依托于巖土體強度參數(shù)與本構(gòu)模型的確定;圖表法的主觀性較強;監(jiān)測預(yù)警法數(shù)據(jù)量龐大易導(dǎo)致分析結(jié)果缺乏時效性等。
隨著大數(shù)據(jù)中心、人工智能等新型基礎(chǔ)設(shè)施建設(shè)的提出與倡導(dǎo),智能決策系統(tǒng)為解決多變量、非線性復(fù)雜問題提供方法,并獲得廣泛認可。人工智能方法如K-近鄰(KNN)、支持向量機(SVM)、人工神經(jīng)網(wǎng)絡(luò)(ANN)、決策樹(DT)等已在邊坡穩(wěn)定性研究領(lǐng)域廣泛應(yīng)用,結(jié)合遺傳算法、粒子群算法等優(yōu)化方法,形成一系列以數(shù)據(jù)為基礎(chǔ)、算法為主導(dǎo)的邊坡穩(wěn)定性智能分析體系。張豪等[2]基于KNN模型,構(gòu)建自適應(yīng)人工免疫算法提高模型預(yù)測準確性;Rukhaiyar等[3]結(jié)合粒子群算法與ANN,構(gòu)建出的優(yōu)化模型較常規(guī)模型取得更好的預(yù)測效果;Hoang等[4]運用螢火蟲算法對最小二乘支持向量分類算法進行超參數(shù)優(yōu)化,構(gòu)建的機器學(xué)習(xí)(ML)模型較元模型精度提高4%。截至目前,大多數(shù)學(xué)者致力于改進某類ML算法提升模型性能,但不同ML算法適用于不同的問題與數(shù)據(jù)集。針對某一具體任務(wù),要構(gòu)建高質(zhì)量的ML模型,必須進行模型選擇和超參數(shù)調(diào)優(yōu),這些工作耗費大量時間與精力,且其效果極度依托于豐富的數(shù)字科學(xué)經(jīng)驗,而這是多數(shù)巖土工作人員不具備的技能,因此目前需要1 種更簡單有效的手段預(yù)測邊坡穩(wěn)定性。
選擇不適合數(shù)據(jù)集的模型與超參數(shù)容易導(dǎo)致模型出現(xiàn)過擬合或欠擬合現(xiàn)象,但現(xiàn)有算法種類甚多,每種算法在泛化能力和復(fù)雜度等方面各有優(yōu)缺點[5]。因此,如何選擇合適的模型及其超參數(shù)一直是算法工程師迫切希望解決的關(guān)鍵科學(xué)與技術(shù)問題。為解決這一難題,自動機器學(xué)習(xí)[6](automatic machine learning,AutoML)方法應(yīng)運而生,AutoML通過一些技術(shù)和方法使盡可能多的工作(如模型選擇與超參數(shù)優(yōu)化等)被自動化完成,不需要人工干預(yù)和過多的ML領(lǐng)域?qū)I(yè)技能與知識,也能構(gòu)建出比傳統(tǒng)機器學(xué)習(xí)更優(yōu)越的預(yù)測模型,有效提高ML的通用性和高效性。AutoML已成為人工智能領(lǐng)域最熱門的研究課題之一,在醫(yī)療保健與目標檢測等領(lǐng)域已做出一定貢獻,但在邊坡穩(wěn)定性評價等巖土工程行業(yè)鮮有報道[7]。
截至目前,AutoML中仍沒有1 種框架始終優(yōu)于其它自動化框架,要么適用于某些結(jié)構(gòu),要么適用于某類任務(wù)或數(shù)據(jù)[8]。因此,針對邊坡穩(wěn)定性AutoML預(yù)測問題,亟需分析與評價各種AutoML框架在穩(wěn)定性預(yù)測任務(wù)上的有效性及適用性。本文在探討AutoML現(xiàn)狀和特性的基礎(chǔ)上,以收集的422 組邊坡穩(wěn)定性狀態(tài)數(shù)據(jù)為例,采用5 種主流AutoML框架和6 種傳統(tǒng)ML方法構(gòu)建邊坡穩(wěn)定性預(yù)測模型,通過對比分析各模型的預(yù)測性能與速度等性質(zhì),檢驗基于AutoML的邊坡穩(wěn)定性預(yù)測模型的泛化能力和可行性,以期為邊坡穩(wěn)定性預(yù)測提供1種更為便捷有效的預(yù)測方法。
AutoML[9]不像傳統(tǒng)ML在數(shù)據(jù)集中擬合1 個模型那樣簡單,其利用數(shù)據(jù)集自身性質(zhì)自動化實現(xiàn)特征工程、算法選擇、超參數(shù)優(yōu)化、模型評估及迭代建模等步驟,從而實現(xiàn)所有步驟的端到端過程。本文選擇對MLBox、TPOT、H2O、Auto_ml及AutoKeras 5 種主流的開源AutoML框架進行分析,選擇上述框架的原因包括以下2點:一是可提供Python API,可在Windows系統(tǒng)下免費使用;二是不需要先驗數(shù)字科學(xué)知識和指定模型及超參數(shù)搜索空間,輸入數(shù)據(jù)集可自動完成模型訓(xùn)練。AutoML里包含許多高級算法,不需要深入探索或編譯,可自動搜索性能最好的預(yù)測模型及其超參數(shù)。一般工作流程為:根據(jù)訓(xùn)練數(shù)據(jù)特征,系統(tǒng)自動配置模型結(jié)構(gòu)與超參數(shù),并評估預(yù)測性能不斷迭代優(yōu)化,以選出預(yù)測效果最好的模型[8]。通用AutoML框架流程如圖1所示。
圖1 AutoML框架流程Fig.1 AutoML framework flow
MLBox是1 個基于Python 的分布式自動機器學(xué)習(xí)框架,主要包括數(shù)據(jù)預(yù)處理、模型優(yōu)化與預(yù)測3 個子包[10]。MLBox框架運行速度快,代碼量小,穩(wěn)定性高,但仍處于開發(fā)階段,隨時可能發(fā)展變動,只能進行基本的特征工程,漂移識別存在移除有用變量的風(fēng)險[11]。
TPOT全稱為樹形傳遞優(yōu)化技術(shù),是Olson 等[12]開發(fā)的基于樹的管道優(yōu)化工具,其采用遺傳算法構(gòu)建特征預(yù)處理和建模管道比網(wǎng)格搜索方法更具優(yōu)勢,可最大程度提高ML模型的最終預(yù)測性能。TPOP是基于基因編程的框架,因此需要耗費較長計算時間分析數(shù)據(jù)集[13]。
H2O是1 個分布式、快速和線性可擴展的機器學(xué)習(xí)平臺[14]。除實現(xiàn)傳統(tǒng)機器學(xué)習(xí)的算法外,H2O可實現(xiàn)分布式隨機森林、梯度提升與深度學(xué)習(xí)模型,并結(jié)合網(wǎng)格搜索與集成算法將性能最好的模型進行聚合。H2O的核心代碼是基于Java開發(fā)的,使整個機器學(xué)習(xí)框架能夠?qū)崿F(xiàn)多線程。
Auto_ml設(shè)計用于產(chǎn)業(yè)輸出,包括自動化特征響應(yīng)、數(shù)據(jù)分析、數(shù)據(jù)清理、獨熱編碼、深度學(xué)習(xí)、分類集成等功能[15],并基于樹模型從非線性模型中得到線性模型解釋,Auto_ml可以處理稀疏數(shù)據(jù),適合AutoML初學(xué)者進行研究與探索,易于分析和獲取生產(chǎn)中的實時預(yù)測。
AutoKeras是由DATALab 開發(fā)的用于創(chuàng)建具有有限數(shù)字科學(xué)或機器學(xué)習(xí)背景知識學(xué)者可輕易訪問的神經(jīng)結(jié)構(gòu)搜索系統(tǒng)(NAS)[7]。與上述側(cè)重于淺層模型的AutoML框架不同,AutoKeras側(cè)重于深度學(xué)習(xí)任務(wù),對神經(jīng)網(wǎng)絡(luò)支持較好,擅長解決圖像與文本分類問題[8],因此對特征工程要求較低。
為研究AutoML在邊坡穩(wěn)定性預(yù)測領(lǐng)域的可行性與適用性,本文使用上述5 種AutoML框架進行純自動化訓(xùn)練,在安裝AutoML程序庫后,輸入訓(xùn)練數(shù)據(jù),采用默認配置參數(shù),系統(tǒng)自動實現(xiàn)數(shù)據(jù)預(yù)處理、模型選擇與超參數(shù)優(yōu)化等過程,直至訓(xùn)練出最優(yōu)預(yù)測模型。結(jié)合模型性能度量指標,與6 種傳統(tǒng)ML進行比較,評估AutoML的預(yù)測性能,以下實驗過程均在Win10 CPU 3.2GHz系統(tǒng)的Python 3.7 軟件中運行。
影響邊坡穩(wěn)定性的因素眾多,一般只選擇具有代表性的因素評價邊坡穩(wěn)定性。參考文獻[16]的預(yù)測指標選擇方案與結(jié)果,選取反映巖體強度、幾何因素和地下水狀況的巖土體重度γ、黏聚力c、內(nèi)摩擦角φ、坡角α、坡高H及孔隙壓力比γw6 個代表性特征對邊坡穩(wěn)定性進行評價。數(shù)據(jù)集的規(guī)模與質(zhì)量直接影響構(gòu)建模型的可靠性,通過文獻查詢與數(shù)據(jù)匯編[17],收集422 組邊坡穩(wěn)定性樣本,其中處于穩(wěn)定狀態(tài)的有226 組樣本,處于破壞狀態(tài)的有196 組。受篇幅限制,本文僅列出其中10組樣本,如表1所示。
表1 邊坡穩(wěn)定性預(yù)測數(shù)據(jù)集(部分)Table 1 Prediction data sets of slope stability (part)
考慮到數(shù)據(jù)集采集受地質(zhì)條件和穩(wěn)定性狀態(tài)評價指標差異的影響,在劃分數(shù)據(jù)集之前,先將樣本順序打亂,再按照4 :1 將數(shù)據(jù)集劃分為訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)。
將測試結(jié)果根據(jù)實際情況和預(yù)測結(jié)果的組合分為真穩(wěn)定(TS)、假破壞(FF)、假穩(wěn)定(FS)和真破壞(TF)4 種,總測試樣本數(shù)N=TS +FF+FS +TF,分類結(jié)果的混淆矩陣如表2所示。為評價各種邊坡穩(wěn)定性預(yù)測模型的性能差異,采用準確率Acc、F1分數(shù)和受試者工作特征(ROC)曲線下的面積AUC作為客觀評價模型綜合性能的量化指標,3 個指標的取值范圍均為[0,1],值越大表示模型性能越優(yōu)越。其中Acc與F1的計算分別如式(1)和式(2)所示:
表2 分類結(jié)果的混淆矩陣Table 2 Confusion matrix of classification results
ROC曲線根據(jù)預(yù)測結(jié)果對樣本進行排序,隨后逐個將樣本當作穩(wěn)定狀態(tài)進行預(yù)測,以假穩(wěn)定率FSR(FSR=FS/(FS +TF))為橫坐標、真穩(wěn)定率TSR(TSR=TS/(TS+FF))為縱坐標作圖,得到ROC曲線如圖2所示,陰影表示ROC曲線下面積AUC,虛線表示45°對角線。曲線越靠攏(0,1)點,越偏離45°對角線,模型預(yù)測效果越好。
圖2 ROC曲線與AUC示意Fig.2 Schematic diagram of ROC curve and AUC
對比的6 種傳統(tǒng)ML為邏輯斯蒂回歸(LR)、樸素貝葉斯(NB)、KNN、DT、SVM 和ANN模型。不同于AutoML,傳統(tǒng)ML目前只支持模型訓(xùn)練,因此為提升傳統(tǒng)ML模型的預(yù)測性能,適當?shù)臄?shù)據(jù)預(yù)處理和模型超參數(shù)優(yōu)化必不可少。
2.3.1 數(shù)據(jù)預(yù)處理
1)缺失值處理
由于數(shù)據(jù)集中孔隙壓力比存在缺失值,因此需對缺失值進行處理??紫秹毫Ρ葘傩缘谋姅?shù)與中位數(shù)均為0.25,故以0.25 對缺失值進行填充,使數(shù)據(jù)完整。
2)標準化處理
由于數(shù)據(jù)集的數(shù)值屬性具有較大的比例差異,如坡高與孔隙壓力比屬性不在同一數(shù)量級。因此,在模型訓(xùn)練之前對數(shù)據(jù)進行標準化處理,轉(zhuǎn)化成無量綱的純數(shù)值,即計算出數(shù)據(jù)屬性的均值μ與標準差σ(σ≠0),按照式(3)將屬性轉(zhuǎn)換成μ為0、σ為1 的標準正態(tài)分布N(0,1)形式,統(tǒng)一屬性量綱。
式中:X為轉(zhuǎn)換后的數(shù)值;x為原始值。
2.3.2 超參數(shù)優(yōu)化
6 種傳統(tǒng)ML模型中,每種算法都包含1 個或多個重要的超參數(shù),直接影響模型預(yù)測性能。本文采用網(wǎng)格搜索算法[17]進行超參數(shù)調(diào)優(yōu),嵌套5 折交叉驗證法[18]評估模型性能,選出預(yù)測性能最佳的1 組超參數(shù)組合。5 折交叉驗證法流程如圖3所示,將訓(xùn)練數(shù)據(jù)均分為5個子集(D1~D5),依次留出1 個子集作為驗證集,用來性能評估,剩余4 個子集的并集作為訓(xùn)練集訓(xùn)練模型,計算5 個訓(xùn)練模型在驗證集上的平均準確率。將作為模型優(yōu)化指標,搜索具有最高平均準確率的超參數(shù)組合,結(jié)果如表3所示。
圖3 5 折交叉驗證法Fig.3 5 fold cross-validation method
表3 網(wǎng)格搜索超參數(shù)優(yōu)化Table 3 Hyper parameters optimization of grid search
在獲得各種ML模型的最優(yōu)預(yù)測結(jié)果后,為評估模型的預(yù)測性能和泛化能力,計算各模型在邊坡穩(wěn)定性狀態(tài)測試數(shù)據(jù)上的性能度量指標與運行耗時T,如表4所示。各模型ROC曲線與AUC如圖4所示。
圖4 各模型的ROC曲線與AUCFig.4 ROC curve and AUC of each model
表4 各模型的性能指標與耗時Table 4 Performance indexes and time consumption of each model
在測試數(shù)據(jù)上,傳統(tǒng)ML模型中的ANN模型預(yù)測性能較好(Acc=85.71%,F(xiàn)1分數(shù) =88.68%,AUC=89.01%);DT與SVM 模型性能次之;LR和NB模型表現(xiàn)較差,性能度量指標均未超過70%。AutoML模型預(yù)測性能總體上優(yōu)于傳統(tǒng)ML模型,H2O、MLBox框架在邊坡穩(wěn)定性預(yù)測中表現(xiàn)較好,尤其是H2O模型的準確率、F1分數(shù)和AUC 3 項指標均大于90%,預(yù)測性能顯著優(yōu)于傳統(tǒng)ML模型,TPOT和AutoKeras訓(xùn)練的模型性能相對較差,但也能獲得與ANN模型相匹配的效果。上述結(jié)果表明AutoML能夠有效地應(yīng)用于邊坡穩(wěn)定性預(yù)測任務(wù),提高預(yù)測準確率與魯棒性。
相對傳統(tǒng)機器學(xué)習(xí),由于AutoML框架需要訓(xùn)練大量模型,因此運行時間相對更長。本文邊坡穩(wěn)定性預(yù)測任務(wù)中,除TPOT模型運行約2 h 外,其余AutoML模型收斂較快,均未超過3 min,運行耗時較短。另外,由于AutoML框架能夠?qū)崿F(xiàn)全過程自動化數(shù)據(jù)預(yù)處理、模型選擇、超參數(shù)優(yōu)化等一系列工作,僅需導(dǎo)入相應(yīng)程序庫及訓(xùn)練數(shù)據(jù)即可輕易運行程序,基本不需要數(shù)字科學(xué)經(jīng)驗和人為干預(yù),便可獲得高性能的預(yù)測模型,充分驗證AutoML更易于被巖土工程領(lǐng)域的技術(shù)人員掌握,極大程度上減輕巖土工程師的工作量,具有廣泛適用性。
盡管大多數(shù)AutoML在許多數(shù)據(jù)集上能夠取得較理想的預(yù)測結(jié)果,但針對不同的任務(wù)類型,目前仍沒有1個AutoML框架可以明顯超越其它框架[8]。因此根據(jù)目前AutoML的研究成果,從特征工程、算法支持、超參數(shù)優(yōu)化、特性和運行速度等方面對上述5 種AutoML框架進行綜合比較,結(jié)果如表5所示,可為解決類似巖土工程問題提供一定參考。
表5 不同AutoML框架的綜合對比Table 5 Comprehensive comparison of differ ent AutoML frameworks
結(jié)合表4~5 可知,針對邊坡穩(wěn)定性狀態(tài)等二分類問題,AutoML是1 種很好的選擇,具有較好的魯棒性和廣泛的適用性。對于預(yù)測時間要求不高的領(lǐng)域,推薦使用H2O框架,該框架訓(xùn)練模型的預(yù)測性能優(yōu)于其它方法,并提供Web GUI交互式界面,對用戶十分友好。如果對預(yù)測時間要求較高,則優(yōu)選MLBox或Auto_ml框架,這2 種方法可快速收斂并獲得較準確的結(jié)果。AutoKeras不支持特征工程,適用于圖像處理與文本分類等深度學(xué)習(xí)任務(wù)。TPOT相較其它框架運行時間花費更多,盡管提供模板選項功能可加快收斂速度,但需要具有一定知識儲備的人為干預(yù),不太適用于快速初步的邊坡穩(wěn)定性評價。目前,AutoML正處于早期研發(fā)階段,相信隨著工具的發(fā)展與完善,在不久的將來預(yù)測質(zhì)量與速度等方面將取得更好的成績。
1)AutoML方法可避免模型選擇與超參數(shù)優(yōu)化等挑戰(zhàn)性問題,不需要先驗數(shù)字科學(xué)知識,能直接基于邊坡穩(wěn)定性數(shù)據(jù)集快速自動構(gòu)建預(yù)測模型,為準確、可靠的邊坡穩(wěn)定性狀態(tài)評價提供1 種簡便方法,適合巖土工程領(lǐng)域工作人員研究與應(yīng)用。
2)基于422 組邊坡穩(wěn)定性數(shù)據(jù)集訓(xùn)練結(jié)果發(fā)現(xiàn),AutoML模型預(yù)測性能總體上優(yōu)于傳統(tǒng)ML模型,能夠顯著提高預(yù)測準確率和穩(wěn)健性,證實AutoML在邊坡穩(wěn)定性預(yù)測任務(wù)上的適用性和可靠性,對正確評價邊坡穩(wěn)定性具有重要意義。
3)通過綜合比較與分析典型AutoML框架的預(yù)測性能、速度等方面性質(zhì),結(jié)果表明H2O和MLBox框架可以快速收斂并獲得泛化能力較強的預(yù)測模型,更適合于解決邊坡穩(wěn)定性預(yù)測等類似的非線性二分類問題。
4)本文僅針對二分類(穩(wěn)定與破壞)任務(wù),而不同類型(建筑、土木、露天礦等邊坡)、不同安全等級的邊坡穩(wěn)定性評判標準不同。因此,下一步應(yīng)開展AutoML回歸分析研究,精確確定邊坡安全系數(shù),對穩(wěn)定性狀態(tài)進行更精細地量化表達。