周 旭,王認卓,代亞勛,張九零,,孫玉雯
(1.華北理工大學 礦業(yè)工程學院,河北 唐山 063210;2.華北理工大學 人工智能學院,河北 唐山 063210)
礦井火災嚴重威脅著煤炭的安全生產(chǎn),據(jù)不完全統(tǒng)計,礦井火災事故90%以上是因為煤自燃引起的。因此,合理劃分煤自燃階段,精準地確定煤自燃等級,構建煤自燃分級預警模型對礦井安全生產(chǎn)及礦工人身安全具有重要意義[1-3]。
近年來,相關專家學者針對煤自燃預警和煤自燃分級問題主要進行了兩方面研究:一方面,不斷探索各種機器學習算法對煤自燃溫度的預測效果,尋找具備更優(yōu)普適性及準確性的預測模型。鄧軍等[4]提出結合PCA、PSO、支持向量機的煤自燃溫度預警方法,昝軍才等[5]利用BP神經(jīng)網(wǎng)絡構建煤自燃溫度預測模型。但SVM預測效果對模型的參數(shù)比較敏感,BP神經(jīng)網(wǎng)絡存在過擬合現(xiàn)象,使得煤自燃溫度預測并未達到理想狀態(tài)。劉寶等[6]提出了一種基于相關向量機算法構建煤自燃溫度預測模型,鄭學召等[7]將隨機森林算法應用到煤自燃溫度預測問題,相較于支持向量機、神經(jīng)網(wǎng)絡,其預測精度得到了較大的提升。以上研究主要基于機器學習算法構建溫度回歸預測模型,為煤自燃溫度預測提供了新的方法。另一方面,快速、準確確定煤自燃風險等級,進而采取合理防控措施阻止煤自燃。為有效劃分煤自燃等級,相關專家學者通過分析煤自燃各階段的氣體指標特征,尋找指標參數(shù)特征點位,挖掘關聯(lián)關系確定閾值進而劃分煤自燃預警等級。譚波等[8]選取特征溫度點的碳氧化物比率作為預警界限,劃分4個等級預警機制,同時結合灰色關聯(lián)分析法細化預警原則。周言安等[9]結合煤自燃指標氣體的溫度走勢規(guī)律,確定臨界閾值,劃分了適合于顧北煤礦的煤自燃分級預警體系。張鐸等[10]結合Satava推斷法和Popescu法分析煤樣質(zhì)量隨溫度的變化規(guī)律,確定預警等級臨界溫度點。趙敏等[11]根據(jù)遺煤自燃特征,提出了一種基于模糊聚類法和遺傳算法的遺煤火災檢測方法。翟小偉等[12]以系統(tǒng)工程理論為基礎,建立基于SEM的煤自燃危險等級綜合評價體系。郁亞楠等[13]以唐家礦6號煤層為實驗基礎,提出將單指標氣體、綜合指標和標志氣體三者結合的煤自燃“三位一體”預報技術。上述研究通過指標氣體法、模糊聚類法、測溫法等方法劃分特定煤層對象分級預警界限,對煤自燃預警和防治具有一定指導意義。由于不同煤礦地質(zhì)結構、開采環(huán)境、煤質(zhì)組成等因素的不同,相同氣體指標在數(shù)值上存在很大差異,因此,煤自燃等級閾值也會隨著礦井的不同而發(fā)生變化。
基于此,為了快速、準確確定煤自燃危險等級,提高煤自燃分級預警精準性與魯棒性,提出構建基于貝葉斯優(yōu)化XGBoost的煤自燃分級預警模型,并與傳統(tǒng)預測模型進行對比分析,結果顯示BO-XGBoost模型在優(yōu)化方法尋優(yōu)速度和模型準確率方面具有明顯的優(yōu)勢。為進一步驗證模型魯棒性與穩(wěn)定性,將模型應用到唐山某礦的煤自燃分級預警中。該研究對煤自燃分級預警預報具有重要意義。
在機器學習中,優(yōu)化超參數(shù)的方法有隨機搜索,網(wǎng)格搜索和貝葉斯優(yōu)化等方法。貝葉斯優(yōu)化相較于隨機搜索和網(wǎng)格搜索,能夠在較短的迭代時間內(nèi)獲得較優(yōu)的參數(shù)組合。因此,近年來貝葉斯優(yōu)化算法在參數(shù)尋優(yōu)領域得到了廣泛應用[14]。其中,概率代理模型和采集函數(shù)[15]是貝葉斯優(yōu)化算法中兩個重要部分。為了使目標函數(shù)代理模型更貼近真實函數(shù),應用概率代理模型增加試驗次數(shù)。采樣函數(shù)在最大概率出現(xiàn)全局最優(yōu)區(qū)域選取新的樣本點,通過不斷迭代更新樣本點,使目標函數(shù)最小。
高斯過程(GP)與樹形Parzen估計器(TPE)是常用的概率代理模型,最大概率提升(PI)與最大期望提升(EI)[16]是常見的兩種采集函數(shù)。TPE相較于GP在效率和精度上均有提高,因此選擇TPE和EI作為貝葉斯優(yōu)化的概率代理模型和采集函數(shù)。
TPE對先驗概率p(x|y)與目標函數(shù)評估值概率p(y)定義,TPE定義的p(x|y)如式(1)所示。
式中,x為超參數(shù)組合;y為目標函數(shù)評價函數(shù)值;y*為目標函數(shù)評價函數(shù)最大值;當x(i)的損失函數(shù)小于y*時,概率密度函數(shù)為l(x);當x(i)的損失函數(shù)大于等于y*時,概率密度函數(shù)為g(x)。
最大期望提升EI如式(2)所示。
式中,γ=p(y 集成學習算法包括:Bagging、Boosting和Stacking三類。其中,XGBoost算法是基于Boosting集成思想,由梯度提升樹改進得來的。它將決策樹作為弱分類器,增加錯分樣本權重,通過加入新的決策樹,糾正原分類器產(chǎn)生的誤差,最后將多個決策樹加權求和,作為最終預測結果[17-19]。 首先定義一棵決策樹輸出函數(shù)如式(3)所示。 f(a)=ωq(a),ω∈RT,q:Rd→{1,2,…,T} (3) 式中,a為輸入向量;q為樹結構;ω為對應的葉子分數(shù);T為樹中葉子節(jié)點數(shù)量;d為數(shù)據(jù)特征維數(shù)。 XGBoost是一種由K棵決策樹基于Boosting的集成算法,其輸出函數(shù)u如式(4)所示。 在單顆決策樹的目標函數(shù)中引入懲罰項ζ,以防止決策樹葉子節(jié)點過多出現(xiàn)過擬合現(xiàn)象,其中,式(5)為單棵決策樹的復雜度。 目標函數(shù)最優(yōu)解如式(7)所示: XGBoost模型的準確率和魯棒性易受參數(shù)的影響,本文提出基于貝葉斯方法優(yōu)化XGBoost的學習率、n_estimators、最大深度等參數(shù)的煤自燃分級預警模型,其算法流程如圖1所示。BO-XGBoost算法步驟如下: 圖1 煤自燃分級預警流程 1)步驟一:數(shù)據(jù)預處理,將原數(shù)據(jù)中連續(xù)型溫度劃分為合適的煤自燃溫度等級,并將輸入氣體指標特征數(shù)據(jù)進行縱向歸一化處理。 2)步驟二:將預處理后的數(shù)據(jù)以7:3比例劃分成訓練集和測試集兩部分,訓練集用以模型訓練與參數(shù)尋優(yōu),測試集用以模型檢驗。其中煤自燃溫度等級為輸出標簽,其對應的氣體指標數(shù)據(jù)為輸入。 3)步驟三:確定初始采樣點個數(shù)init_points與迭代次數(shù)n_iter,選取概率代理模型為TPE,采集函數(shù)為EI,將min_child_weight、learning_rate、max_depth、n_estimators設置為待尋優(yōu)的超參數(shù)組合并初始化參數(shù)尋優(yōu)范圍。 5)步驟五:判斷是否滿足結束條件,如果不滿足繼續(xù)重復步驟四,如果滿足則輸出當前最優(yōu)超參數(shù)組合,完成模型構建。 模型采用的源數(shù)據(jù)是文獻[20]中公開發(fā)表的山東省某礦煤自然發(fā)火實驗數(shù)據(jù),共有337組數(shù)據(jù),部分數(shù)據(jù)見表1。 根據(jù)源數(shù)據(jù)繪制各指標氣體的溫度走勢曲線,如圖2—4所示,根據(jù)圖中指標氣體變化趨勢分析煤自燃過程中各指標特征確定各階段溫度節(jié)點。 表1 部分源數(shù)據(jù) 圖2 O2和CO氣體含量變化曲線 由圖2發(fā)現(xiàn),煤O2含量隨溫度的升高而呈現(xiàn)下降的趨勢,因為煤自燃是一個氧化過程,在這個過程中需要消耗大量的氧氣;在60℃之前屬于緩慢氧化階段,O2含量存在小范圍波動;230℃之后氧氣含量呈現(xiàn)急劇下降趨勢,說明煤開始劇烈燃燒;中間溫度段總體呈現(xiàn)下降趨勢。CO含量整體呈現(xiàn)上升趨勢;在100℃之前含量極低且趨于平穩(wěn),這是因為在反應溫度較低時,大部分CO由煤的物理脫附與化學反應生成,而由煤不完全氧化生成的CO含量相對較少;230℃到380℃之間CO含量趨于穩(wěn)定;380℃后CO含量驟增。 由圖3曲線走勢分析可得,C2H4濃度整體呈現(xiàn)上升趨勢;230℃之前C2H4濃度極低且趨于平穩(wěn);230℃之后呈現(xiàn)大幅度波動上升趨勢,這是由于原始煤樣中僅含有微量C2H4氣體,在高溫階段,煤分子鍵斷裂產(chǎn)生大量C2H4氣體。CO/ΔO2比值整體呈現(xiàn)上升趨勢;100℃之前CO/ΔO2處在微量且平穩(wěn)狀態(tài);當煤溫大120℃時,由于煤樣復合反應加快,因此120℃到230℃之間呈現(xiàn)大幅度波動上升趨勢;230℃到380℃之間呈現(xiàn)穩(wěn)定狀態(tài);380℃之后CO/ΔO2比值驟增。 圖3 C2H4和CO/ΔO2氣體含量變化曲線 由圖4曲線走勢分析可得,C2H4/C2H6整體呈現(xiàn)上升趨勢;100℃到230℃之間呈現(xiàn)大幅度波動上升趨勢;230℃后呈現(xiàn)穩(wěn)定狀態(tài)。C2H6含量整體呈現(xiàn)上升趨勢;210℃之前C2H6含量極低且趨于平穩(wěn);210℃到230℃之間C2H6氣體呈現(xiàn)小幅度上升趨勢;230℃之后呈現(xiàn)大幅度上升趨勢。 圖4 C2H4/C2H6和C2H6氣體含量變化曲線 根據(jù)指標氣體隨溫度變化的趨勢圖,分析各指標氣體與煤自燃危險等級間非線性關系,選定40℃、60℃、100℃、120℃、230℃為煤自燃反應過程重要溫度節(jié)點。進而將煤自燃劃分為6個等級,用6種顏色表示,分別為綠色,藍色,紫色,黃色,橙色,紅色。煤自燃風險等級劃分見表2。 證明 (1) 設{xn}是([0,1], ρπ)中的Cauchy-列,則對任意的ε>0,存在N,當m>n>N時, ρπ(xm,xn) 在劃分數(shù)據(jù)集之前,將氣體指標特征數(shù)據(jù)歸一化到[-1,1]區(qū)間內(nèi),歸一化后數(shù)據(jù)能夠有效反映氣體特征相對變化趨勢,可以減少同一氣體指標因煤礦差異造成的數(shù)值差距,增加XGBoost模型的普適性,能有效地應用到其它煤礦分級預警中??v向歸一化公式如式(8)所示。 式中,Bij為歸一化后第i個特征中第j個數(shù)據(jù);Zij為原數(shù)據(jù)第i個特征中第j個數(shù)據(jù);minZi為第i個特征的最小值;maxZi為第i特征的最大值。 表2 煤自燃預警分級 預處理后部分數(shù)據(jù)見表3,其中溫度并未進行歸一化處理,而是將表2中溫度依據(jù)煤自燃危險等級從低到高進行等級化處理。 表3 部分預處理后數(shù)據(jù) XGBoost模型中參數(shù)較多,模型精度易受超參數(shù)影響,其中典型參數(shù)有:建樹棵數(shù)n_estimators、最大樹深度max_depth、學習率learning_rate、最小葉子節(jié)點權重和min_child_weight。為了尋求最優(yōu)超參數(shù)組合,首先劃分合理的參數(shù)尋優(yōu)范圍見表4。XGBoost模型采用Python中sklearn庫,貝葉斯優(yōu)化模型采用Python中Hyperopt庫,迭代次數(shù)n_iter設置為200次,初始樣本點init_points設置為20個,并以訓練集五折交叉驗證的平均準確率為目標函數(shù)。learning_rate和n_estimators參數(shù)尋優(yōu)過程與煤自燃分級預警模型準確率關系如圖5所示。 表4 XGBoost參數(shù) 最優(yōu)的n_estimators參數(shù)與learning_rate參數(shù)通過迭代獲得,圓型點表示不同參數(shù)取值下XGBoost在訓練集中的準確率,星型點表示全局最優(yōu)點,即訓練集準確率最高時參數(shù)值。最優(yōu)準確率為0.91,此時learning_rate=0.13,max_depth=4,n_estimators=63,min_child_weight=2。 圖5 參數(shù)尋優(yōu) 將氣體指標特征對分類結果影響權重進行重要性排序,分析各個指標特征在煤自燃分級預警中作用,如圖6所示。結果發(fā)現(xiàn)所選的各個指標氣體均占有較高權重,進一步證實了所選指標氣體進行煤自燃預警分類的正確性與合理性。其中C2H4、CO、C2H4/C2H6含量影響權重最大。 圖6 特征重要性排序 選取分類學習中常用的準確率、精確率、召回率、F1值四個模型評估指標,由于煤自燃預警等級為多分類問題,采取每一等級計算求平均值的方式得到最終評估指標,評估指標計算公式如式(9)—(12)所示。其中,Ac為準確率;Re為召回率;Pre為精確率;CPi表示第i個等級的預測正確的總數(shù);IPi表示第i個等級預測錯誤的總數(shù);Pi表示預測為第i等級的總數(shù);Ri表示實際為第i等級的總數(shù)。 為了驗證貝葉斯優(yōu)化方法的優(yōu)越性,將BO-XGBoost模型分別與采用隨機搜索、網(wǎng)格搜索的XGBoost模型在尋優(yōu)速度、準確率上進行對比分析。為了提高對比結果的可靠性,在采用網(wǎng)格搜索及隨機搜索時,尋優(yōu)超參數(shù)組合及參數(shù)尋優(yōu)范圍同貝葉斯優(yōu)化算法一致,見表4,迭代次數(shù)仍設置為200次。結果見表5。 表5 優(yōu)化算法性能比較 由對比結果發(fā)現(xiàn),從尋優(yōu)結果準確率看,未采用優(yōu)化的XGBoost模型準確率為87.2%,采用優(yōu)化算法的XGBoost模型準確率均有不同程度提高,貝葉斯優(yōu)化下準確率最佳為91%,網(wǎng)格搜索和隨機搜索下的準確率分別為89.8%、89.7%,相較貝葉斯優(yōu)化算法準確率低。從計算耗時看,貝葉斯優(yōu)化算法優(yōu)化XGBoost模型參數(shù)用時1.43min,相較于網(wǎng)格搜索算法和隨機搜索算法,其尋優(yōu)速度較快。因此貝葉斯優(yōu)化算法效果較好,能在較短的時間內(nèi)找到最優(yōu)參數(shù)組合。 3.7.1 各模型在源數(shù)據(jù)測試集上的應用 為了驗證XGBoost模型在煤自燃分級預警中的預測效果,將所建立的BO-XGBoost模型在測試集上進行測試,并將預測結果分別同隨機森林、支持向量機、KNN模型的結果進行對比分析,其中,各模型的超參數(shù)組合均采用貝葉斯優(yōu)化算法尋優(yōu)。隨機森林模型中最優(yōu)參數(shù)組合為min_samples_leaf=10,n_estimators=30,max_depth=19;支持向量機模型的最優(yōu)參數(shù)組合為核函數(shù)kernel選擇高斯徑向基函數(shù),gamma=3.9,C=50.7;KNN模型中最優(yōu)參數(shù)組合為n_neighbors=20,leaf_size=32;未經(jīng)優(yōu)化算法優(yōu)化的XGBoost模型選用默認參數(shù),默認超參數(shù)組合為:learning_rate=0.1,max_depth=3,n_estimators=100,min_child_weight=1。 各預測模型的準確率、精確率、召回率、F1值對比結果如圖7所示。在基于貝葉斯優(yōu)化的XGBoost算法中,四個評級指標均最高,各指標均達到85%以上。各模型預測精度排序為:BO-XGBoost>BO-RF> XGBoost>BO-SVM>BO-KNN,其中,BO-XGBoost模型的準確率為91%,相較于其他四種模型分別提高3%、4%、9%、12%。 圖7 模型在源數(shù)據(jù)測試集上的預測精度對比 3.7.2 各模型在其他礦實驗數(shù)據(jù)上的應用 為了進一步說明BO-XGBoost模型的普適性,首先選取唐山某礦四個煤層的實驗數(shù)據(jù)作為驗證模型的基礎數(shù)據(jù)集,然后根據(jù)表2進行煤自燃等級劃分并進行數(shù)據(jù)歸一化處理。最后將數(shù)據(jù)分別帶入BO-XGBoost,BO-RF,BO-SVM,BO-KNN,XGBoost模型進行對比分析,其中各模型采用的超參數(shù)組合選擇與前面保持一致。各預測模型評價指標結果如圖8所示。 圖8 模型在其他礦上的預測精度對比 結果顯示基于貝葉斯優(yōu)化的XGBoost模型在準確率、精準率、召回率、F1值四個評級指標上相對最優(yōu)。各指標均達到80%以上,且在不同煤層的實驗數(shù)據(jù)下指標浮動范圍在4%以內(nèi),具有較高的準確性與穩(wěn)定性。BO-RF,BO-SVM,BO-KNN,XGBoost模型的分類準確率相對較低,針對不同煤層的煤自燃風險等級分類效果存在較大差異,穩(wěn)定性相對較差。 1)本文提供了一種結合貝葉斯優(yōu)化算法和XGBoost的煤自燃分級預警模型,并與BO-RF、XGBoost、BO-SVM、BO-KNN模型的分類結果進行對比分析,結果顯示BO-XGBoost模型在準確率、精確率、召回率、F1值四個評估指標中都表現(xiàn)出了良好的性能。 2)為了檢驗貝葉斯優(yōu)化算法的優(yōu)越性,將BO-XGBoost模型分別與基于網(wǎng)格搜索算法、隨機搜索算法優(yōu)化的XGBoost模型、未進行參數(shù)尋優(yōu)的XGBoost模型進行對比分析,結果顯示經(jīng)過貝葉斯算法優(yōu)化后XGBoost模型的準確率最高,而且在參數(shù)尋優(yōu)過程中貝葉斯優(yōu)化算法速度相對較快。 3)為了進一步驗證BO-XGBoost模型的普適性與穩(wěn)定性,將其應用到河北省唐山市某礦,并與BO-RF、XGBoost、BO-SVM、BO-KNN模型精度與穩(wěn)定性進行對比分析,結果顯示BO-XGBoost模型具有較優(yōu)的穩(wěn)定性與分類精度。表明BO-XGBoost模型在不同礦井的煤自燃分級預警中取得了較好的效果。1.2 XGBoost算法
2 基于BO-XGBoost的煤自燃分級預警模型
3 算例測試
3.1 數(shù)據(jù)來源
3.2 煤自燃等級劃分
3.3 數(shù)據(jù)歸一化
3.4 基于貝葉斯優(yōu)化XGBoost模型應用
3.5 模型評價指標
3.6 優(yōu)化算法對比分析
3.7 各預測模型精度對比分析
4 結 論