仉文崗,李紅蕊,巫崇智,王林,2,3
(1.重慶大學土木工程學院,重慶 400045;2.庫區環境地質災害防治國家地方聯合工程研究中心(重慶大學),重慶 400045;3.山地城鎮建設與新技術教育部重點實驗室(重慶大學),重慶 400045)
地下采場的穩定性是采礦作業安全性的主要關注點,對采場生產率有著重要影響.確定采場穩定性的普遍方法是通過對巖石力學參數進行評估,然后采用巖石質量Q系統分類法、RMR(rock mass rating)分類法或地質強度指標(GSI)等方法對巖石進行評分,最終根據相應的分級標準[1-3],確定巖石的穩定性程度.近年來,一些方法如數值模擬法[4]、臨界跨度圖法[5]以及Mathews穩定圖法[6-7]等被提出用于預測礦洞的穩定性,然而這些方法比較傳統,經驗性較強.在數據挖掘時代,越來越多的準確可靠的機器學習算法模型應用于實際工程中指導工程師判斷礦體穩定性[8-11].
Wang等[12]采用神經網絡算法,選取由加拿大6個地下采場組成的數據庫(292組數據),將采場跨度、RMR值、Q值作為輸入參數,對數據庫進行訓練并創建神經網絡“專家”,進而對不同測試集進行訓練得到預測模型,應用神經網絡得到的跨度設計圖與經驗設計方法相比得到顯著改進.García-Gonzalo等[5]提出采用支持向量機(Support Vector Machine,SVM)和極限學習(Extreme Learning Machine,ELM)方法對加拿大采場更新的數據庫(8個地下采場,399組觀測數據)對應的臨界跨度圖進行重新劃分區域,與Lang[13]根據加拿大Detour Lake Mine中的172組數據提出的臨界跨度圖穩定性分區范圍作比較,結果吻合較好,并在此基礎上進行了優化.Goh等[14]結合多元自適應回歸樣條與邏輯回歸兩種方法(Multivariate Adaptive Regression Splines and Logistic Regression,MARS_LR),首次采用新的評估標準——第一類犯錯率及第二類犯錯率對預測模型的準確性進行評估,預測地下采場開挖穩定性.
然而,以上經典的機器學習模型——神經網絡,雖然預測結果精確,但對數據量要求高,且計算量大,較為費時[15].對于SVM等算法,盡管模型預測能力令人相對滿意,但模型解釋性差且調整參數過程繁瑣.此外,廣泛應用于巖土工程領域的MARS方法[16-17],其在解決問題時需要涉及具體的表達公式,在計算應用時較為復雜.因此本文采取機器學習方法中RF算法與KNN算法來避免上述問題.這兩種機器學習方法可解釋性強,對變量之間隱藏的關系不進行任何假設,直接體現變量間的交互作用,便于計算變量的非線性作用,從而提高模型泛化能力,在處理非平衡的數據時結果更加穩健.
鑒于此,以加拿大地下采場實測數據為例,研究RF與KNN算法對采場開挖穩定性預測的可行性.結合臨界跨度圖法對RMR值、跨度以及對應穩定性狀態進行了綜合分析,然后詳細介紹了RF算法、KNN算法及預測模型準確性評估準則,在三分類及二分類方式下,基于10折交叉驗證理論進行超參數優化.最后,通過計算各種模型評價指標和ROC曲線定量檢驗,對比分析不同分類方式下預測模型的表現,探討本文方法的可行性.
在許多礦洞填挖工程中,經驗法因其簡單性且不需要完全掌握巖體力學參數等優勢而被廣泛采用,其通常不考慮實際的破壞機制,而是根據綜合很多案例得出的規律進行預判,具有一定的代表性,因此常被工程師應用于設計初級階段對巖石穩定性進行初步判斷.
臨界尺寸圖是一種被廣泛應用于地下采場開挖穩定性評估的經驗理論,由加拿大學者Lang首次提出[13].本文根據采場的跨度、巖石質量分級RMR值(依據Bieniawski于1976年提出的RMR分類法[18])及礦洞穩定性等信息繪制成臨界跨度圖,可明顯地將區域分為3部分,即穩定、潛在不穩定和不穩定區域(見圖1).通過觀察礦洞不同穩定程度的分區范圍,對類似地質條件的礦洞穩定性進行初步判斷.

圖1 臨界跨度圖(改編自文獻[13])Fig.1 Critical span graph(Adapted from[13])
表1中總結了加拿大8個礦山的399組歷史數據,其中包含241個穩定案例,78個潛在不穩定案例和80個不穩定案例,具體包括RMR分值、跨度以及相應的礦洞穩定性狀態等信息.圖2統計了輸入參數RMR值和跨度直方圖,關于案例的詳細介紹,讀者可參考文獻[19].

表1 歷史數據統計表Tab.1 Data sources of the case histories
由于礦洞實際觀測情況分為穩定、潛在不穩定和不穩定三種狀態,大部分研究根據臨界跨度圖將數據分為三組,但潛在不穩定狀態與另外兩種狀態的邊界劃分不夠明顯.García-Gonzalo[5]、Goh等[14]考慮了臨界跨度圖的替代形式,即把不穩定及潛在不穩定均視為不穩定,只考慮穩定和不穩定兩種情況繪制臨界跨度圖.為了對比不同分類方式對預測結果準確性的影響,本文采用RF和KNN算法對三分類與二分類兩種方式進行預測分析.此外,在二分類方式下,采用ROC曲線下AUC面積值對不同算法的表現進行對比分析.

圖2 直方圖Fig.2 Histograms
RF是由Breiman提出的基于CART決策樹(Classification and regression trees)的集成算法[20].目前該算法已廣泛用于分類、回歸和無監督學習等方面.對于多分類問題,采用隨機抽樣形成多個分類器,可收斂到更低的泛化誤差[21],有效地提高了算法的泛化能力,并且運算可實現高度并行化,進而提升模型計算效率[22-24].另外,RF算法對于不平衡樣本分類表現優異,本文數據庫中不穩定案例數量少于穩定案例數量,因此可以通過分析預測結果來驗證預測模型的適用性.
RF算法利用bootstrap重抽樣方法從原始樣本中抽取多個樣本組合構成多棵決策樹(見圖3),在不同決策樹演化過程中隨機改變預測變量組合來增加分類樹的多樣性,經過n輪訓練,將不同決策樹h1在樣本x上的預測輸出表示為一個N維向量,,其中是hi在類別標記ck上的輸出.采用多數投票機制決定最終分類結果[25],分類決策公式見式(1).

式中:類別標記ck∈{c1,c2,…,cN};H(x)表示輸出類別,即預測為得票最多的標記,若同時有多個標記獲得最高票,則從中隨機選取一個標記.式(1)解釋了該算法采用多數投票決策方式的原理.

圖3 RF預測模型原理圖Fig.3 Establishment of RF prediction model
KNN算法是一種基于統計的非參數模式識別分類算法,由Yakowitz首次提出并應用于時間序列預測方面[26].由于其實現過程的簡單性,已在很多領域得到應用,如文本分類[27]、短期需水量預測[28]、年平均降雨量預報[29]等.該算法簡單易用,但對內存要求較高,其在學習過程中簡單地存儲已知的所有訓練數據,當遇到新的查詢樣本時,取出一系列相似的樣本,用來分類新的查詢樣本.圖4為三分類情況下,KNN算法原理示意圖.

圖4 KNN算法原理示意圖Fig.4 Schematic diagram of k-nearest neighbor algorithm
假定所有的樣本對應于n維空間R″中的點,一個樣本的最近鄰可根據標準的歐氏距離定義[30].任意的樣本x表示為特征向量x={x1,x2,…,xi},xi表示樣本x的第i個特征值.那么兩個樣本xm和xn的距離定義為d(xm,xn),在二維和三維空間中的歐氏距離即兩點之間的實際距離,計算公式為:

給定一個待分類的樣本xm,x1,x2,…,xk表示訓練集中與xm距離最近的K neighbors個樣本,使用最近鄰的大多數投票法作為待查詢樣本的預測值.
在計算模型準確率的時候,許多研究常采用正確率和判錯率來判斷模型的準確性,然而只采用這兩個指標不足以全面說明模型的準確性,因此采用混淆矩陣來計算模型對任何一種情況的判斷準確率或者失誤率是必不可少的.混淆矩陣是一個評估分類模型表現好壞的表格,矩陣的列代表實際分類情況,行代表預測分類情況,三分類混淆矩陣如表2所示,對于二分類方式同理,在此不再贅述.

表2 混淆矩陣Tab.2 Confusion matrix
混淆矩陣的每個單元代表不同預測狀態與實際狀態對應的統計數.采用表3中評價指標判斷模型準確性:召回率(Recall rate)表示模型對地下采場三種穩定性狀態判斷的正確率,如式(3)所示,這個數值代表模型對每種情況判斷正確的概率,在很大程度上決定了模型的適用性;模型的精確度(Precision)表示為式(4).模型判斷準確率(Accuracy)定義為式(5).

表3 評價指標Tab.3 Evaluation criteria
此外,采用受試者工作特征曲線(Receiver Operating Characteristic Curve,ROC曲線)來評估兩種算法的性能,ROC曲線圖是反映敏感性與特異性之間關系的曲線,橫坐標X軸為假陽性率(誤報率),縱坐標Y軸為真陽性率(敏感度).ROC曲線下方部分的面積被稱為AUC(Area Under Curve),用來表示預測準確性,AUC值越高,即曲線下方面積越大,說明預測準確率越高[31-32].AUC的值介于0.0~1.0,表現出色的模型AUC值高于0.9,一般的模型AUC值介于0.7~0.9,當AUC值小于0.7時,模型效果較差[33].
通常情況下,將不穩定判斷為穩定的代價要遠高于將穩定判斷為不穩定的代價,因此降低模型對不穩定判斷為穩定的概率,即提高不穩定情況的召回率是至關重要的.本文將重點分析兩種算法在不同分類模式下的召回率及模型準確率,旨在提高模型實用性和可靠性.
為了對比RF和KNN算法的表現,設定兩種算法的訓練集與測試集是相同的,均從399個數據中隨機選出299個數據作為訓練集,剩余100個作為測試集.將礦洞穩定情況分別按照三分類和二分類兩種方式進行預測,并根據AUC值對兩種算法的表現進行對比,確定表現更好的模型.兩種算法具體計算流程詳見圖5.

圖5 預測模型建立流程圖Fig.5 Prediction model establishment flow chart
超參數是在建立模型前設定的一組參數,是用于控制模型好壞的調節旋鈕,調節超參數的目的是使模型在數據處理過程中訓練難度與模型效果達到平衡.RF預測模型建立的最關鍵步驟是設置超參數N estimators和Max depth,分別代表樹的數量和最大深度.如果N estimators的值很大,計算模型的復雜性會增加,反之,訓練可能會不充分.若Max depth的值很大,模型容易發生過擬合;若其值很小,則模型的準確性可能會降低.
在分類模型建立過程中必然存在相應的決策邊界,當N estimators或Max depth達到一定值后,模型準確性往往不再上升或開始波動.通常利用全局搜索先確定一個學習分數較高的區間,然后根據這一范圍細化參數取值,進行局部搜索得到最優超參數組合.
本文選定N estimators取值范圍為[10,200]之間的整數,Max depth取值范圍為[1,10]之間的整數.同樣在采用KNN算法時,其超參數K neighbors對模型影響最大,選定取值范圍為[1,20].然后,采用10折交叉驗證方法[34]優化模型參數,即將樣本數據分為10個子集,9個子集用于訓練模型,剩余子集用于測試,子集交替充當獨立測試集,而其他子集充當訓練集[35].這個過程增加了訓練子集多樣性,同時保證了均勻采樣.
基于上述方法,按照召回率和準確率最高的原則,繪制超參數學習曲線,得到三分類及二分類情況下N estimators、Max depth及K neighbors最優值,設定超參數,將訓練集的變量作為輸入值來生成RF與KNN預測模型.采用測試集對模型進行驗證,得到最終的準確率和召回率,其中具體超參數優化過程詳見圖6、圖7.


圖6 RF算法超參數優化Fig.6 Hyper-parameter optimization process of RF algorithm

圖7 KNN算法超參數優化Fig.7 Hyper-parameter optimization process of KNN algorithm
基于RF和KNN算法,兩種分類方式下訓練集及測試集的預測結果如圖8、圖9所示.在三分類情況下,對比兩種算法訓練集結果,RF算法對不穩定情況的召回率更高,KNN算法的準確率更高.對于測試集而言,兩種算法準確率及對不穩定情況的召回率相等.當把潛在不穩定視為不穩定情況,采用二分類方式時,兩種算法的預測結果都比較理想,訓練集與測試集的準確率及召回率均高于90%,與三分類方式相比,二分類方式下模型預測結果準確率及召回率更高.這也說明由于潛在不穩定是一種過渡狀態,對其判斷的準確性必定會影響整體的準確性.采用二分類方式,將采場觀測狀態進行簡單化,可以更大程度地提高預測準確性,從而降低損失.同時對比圖9(a)與(c)、圖9(b)與(d)可以看出,KNN算法的訓練集及測試集的預測結果均優于RF算法.

圖8 三分類下預測值混淆矩陣Fig.8 Ternary classification prediction value confusion matrix of algorithm
與先前文獻對比,Goh等[14]提出的MARS_LR模型,在二分類方式下,其訓練集和測試集的準確性分別為0.91和0.88.本文在二分類方式下,RF模型的訓練集和測試集的準確性分別為0.96和0.93,KNN模型的訓練集和測試集的準確性分別為0.98和0.94.

圖9 二分類下預測值混淆矩陣Fig.9 Binary classification prediction value confusion matrix of algorithm
García-Gonzalo等[5]采用的SVM模型,三分類方式下對應的總體平均準確率為0.82,二分類方式下對應的總體平均準確率為0.98.另外,基于ELM模型,三分類方式下對應的總體平均準確率為0.88.本文中RF和KNN模型在三分類方式下對應的總體平均準確率分別為0.93、0.95,在二分類方式下對應的總體平均準確率分別為0.95、0.97.
相對而言,本文所采用的兩個模型比SVM及ELM等算法表現更為穩定,可解釋性更強,在準確性方面有所提高.尤其采用二分類方法時,兩種算法對不穩定情況的召回率有明顯提升,即降低了將不穩定狀態判定為穩定狀態的概率,極大地提高了預測方法的可靠性.另外,在本文樣本不均衡且數據量較小的情況下,兩種模型也未出現過擬合現象,更具有實用性.
由于兩種算法在二分類方式下的預測結果更準確,采用ROC曲線定量評估二分類方式下兩種算法的性能.對比圖10(a)與(b)可看出,AUC值均高于0.9,但無論是訓練集還是測試集,KNN算法的AUC值均高于RF算法的AUC值.總體而言,KNN算法表現優于RF算法,雖然其原理相對簡單,但模型表現更好,這也證明,KNN算法更適用于有明顯分類界限的數據.

圖10 二分類下ROC曲線Fig.10 ROC curve for binary classification
結合加拿大的8個地下采場,399組歷史案例觀測數據,采用RF和KNN兩種機器學習方法對地下采場開挖穩定性進行評估,得到如下結論:
1)將地下采場穩定狀態劃分為兩種分類模式,基于10折交叉驗證理論分別對RF和KNN模型進行超參數優化,在三分類方式下,確定最優超參數取值分別為N estimators=30、Max depth=7及K neighbors=2,二分類方式下,最優超參數取值分別為N estimators=20、Max depth=7及K neighbors=11.
2)在兩種分類方式下,RF及KNN算法在訓練集及測試集上的平均準確率均高于90%.并且二分類預測結果表現更好.對于不穩定情況的召回率這一評價指標,在三分類情況下,兩種模型在測試集上的值均為0.79.在二分類情況下,兩種模型在測試集上的值分別為0.90、0.93.因此將穩定狀態進行二分類,可大幅提升對不穩定情況的預測準確率.
3)對于二分類情況,KNN算法表現優于RF算法,KNN算法在測試集和訓練集上的準確率、召回率以及ROC曲線下AUC值更高.同時,與先前研究結果相比,兩種算法均有效提高了預測模型的準確性和泛化能力,實用性更強.
考慮到模型可解釋性、數據驅動及自適應性、構建變量之間的相互作用的能力以及預測不穩定情況的準確性等方面,這兩種算法在評估地下采場穩定性方面都是可取的.應該強調的是,數據庫和特征已決定了計算方法的準確度上限,各種模型和算法只是以不同的方式來達到這個極限.因此,高質量的數據集及重要特征提取對于計算方法的成功應用至關重要.