陳攀, 馬鑫民, 向俊杰, 陳莉影, 梁廳皓
(1. 中國礦業大學(北京) 力學與土木工程學院,北京 100083;2. 云南省水利水電勘測設計院有限公司,云南 昆明 650021)
巷道是煤礦井工開采的脈絡,科學合理的煤巷圍巖穩定性控制是保障煤礦安全高效開采的關鍵[1]。錨桿支護自1956年引入我國至今,得到了廣泛的應用,已成為最主要的煤礦巷道支護方式[2]。隨著煤礦開采深度、范圍和強度的不斷增加,巷道支護面臨的條件逐漸復雜化,巷道支護設計繁瑣、效果差等問題日益突出[3]。
近年來,越來越多的專家學者將計算機智能設計方法應用到煤巷支護領域,利用智能算法來實現巷道支護的合理、科學設計[4]。謝廣祥等[5]提出了通過構建多級人工神經網絡來確定錨桿支護的方式,優化了支護參數。王茂源[6]采用模糊聚類對圍巖穩定性進行分類,采用神經網絡算法實現了錨桿支護參數設計。王哲哲等[7]結合模糊理論與人工神經網絡構建評價模型,對圍巖穩定性進行分級,從而進行巷道支護方案優選。Xu Qingyun等[8]基于人工神經網絡預測模型對圍巖進行分類,構建了決策系統的支持網絡模型,通過數值模擬和現場測試驗證了該模型的可行性。Ren Heng等[9]為了評價神東礦區的圍巖穩定性,添加動量項來修正BP神經網絡的權值,進一步提升了模型精度。Zhang Xiliang等[10]提出粒子群優化(Particle Swarm Optimization,PSO)算法與人工神經網絡(Artificial Neural Network,ANN)相結合的PSO-ANN模型來評價和預測巷道穩定性,評價結果表明PSO-ANN模型可準確評估巷道的穩定性。
通過查閱大量參考文獻,發現目前支持向量機(Support Vector Machine, SVM)、隨機森林(Random Forest, RF)等算法在巖土工程領域取得了很好的應用效果[11-14],但在煤礦巷道支護領域應用較少。為了全面研究不同的機器學習模型進行支護參數設計的適用性,筆者建立了煤巷支護智能預測數據庫,將SVM、ANN、RF、AdaBoost(ADA)和樸素貝葉斯分類器(Naive Bayes Classififier,NBC)5種機器學習方法引入煤巷錨桿支護參數預測中,建立評價體系對模型的性能進行評價,驗證機器學習方法在煤巷錨桿支護參數預測方面的可行性。
SVM是一種針對小樣本數據的機器學習模型[15]。以風險最小化原則將誤差風險控制到最小,通過核函數將在低維線性不可分的數據映射到高維空間,使線性內積運算非線性化,從而在高維空間尋找最優分類超平面實現數據線性可分[16]。SVM尋找最優超平面的過程實際上就是支持向量到超平面的間隔D最大化問題。
式中:ω為特征空間中的權向量;c為懲罰系數;i為樣本個數,i=1,2,…,n,n為樣本總個數;ξi為損失函數。
SVM通過核函數將數據從低維空間轉換至高維空間,高斯核函數為空間中任一點xi到某一中心xj(j=1,2,…,n,j≠i)之間歐氏距離的單調函數,可記作K(xi,xj),常被用于高維度、線性不可分的數據。
式中g為高斯核函數參數。
懲罰系數c表征對離群點的重視程度,即模型對錯誤分類樣本的懲罰力度,c越大,懲罰力度越大,容易使模型過擬合;c取值太小,會使模型過于簡化,對錯誤分類的樣本學習訓練不夠,導致模型欠擬合。高斯核函數參數g決定了數據映射到新特征空間后的分布,通過函數的徑向范圍影響模型的計算速度。因此,懲罰系數c和高斯核函數參數g決定了高斯核SVM模型的整體性能。
傳統的SVM只能通過經驗或試錯法來進行懲罰系數c和高斯核函數參數g的選擇,只能尋找到局部最優參數,不能完全將SVM的性能體現出來。遺傳算法(Genetic Algorithm, GA)是通過計算機模擬自然界生物進化過程的一種隨機化搜索算法,通過對群體中具有某種特征的個體進行選擇、交叉和變異操作,生成新的群體,逐漸逼近最優解[17]。
采用GA對SVM的懲罰系數c和高斯核函數參數g進行全局尋優。優化的主要流程如圖1所示。GA先對懲罰系數c和高斯核函數參數g進行編碼,解空間向編碼空間映射;生成初始種群,定義適應度函數并計算個體初始適應度;進行選擇、交叉和變異操作,形成新的個體,并計算個體適應度,重復進行這一操作直到滿足終止條件;完成解碼,獲取最佳參數cbest和gbest。

圖1 GA對SVM超參數尋優流程Fig. 1 GA optimization process for super parameters of SVM
根據巷道支護設計的需要,選擇頂板錨桿和幫部錨桿的直徑、長度、間距、排距和數量,將頂板錨索的直徑、長度、數量和布置方式作為輸出參數,其中布置方式是錨索排距對頂板錨桿排距的倍數。煤礦巷道錨桿支護的影響參數涉及廣泛且復雜,將所有的參數都輸入到機器學習模型中容易加大模型的復雜度,導致模型過度擬合而失去泛化性,因此,對機器學習模型的輸入參數進行精選十分必要。選擇影響參數時遵循獲取方便、可量化、物理意義明確、獨立性、普適性等要求,綜合我國目前的煤巷生產情況和錨桿支護理論,從圍巖參數、圍巖節理裂隙發育程度和巷道埋深及斷面尺寸3個方面選出12個參數作為機器學習的輸入參數。
1) 圍巖參數。對煤礦巷道進行支護的根本目的是保持巷道暢通和圍巖穩定,降低圍巖移動量,改善圍巖力學性質。由此可見,圍巖參數對巷道變形與破壞的影響十分顯著。本文選擇煤層、基本頂、直接頂及直接底的厚度和強度表征巷道圍巖特性。
2) 圍巖節理裂隙發育程度。在圍巖內部存在的節理、裂隙、層理等構造對巖體的整體強度存在不同程度的影響,一般情況下,節理、裂隙多的巖體完整性較差,錨桿、錨索對巖體穩定性的影響很大。
3) 巷道埋深及斷面尺寸。巷道埋深和斷面尺寸對圍巖支護有重要影響。垂直應力隨著巷道開采深度的增加而逐漸增大,高地應力情況下圍巖更易發生塑性破壞,保持圍巖穩定性更加困難。另外,巷道的寬度和高度對圍巖穩定性的影響也不可忽視。
1) 數據采集。為了保證煤巷支護數據的豐富性和數據來源的可靠性,采用現場調研、問卷調查和文獻檢索等方式收集2010—2022年的典型煤巷支護數據,共157條。
2) 缺失值填補。在數據收集的過程中,無可避免地形成少量的數據缺失,在進行數據分析前參照相同礦場類似的巷道對缺失值進行填補。
3) 離群點處理。為了讓樣本滿足機器學習模型訓練和測試要求,需統一數據的整體分布。通過數據箱形圖找出在樣本中出現明顯偏離大多數觀測值的個別值,如圖2所示。上四分位數加上1.5倍的四分位距為上限,下四分位數減去1.5倍的四分位距為下限,在上下限之外的點判定為離群點,采用三角形將離群點標出來,并采用極值化處理離群點:偏大值修改為箱形圖極大值,偏小值修改為箱形圖極小值。

圖2 原始數據的箱形圖Fig. 2 Box diagram of the original data
4)異常樣本剔除。采用局部異常因子(Local Outlier Factor,LOF)對數據離群樣本進行檢測[18]。LOF是一種基于樣本局部密度檢測識別離群樣本的經典算法,通過計算樣本點的局部密度量化每一個樣本點的異常程度,樣本點的異常程度取決于樣本點與周圍點的局部密度比較。LOF算法步驟:① 計算樣本點p的第k距離領域,即與點p相距最近的k個點的集合。② 計算點p與點p的第k距離領域內各點的可達距離,其中,點p到點o的可達距離為點o的k鄰近距離和點p與點o之間的直接距離的最大值。③ 計算點p的局部可達密度,即樣本點p與它的第k距離領域內各點的平均可達距離的倒數。④ 對每個點的第k局部可達密度進行比較并排序。樣本點的第k局部可達密度越大,表明它的異常程度越小,反之,異常程度越大。
在不同k值下使用LOF算法進行7次檢測,取每個k值下異常程度最高的10個樣本,結果見表1。7次檢測中出現次數不少于4的樣本被確定為異常樣本。可看出10個異常樣本為33,84,105,124,151,75,14,129,25,109,將10個異常樣本被剔除,剩余147個樣本組成煤巷支護智能設計數據庫。

表1 基于LOF的異常樣本檢測結果Table 1 Test results of abnormal samples based on local outlier factor(LOF)
為便于模型的學習訓練和測試,從數據庫中隨機抽取80%(117組)的數據作為訓練集,剩余20%(30組)的數據作為測試集。訓練集中各支護參數的頻數統計結果見表2、表3和表4,各輸入參數的分布統計情況如圖3所示。

表2 頂板錨桿支護參數統計Table 2 Statistics of roof anchor bolt support parameters

表4 幫部支護參數統計Table 4 Side support parameter statistics

圖3 訓練集輸入參數分布統計Fig. 3 Distribution statistics of input parameters of training set
由表2、表3和表4可知,支護參數是不均衡的類分布,存在某一類或某幾類樣本數量顯著少于其他類別的情況,這會降低模型對少數樣本的擬合。采用SMOTE對數據進行類平衡處理。SMOTE是基于隨機過采樣算法的一種改進方案,若2個同類樣本間的歐氏距離足夠近,則SMOTE假設這2個樣本之間的樣本與這2個樣本同類[19]。SMOTE平衡樣本流程如圖4所示。根據樣本不平衡比例確定采樣倍率b;隨機選取一個少數類樣本X,計算與其他樣本間的歐氏距離,并找出樣本X的k個同類近鄰樣本;在每個少數類樣本X的k個同類近鄰樣本中隨機選取一個樣本m;在m和X之間的連線上隨機選取一個點作為新的少數類樣本X′,重復以上步驟,直到少數類樣本滿足采樣倍率b,輸出最終的數據集。

圖4 SMOTE平衡樣本流程Fig. 4 Sample balancing flow by SMOTE
式中r(·)為隨機函數。
最終訓練集中的各個特征向量具有不同的量綱和單位,采用Z-score標準化方法將數據轉換為均值為0、標準差為1的數據。采用式(4)對最終訓練集進行處理。
式中:y為標準化后的值;ai為特征值;為特征均值。
煤巷支護數據庫的整體流程如圖5所示。首先通過現場調研、問卷調查和文獻檢索等方式收集煤巷支護技術資料;然后采用缺失值填補、離群點處理及異常樣本剔除等方式對數據進行清洗處理,建立煤巷支護數據庫;最后按照8∶2的比例將數據庫中的數據分成訓練集與測試集,并采用SMOTE平衡訓練樣本,經標準化處理后即可用來訓練和測試模型。

圖5 煤巷支護數據庫的整體構建流程Fig. 5 The overall building process of the coal roadway support database
選用GA算法對SVM參數進行全局尋優[20]。GA參數設置:種群規模為50,直接復制到下一代的染色體數量為20%,交叉概率為0.8,變異概率為0.01,繁殖次數為300,采用精確度作為模型適應度函數。設置懲罰系數c和高斯核函數參數g的尋優范圍分別為[0,10]和[0,200]。GA生成初始群體并計算初始適應度,然后通過選擇、交叉、變異等操作,經過設定繁殖次數或個體適應度滿足要求后終止計算,將得到的最大適應度作為全局最優解輸出。通過GA優化后,確定各模型的最佳超參數組合cbest和gbest,結果見表5。

表5 GA全局尋優結果Table 5 Global optimization results of GA
SMOTE-GA-SVM支護參數預測模型建立流程如圖6所示。

圖6 SMOTE-GA-SVM支護參數預測模型建立流程Fig. 6 SMOTE-GA-SVM supporting parameter prediction model establishment process
首先建立煤巷錨桿支護數據庫;然后通過SMOTE平衡樣本、數據標準化和GA超參數尋優等步驟優化改進SVM支護參數預測模型的性能;最后經過模型訓練和測試建立滿足精度要求的SMOTEGA-SVM支護參數預測模型。
RF是一種集成學習算法,因其優越的性能成為一種流行的分類算法[21]。RF的樹構建過程允許特征之間的交互作用和高度相關性,可量化輸入變量對于模型的重要程度。各指標對支護設計的重要程度排序如圖7所示。可看出裂隙發育程度是最重要的指標,直接底厚度對模型的貢獻度最小,這為支護設計時的變量選擇提供了參考。

圖7 輸入變量在支護參數預測模型上的重要性Fig. 7 Importance of input variables in support parameter prediction model
ANN是應用最為廣泛的機器學習算法之一,輸入層、隱藏層和輸出層共同組成了ANN結構,其中,輸入層和輸出層的結構由模型的輸入參數和輸出參數決定,不可改變,調整隱藏層的結構能顯著改變模型的性能。通過試錯法確定了隱藏層結構為9-7時模型性能最好。為了提高網絡性能,采用GA對ANN的權重和偏差進行優化。其中,GA參數設置與SMOTE-GA-SVM模型一致。另外,ANN模型采用支持回溯的彈性反向傳播算法,設置誤差學習率為0.01,以Sigmoid函數作為激活函數,模型最大迭代次數為1 000。同時,對模型進行10倍交叉驗證,每次模型的初始權重都不一樣,一定程度上避免出現局部最優解。構建的頂板錨桿間距GA-ANN預測模型的網絡拓撲結構如圖8所示,其中,I1-I12為輸入指標,H1-H9為隱藏層神經元,O為輸出層,B為偏差,線條顏色和粗細分別代表不同的權值和偏差。
ADA是在Boosting基礎上的一種優化算法。ADA在面對多分類問題時,通過不斷調整錯誤樣本的權重迭代升級,一定程度上避免了模型過擬合。
NBC算法是一種采用最大似然估計對樣本進行概率分類的算法,通過求解樣本在各個類別下的概率進行求解。
采用分類精度來評價支護參數預測模型在測試集上的性能,分類精度為模型在測試集上正確分類樣本數與總樣本數的比值。建立的所有機器學習模型在測試集上的分類精度見表6。可看出SMOTEGA-SVM模型的表現最佳,每一個支護參數的分類精度均超過75%,模型平均分類精度達到83.8%。ADA模型在預測幫部錨桿間距時表現最差,分類精度只有37.6%;SMOTE-GA-SVM模型預測錨索長度時表現最佳,分類精度達到93.5%。SMOTE-GA-SVM模型在處理樣本類不均衡數據集的問題上性能更加強大,平均分類精度較傳統的SVM模型提高了21.8%。在SMOTE和GA的優化改進下,SVM模型整體性能有了較大提高。可見,SMOTE方法可作為處理樣本類不均衡的有效方法,GA對SVM模型的超參數有很好的全局尋優能力。且SMOTE-GA-SVM模型優于其他模型,平均分類精度達83.8%;ADA在測試集上的性能最低,精度為60.5%。預測模型分類精度排序為SMOTE-GA-SVM、RF、GA-ANN、SVM、NBC、ADA,6種模型的平均分類精度達69.9%。

表6 機器學習模型在測試集上的分類精度Table 6 Classification precision of machine learning model on test set%
為了驗證基于SMOTE-GA-SVM的煤巷支護參數預測模型在工程實踐中的適用性和可靠性,在山西霍寶干河煤礦的4條巷道進行了實際工程驗證,巷道的特征參數見表7。對巷道特征參數進行Z-score標準化,并將其輸入已經建立好的基于SMOTEGA-SVM的煤巷支護參數預測模型中,通過模型計算得到巷道的錨桿、錨索支護參數,結果見表8。

表7 霍州礦區干河煤礦的特征參數Table 7 Characteristic parameters of Ganhe Coal Mine in Huozhou Mining area

表8 SMOTE-GA-SVM模型應用結果Table 8 Application result of SMOTE-GA-SVM model
由表8可知,2-1261巷實際采用的錨桿、錨索支護參數與SMOTE-GA-SVM模型計算結果一致,2-1161巷和2-1021巷都有2個參數預測錯誤,三采區輔助運輸巷有3個參數預測錯誤,4條巷道的56個支護參數中預測結果與真實值相同的有49個,模型預測的正確率為87.5%。其中,SMOTE-GASVM模型錯誤預測的7個參數都被預測為相鄰類別的參數,相對誤差較小。由此可見,SMOTE-GASVM模型能夠很好地掌握巷道特征參數到錨桿、錨索支護參數的非線性映射能力,具有較強的適用性和可靠性,對煤巷錨桿、錨索支護參數設計具有一定的參考價值。
1) 建立了煤巷支護智能預測數據庫。采用現場調研、問卷調查和文獻檢索等方式收集煤礦巷道樣本;采用缺失值填補、箱形圖修改離群點和LOF剔除異常樣本等方式對數據進行處理后,建立煤巷支護智能預測數據庫。
2) 提出一種基于SMOTE-GA-SVM的煤巷支護參數預測模型,該模型在訓練前采用SMOTE方法平衡訓練集中類別不平衡的樣本,提高模型對少數類樣本的擬合能力;訓練過程中使用GA對超參數進行全局尋優,進一步提高了模型整體性能。測試結果表明,基于SMOTE-GA-SVM的煤巷支護參數預測模型的分類精度達83.8%,比傳統的SVM模型提高了21.8%。
3) 將ANN、RF、ADA和NBC引入煤巷支護參數預測中,建立對應的支護參數預測模型。結果顯示,從最優到最差的預測模型排名分別為SMOTEGA-SVM、RF、GA-ANN、SVM、NBC和ADA,驗證了機器學習方法在煤巷支護參數預測方面的可行性。
4) 在山西霍寶干河煤礦的4條巷道對SMOTEGA-SVM模型進行了應用,模型預測準確率達到87.5%,具有較強的適用性和可靠性。