羅曉霞,王 萬
(西安科技大學 計算機科學與技術學院,陜西 西安 710054)
風化基巖是在風化作用條件下,物理性質和化學成分發生變化的巖石[1]。風化基巖具結構疏松、孔隙度大、層滲透性強和裂隙發育的特點[2]。和正常的巖石相比,風化巖石在顏色、結構、含水率等方面與普通巖石相比都具有較大的差異。在陜北侏羅紀煤田風化基巖大量發育,造成大量水害事故發生,侏羅系風化基巖水害具持續時間久、涌水量大和較難防治的特點,給煤礦安全生產帶來了巨大的困難,因此風化基巖含水層富水性研究對煤礦安全開采具有重大意義[3-4]。傳統的含水層富水性預測方法主要使用層次分析法等數學分析方法,通過構建富水性影響因素權重矩陣,結合ArcGIS等建模軟件繪制富水性分區,但影響因素權重矩陣的構建主觀性強,導致模型預測準確率較低。
隨著人工智能的不斷發展,越來越多的機器學習算法和神經網絡模型應用到煤礦富水性預測中,侯恩科等選擇不同富水性影響特征,構建Bayes判別模型[5]、Fisher模型[6]及SVM模型[7]預測風化基巖富水性;紀卓晨等利用PCA降維得到4個主要富水性影響因素訓練Logistci Regression模型[8],建立判別模型預測富水性;安孝會基于Logistics回歸模型對頂板突水規則進行分析[9];董麗麗等提出基于長短時記憶網絡LSTM的突水預測模型[10];周峰雷等建立BP神經網絡對煤炭不同區域涌水量進行預測[11];尹會永等利用BP神經網絡進行煤礦涌水早期預警[12]。
使用機器學習預測煤礦頂板風化基巖富水性是目前常用的方法,這些方法大多采用單一模型,泛化性能差,忽視了特征選擇和參數組合對模型的影響。因此提出多模型融合的風化基巖富水性預測模型。
風化之后的巖石內部較為疏松、滲水性增強。厚度越大的風化基巖內部儲水空間也越大,富水性隨之增加;風化程度越大,巖層儲水體積越大,對應富水性也越強,因此綜合考量風化基巖厚度和風化程度,構造風化系數S。
S=∑sihi/∑hi
(1)
式中si代表巖石風化程度的強弱,根據風化程度的不同,可分為1,2,3,分別對應著弱、中、強3個風化程度等級;hi為對應風化基巖的巖層厚度,m。
由礦區鉆孔實測數據可知含水層基巖主要構成為細、中和粗粒砂巖,厚度為3類砂巖的厚度之和。含水層厚度一定程度上反映巖層蓄水空間的大小,隨著含水層厚度的增加,巖層富水性增強,發生涌(突)水的可能性也就越大。
巖芯采取率是鉆孔取出巖芯長度與鉆孔鉆入長度的比值,大小代表著基巖破壞程度。隨著巖芯采取率減小,意味著基巖破壞越嚴重,儲水面積增加,從而富水性越強。
由抽水鉆孔資料可知,風化基巖巖性不同,富水性不同。根據不同巖性組合,構造巖性組合指數r,數值越大,富水性越強。
r=∑rimi/∑mi
(2)
式中ri為巖性類別;mi為巖石厚度,m。
脆性巖通過巖層破裂釋放巖石內部張力,裂隙的發育程度較高;塑性巖釋放壓力的方式通常為塑性形變,巖石破壞程度不高,因此可用脆性巖厚度與巖層總厚度的比值來表示風化程度,比值越大,富水性越強。
礦區風沙灘起伏較小,煤層覆巖主要為砂巖,降雨補給充足,有利于水源的存儲。中部地帶為溝谷地帶,自然降雨等水源不易流失,經地表匯入煤層上覆巖,形成強富水性。其余地帶覆巖主要為黃土,且呈現溝壑狀分布,降雨難以存儲,較難滲入地下,不利于水源補給,富水性較差。以數值3,2,1分別對松散沙層、溝谷及黃土丘陵地貌進行量化處理。
隔水層是透水性較差的巖層和土層,由致密的巖石或黏土構成,由于空隙較小,導致水源不易透過。
多模型融合的風化基巖富水性預測是利用XGBoost模型構造高級特征,然后基于Stacking方式融合隨機森林和SoftMax完成對富水性類別預測。融合模型由數據處理模塊、特征選擇模塊、特征構造模塊和富水性預測模塊組成(圖1)。數據處理模塊對鉆孔數據進行缺失值填補、歸一化和富水性類別編碼;特征選擇模塊使用方差過濾和交叉遞歸特征消除算法確定影響風化基巖富水性的最優特征子集;特征構造模塊使用篩選的最優子集訓練XGBoost[13-14]模型,利用XGBoost模型構造高級特征,基于Stacking[15]集成策略融合不同分類器對構造的高級特征進行訓練。為克服傳統集成模型融合時使用簡單集成加權平均的缺點,富水性預測模塊第1層使用隨機森林分類算法和SoftMax算法相結合,分別得到模型對分類結果的預測概率,同時SoftMax算法抑制隨機森林分類算法存在的過擬合問題,第2層將首層的輸出作為輸入,訓練SoftMax多分類器,即可得到風化基巖富水性的類別。

圖1 風化基巖富水性預測模型Fig.1 Water-rich prediction model of weathered bedrock
2.1.1 對輸入原始數據進行處理
刪除異常值,使用隨機森林算法填補缺失值,并進行歸一化處理,按照單位涌水量的大小將富水性分為3類,得到新的數據集D1和特征集F1。
2.1.2 特征選取
使用方差過濾和交叉遞歸特征消除算法對特征集F1進行特征篩選,得到新的數據集D2和特征集F2。
2.1.3 特征構造
利用數據集D2和特征集F2訓練XGBoost模型,根據樣本點在XGBoost各棵樹中葉子結點的位置進行One-Hot編碼構造出新的數據集D3和特征集F3。
2.1.4 富水性預測
基于Stacking集成策略,利用D3和F3訓練隨機森林分類算法和SoftMax算法,得到對應的各個類別的預測概率值,縱向拼接不同模型的預測概率值,作為輸入訓練SoftMax多分類模型,得到富水性類別。
利用方差過濾和交叉遞歸特征消除算法選擇影響風化基巖富水性最優特征子集。計算每個特征的方差,設定方差閾值為0,選擇方差大于0的特征,得到新的特征集合y={f1,f2,…,fn},使用交叉遞歸特征消除算法從y篩選出特征子集y*。利用特征集合訓練評估器,剔除特征重要性最低的特征,直到所需的特征數量為止。
在風化基巖鉆孔數據集樣本數一定的情況下,數據集的質量和有效特征的數量對模型最終的預測結果起決定性的作用[16-17]。根據樣本點在XGBoost中每棵樹模型葉節點的索引位置,對位置進行編碼,構造出新特征。XGBoost基于前一棵樹的殘差通過不斷迭代構建多棵串行決策樹以減小殘差值,初始時根節點包含樣本集所有樣本點,經過決策樹之后,葉子節點僅包含單一類別樣本點,從根節點到葉子結點的決策過程即為尋找多個特征間隱含關系的過程,隱藏的多元高級特征即為區分各個樣本點的特征。以原始風化基巖富水性數據集D為例,D={X,Y},X為樣本集合,包含5個樣本點X={a,b,c,d,e};Y為富水性標簽集合,包含3類標簽Y={0,1,2}分別代表弱富水性、中等富水性和強富水性。F代表X中每個樣本的特征集,包含了7個原始特征F={f1,f2,f3,f4,f5,f6,f7}。根據XGBoost模型特征構造算法,以包含3棵決策樹{t1,t2,t3}為例(圖2),展示了數據集D基于構造算法生成F1的過程,其中w={w1,w2,w3,w4,w5,w6,w7}為當前分裂節點特征的特征值。

圖2 構造特征過程Fig.2 Construction features of samples
在XGBoost分裂過程中,從根節點到葉子節點不斷分支的過程即為樣本的分類過程,也是不同特征間組合高級特征的過程。例如t1樹中(f1 表1 新特征集 Stacking算法通常采用疊加多層模型的策略完成建模,使用不同類型的基學習器分別對數據進行建模;將不同模型的輸出作為下一層模型的輸入,訓練下一層模型,完成最終的預測[18-19]。考慮到疊加太多模型可能造成訓練時間過長、過擬合等缺點,預測模型首層使用隨機森林和SoftMax算法并行的基學習器對XGBoost構造的特征進行學習,隨機森林作為強學習器有過擬合的風險,同時使用SoftMax以減少模型過擬合的風險;以首層2個基學習器的預測類別概率輸出作為特征,輸入到第2層學習器即SoftMax網絡中完成對富水性類別的分類。為減少數據劃分對模型預測結果的影響,使用5折交叉驗證分別訓練RF和SoftMax,得到5個不同分類器并輸出對應預測結果概率值,利用得到的新訓練集訓練模型、新測試集測試模型,最終完成模型的訓練與評估(圖3)。 常見的超參數尋優方法包括網格搜索[20-21]、人工確定[22]、隨機搜索及貝葉斯優化算法[23-24]。人工搜索更多依靠先前經驗,主觀性太強,網格搜索和隨機搜索在測試一個新的參數值時,會忽略前一步參數值信息,導致搜索效率極低。貝葉斯優化算法是一種基于超參數先驗知識的智能優化算法,利用代理模型的后驗概率分布構造采集函數,每次對參數值采樣之前都會充分利用上一次采樣的信息,通過采樣函數主動選擇更好的超參數,避免了無效搜索。 為驗證貝葉斯對模型超參數優化的優越性,使用特征篩選之后的特征集訓練XGBoost模型,分別使用網格搜索和貝葉斯優化對模型超參數進行優化,比對在相同數據集下不同超參數優化算法的AUC值(表2)。 圖3 富水性預測模塊Fig.3 Water-rich prediction module 表2 不同優化算法 2種優化算法最終預測準確率幾乎一致,但在運行時間上相差較大,網格搜索由于需要暴力搜索每一種參數組合可能,時間開銷巨大,對于煤礦安全生產需要模型在保證預測準確率的同時保證模型運行時間要盡可能小,因此選用貝葉斯優化算法對模型超參數進行優化。 選用陜北紅柳林礦區1 291條水文地質數據,富水性類別根據鉆孔單位涌水量大小,以《煤礦防治水細則》[25]為標準進行確定。將含水層富水性分為4類:弱富水性(q≤0.1 L/s·m)、中等富水性(0.1 經過數據處理模塊和特征選擇模塊之后,總共包含1 291條數據,7個特征和1個標簽,具體為風化系數、含水層厚度、巖芯采取率、巖性組合指數、脆性巖厚度比、地形地貌、隔水層厚度和風化基巖富水性等級。使用python3語言、編譯器Anaconda,利用Scikit_learn機器學習庫進行實驗。 根據煤炭行業的國家標準,將礦區富水性分為3類,使用宏平均后(Macro Average)的準確率(accuracy_macro)、查全率(recall_macro)、f1_macro值和查準率(precison_macro)作為多分類模型的評價標準,并通過對比多模型的運行時間衡量模型的預測效率。 3.3.1 單模型對比 利用5折交叉驗證分別訓練Fisher算法、邏輯回歸分類算法(LR)、卷積神經網絡(CNN)、長短時記憶網絡(LSTM)、支持向量機分類算法(SVM)、BP神經網絡以及所提的模型進行對比,實驗結果見表3、圖4。 表3 單模型 各項評估指標明顯高于其他對比模型,Precison_macro提高了27.8%,證明模型在風化基巖富水性類別預測方面具有較高的穩定性和準確性,同時對比實驗所需時間,雖然Fisher,LR模型5折交叉驗證所需時間較短,預測準確率較低;SVM,BP神經網絡算法所需時間過長,煤礦安全生產中不利于實時預測系統的構建,通過融合多種機器學習模型在風化基巖含水層富水性預測問題上是可行且具有較高準確率。 圖4 單模型對比Fig.4 Comparison of single models 3.3.2 多模型對比 富水性預測模塊第1層模型的融合方式有多種,為驗證所提融合模型跟其他對比模型相比的優越性,使用同一數據集分別利用XGBoost+SoftMax(XGB+S)、LightGBM+SoftMax(LGB+S)和RF進行對比實驗,比較不同的模型融合在預測風化基巖富水性類別上的性能,實驗結果見表4、如圖5所示。 表4 融合模型對比 圖5 組合模型Fig.5 Combination models 融合模型在整體預測準確率優于其他模型包括基模型在內,準確率提升了13.2%。模型第1層使用的基學習器在抑制模型過擬合的同時也會損失一定的預測準確率,第2層學習器的再次訓練使得最終模型的整體預測準確性高于單一機器學習模型和其他對比模型。模型出現了過擬合的現象,首層使用的是強學習器,模型整體往減少偏差方向移動,訓練集預測率很高,在測試集上預測性能較差,驗證了使用SoftMax去抑制融合模型的過擬合現象是正確的。 融合模型對弱和中等富水性的預測能力較強,對強富水性的預測能力相對較弱,可能礦區內強富水性的數據量較少,經過模型融合之后,強富水性數據的特征被稀釋,導致融合模型對強富水性數據特征學習能力變弱(圖6)。 圖6 真陽率與假陽率關系Fig.6 Relation of true positive rates and false positive rates 1)與其他組合模型對比,使用SoftMax可抑制基模型過擬合,增加對少數類樣本的學習能力,泛化性較強。 2)風化基巖富水性預測是一個高維且非線性過程。利用多模型疊加預測富水性規律,預測準確率提升了27.8%。 3)利用多模型融合預測風化基巖富水性取得較好的效果,對礦井防治水具現實意義和推廣價值。由于采礦地質條件復雜,采集數據困難,在建模之前需要做大量精細化的數據收集工作。
2.4 富水性預測模塊
2.5 貝葉斯優化超參數


3 實驗與結果
3.1 數據來源與實驗環境
5 L/s·m),根據鉆孔實測數據,礦區最大單位涌水量為4.731 L/s·m,未見極強富水性,將富水性類別分為3類,分別用0,1,2表示。
3.2 模型的評判標準
3.3 實驗結果分析





4 結 論