謝天保, 趙 萌, 雷西玲
1(西安理工大學 經濟與管理學院,西安 710054)
2(西安理工大學 計算機科學與工程學院,西安 710054)
近幾年我國煤炭產量不斷增大,但發生的煤礦事故也較為嚴重,死亡人數總量是世界上其他產煤國家死亡總數的3倍,遠遠超過世界其他產煤國家煤礦事故死亡總數,此外全國每年還有十幾萬的事故傷殘人員. 據統計,“十一五”期間,全國煤礦發生特別重大水害事故26起,平均每年發生5起,共死亡506人. 種種事實數據表明,目前我國煤炭企業安全生產形勢較為嚴峻,煤礦突水預測已成為煤礦安全生產亟需解決的問題,具有非常重要的現實意義.
目前,煤礦突水預測方法主要分為兩大類:即基于突水機理預測法和數學與計算機模型預測法. 基于突水機理預測法的缺陷在于目前的研究大多從力學角度出發,通過試驗或數值模擬建立力學模型,因不能全面考慮突水影響因素,建立的模型并不能真實反映實際情況,例如實際中煤層底板很難滿足薄板理論的基本條件(厚寬比小于1/5~1/7); 數學與計算機模型預測方法通常采用突水指數法,如突水概率指數法[1],層次分析法[2],聚類分析法[3],脆弱性指數法[4],Logist二元回歸分析法[5],Probit回歸模型[6],事故樹分析法[7]以及神經網絡預測法[8-11]等等. 建立在數學方法上的突水預測方法,都是基于某種理論并對其進行簡化建立預測模型,使得礦井突水預測方法得到一定程度提高,但模型無法保證所有突水樣本的正判(即突水樣本100%的正判率)[12-14]. 事實上一次突水事故誤判可能造成無法估量的經濟損失,為此本文基于煤礦突水預測需求、樣本數據非均衡、空間交錯以及不同樣本誤判后果的巨大差別,提出面向非均衡樣本集的煤礦突水預測模型,以不突水樣本誤判率最小為代價,力求突水樣本100%的判別準確率. 重點研究基分類器的構建算法、性能評判指標、基于分類規則與樣本貼近度的權重分析以及集成學習算法,實驗表明該算法在保證整體預測準確率前提下,突水樣本正判率100%,模型測試性能良好,與Bagging算法相比具有較快的收斂速度及較高的預測準確率.
如上所述,目前的研究忽視了對礦井工程地質條件和模型的基礎研究,沒能查清和分析工程地質單元特征、巖體結構、地質構造、地應力情況、水文地質條件及開采條件對突水的作用. 針對這個問題,作者通過參閱文獻和在煤炭部西安分院、陜西煤炭研究所部分專家的幫助下,依據煤礦的構造條件、巖性組合條件、含水層條件、開采條件及突水征兆5個方面確定了影響煤礦突水的22個因素(數據結構如表1).
煤礦突水機理具有多樣性,是指在不同的地質及水文地質條件下,采用破壞或水壓破壞表現出不同的空間組合特征,突水機理的多樣性反映了地質及水文地質條件的變化,煤礦突水是否突水受制于諸多因素的綜合影響. 盡管如此,但根據文獻[2],施工經驗及《礦區水文地質工程地質勘查規范》,在諸多因素中,斷層充水X5和含水層水壓X12對煤礦是否發生突水影響最大.

表1 煤礦突水預測樣本數據結構
毫無疑問,相對于正常煤礦生產,發生突水畢竟是小概率事件,通常收集的煤礦突水樣本集中,不突水樣本個數遠大于突水樣本數目,加之各煤礦地質條件、施工條件的綜合影響,樣本數據集具有如下特征:
(1)樣本種類比例呈現非均衡狀態,不突水樣本個數遠大于突水樣本數目. 突水樣本數目少,空間分布相對集中,不突水樣本數目較大,相對比較分散.
(2)由于地質條件、施工條件及偶然因素的影響,導致樣本數據發生沖突,例如22個影響因素的數據大致相近,大部分樣本數據標簽為“不突水”,個別樣本標簽為“突水”.
(3)類別不同,誤判的嚴重性差別很大. “不突水”誤判為“突水”無非是提醒施工人員加強防范,“虛驚一場”;但“突水”誤判為“不突水”那將是“千古罪人”.
對于傳統的預測方法、神經網絡、多元回歸及支持向量機,非均衡數據集可能導致訓練模型包含過多的“不突水”樣本信息,但只有少量“突水”樣本信息,擬合過度,盡管模型整體預測率較高(對大量不突水樣本預測準率較高),但對“突水”樣本預測準確率較低. 加之上述特征2提到的樣本沖突問題,增加了傳統預測方法對“突水”樣本正確預測的難度.
近年來集成學習是近年來機器學習領域中的研究熱點之一. 由于可以取數量大致相當、類別不同的樣本構建基分類器,以及在眾多分類器中依據用戶需求選擇性能良好的分類器,因此集成學習成為最有希望解決非均衡樣本集準確預測的方法.
集成學習經典的兩個算法是Bagging (Bootstrap Aggregating)和AdaBoost,其工作原理都是首先構建若干個基分類器,然后對各基分類器的預測結果進行綜合分析,最終確定預測結果,從而提高分類預測的準確率. 由于可以取不同類別樣本數量大致相當構建基分類器,以及在眾多分類器中依據用戶需求選擇合適的分類器,因此集成學習成為最有希望解決非均衡樣本集準確預測的方法.
從理論上講分類器的選擇是任意的,但由于樣本向量數據中通常存在數值型變量、類別及次序等多種變量,因此經典的Bagging和AdaBoost算法中絕大多數都采用決策樹分類器. 考慮到煤炭突水影響因素大多為連續性數值型變量,采用決策樹處理這類變量時需要分段離散化處理,分段越多,決策樹節點越多,預測精度較高,但增加了計算量. 相反分段越少,決策樹節點少,預測精度不能保證. 同時考慮到煤礦突水預測隸屬分類預測,本文首先識別出邊界樣本,選擇部分別界樣本構建基分類集、采用類似聚類的距離判別法構建煤礦突水的基分類器,即通過判定樣本與不同類別聚類中心之間的距離遠近做出分類,比較適合數值變量處理.
(1)尋找邊界樣本,更新其邊界樣本抽樣概率.
傳統的隨機森林法采用隨機抽取法構建分類集,盡管具有泛涵性,但由于邊界樣本占總樣本比例較少,這種分類集不能保證對邊界樣本的學習能力,而邊界樣本判別的準確率決定著這個系統的預測精確度. 如何識別出邊界樣本? 本文思路如下:從訓練集突水樣本(突水樣本少,信息重要)中任選一樣本k(圖1中的紅色圓點),給定距離半徑Cr,從訓練集中選擇出與k的距離小于Cr的所有樣本集. 如果樣本集中未包含不突水,增大Cr,直至樣本集中至少存在1個不突水樣本,(如圖1,Cr1圓中包含了3個三角類),找出邊界樣本k1(實心三角); 再以k1為圓心,逐次增加距離半徑Cr,直至分類集中至少包含1個圓類(如圖1中,Cr2圓中包含了2個圓類),然后找出另一個邊界樣本k2(綠色圓點),找到邊界樣本k1和k2后,根據附近點距離邊界點的距離更新其附近樣本的抽樣概率.

針對訓練集任一樣本點i,其抽樣概率的更新方法如下:


考慮到i可能與其他邊界樣本的距離更近,因此這里的更新條件要考慮tp>p(i). 邊界樣本抽樣概率提高后,構建分類器時,便于分類集中包含不同類別的樣本.

圖1 邊界樣本的查找法
(2)構建基分類集SD.
基分類集是用來構建基分類器的,而分類通常依靠邊界樣本,因此基分類集應盡可能包含邊界樣本(或其附近樣本)信息. 隨著分類器的增多,更多邊界及其附近樣本抽樣概率在提高,后續分類集包含邊界樣本的比例增多,整個模型的預測準確率提高. 考慮到煤礦突水非均衡集特點,每次樣本成對出現,即隨機選擇某個別界樣本(或別界附近樣本)以及與之距離最近的不同類樣本,以保證基分類集中不同類別的樣本數目均衡. 假設基分類集樣本編號用數組TempD(Cn)表示,Cn表示基分類集樣本個數.
Step 1. 構建邊界樣本列表Tube(k1,k2);
Step 2. 任取樣本點k,按照圖2所示方法尋求邊界點k1和k2,如果k1和k2不在Tube列表中,加入列表,按照公式(1)更新訓練樣本的抽樣概率;
Step 3.TempD(1)=k1:TempD(2)=k2:n=2;
Step 4. 產生隨機概率P,產生隨機樣本k;
Step 5. 如果樣本k的抽樣概率p(k)大于隨機概率P,樣本k被抽取,加入基分類器TempD數組,按照以上所述邊界樣本尋找法,尋找另類樣本中與k樣本最近的邊界樣本k’加入TempD.
Step 6. 如果基分類集中樣本數n大于等于Cn,轉Step 7,否則轉Step 4;
Step 7. 根據抽取樣本的編號TempD,從訓練集讀取樣本數據,構建基分類集SD().
(3)構建基分類器.
以上構建的基分類集中包含隨機抽取的樣本和邊界樣本,利用這些樣本如何構建基分類器呢? 本文的思路為首先采用有監督學習技術,即根據基分類集樣本標簽對樣本分類,求出各類的初始聚類中心,然后采用無監督學習法(不考慮樣本分類標簽,只考慮影響因素,以揭示影響因素與樣本類別的內在聯系),即通過K-means聚類法對基分類集樣本進行學習,若干次迭代學習后,最終獲取聚類中心,根據樣本與聚類中心的距離作為基分類器判別分類的結果,考慮到在實際應用中,每個影響因素對煤礦是否突水的影響度并不相同,為此本文借鑒隨機森林構建決策樹的思想,在構建基分類器時,除了考慮訓練集數據行信息(隨機產生分類集)外,同時隨機抽取Ck個列變量(各基分類器所包含的列變量不同),構建基分類器,以提高分類器的多樣性.
輸入:Numk:基分類器編號,按構建次序進行編號;Cn:基分類集樣本數量; SD(i,j):基分類集樣本數據,i=1,2,…,Cn,j=1,2,…,23 (22個影響因素外加一個突水標簽);Ck:基分類器樣本數據的維度 (共22個影響因素),2≤Ck≤22;
輸出:W(Numk,i)=1/0:基分類器列變量 (影響因素),i=1,2,…,22,其中有Ck個W(Numk,i)=1;CenterP(Numk,i):分類器突水類中心,i=1,2,…,22;CenterN(Numk,i):分類器不突水類中心,i=1,2,…,22;


兩個樣本x1和x2之間的距離計算采用公式(2):

盡管基分類器對訓練樣本集進行了學習,融合了眾多的訓練樣本數據信息,對多數樣本有較好的分類準確率. 但單個分類器的穩定性、可靠性不能保障,為此需要構建一系列的基分類器對測試集進行預測以達到“集成功效”. 由于分類器來自不同的訓練樣本,它們對同一測試集的預測結果不一. 因此對這些分類器的預測結果進行投票從而確定最終預測結果. 若超過半數的分類器的預測結果為突水(或不突水),則最終預測結果為突水(或不突水). 假設采用2n+1個分類器對同一測試集進行預測,每個基分類器的預測正確率都為P. 根據概率統計學公式,最終預測結果的正確率PA為:

例如,當采用11個預測正確率均為0.7的基分類器對同一測試集進行投票預測時,根據公式(3)得到最終預測結果的正確率為0.92. 可見相較于單個弱分類器的預測正確率,多個分類器綜合分析法的正確率有很大的提高,這就是集成功效,最終形成一個強分類器.
公式(3)中的P為傳統的預測準確率,即正確預測數(TA=TP+TN,TP為正確預測的不突水樣本數,TN為正確預測的突水樣本數)所占樣本總數比例,假如TP=TP+2,TN=TN-2,盡管P未變,但對煤礦企業的來說,一次突水誤判,企業將遭受致命打擊. 為此為了選擇出良好的分類器,必須修訂分類器性能衡量指標.
ROC(Receiver Operating Characteristic)曲線常被用來評價一個二值分類器的優劣,ROC曲線的橫坐標為誤判率(False Positive Rate),這里對應不突水誤判率; 縱坐標為正判率(True Positive Rate),這里對應突水正判率. ROC曲線用構圖法揭示敏感性和特異性的相互關系,曲線下面積越大,判別準確性越高. 本例中的物理含義為輸出較少的代價(不突水誤判率較低),就能對突水樣本獲取較高的判別率. 這里將曲線下面積近似計算為:

式中,PT為突水樣本的正判率,NF為不突水樣本誤判率.SAUC不僅可以衡量某基分類的預測性能,也是系統(強分類器)的預測性能衡量指標,顯然SAUC越大,分類器預測性能越好. 考慮到一次突水事故將造成巨大損失,本文的算法思想為確保PT=1的前提下,力求NF最小,即以犧牲不突水樣本的最小誤判率為代價,換取所有突水樣本的正判率.
集成學習就是利用眾多的分類器綜合評判,分類器性能不同,對最終判決結果的貢獻不同,所占權重就不同. 考慮到即使SAUC相同的分類器,其分類規則與樣本的匹配度也不相同,所謂匹配度是指分類器規則與樣本分類結果貼近的程度,所以本文依據分類器的匹配度計算分類器的權重. 權重較大的分類器的兩分類中心的中間點(圖1中的藍色點)連線,就可以把整體樣本劃分為不同的類,如圖1所示.
假設某分類器的分類中心突水類和不突水類分別為kp和kn,針對某突水樣本j,分類器正判匹配度ψP(j)和誤判匹配度ψN(j)計算公式如下:

針對所有訓練集樣本,利用公式(5)和(6)分別計算所有正判樣本的匹配度和所有誤判樣本的匹配度,然后根據公式(7)計算分類器k對訓練集的匹配度.

在集成學習的過程中,盡可能選取SAUC和ψPN較高的分類器,分類器數目選定后,對其匹配度歸一化處理后,可求取該分類器的權重,為后續測試集樣本準確預測奠定基礎.
集成學習目前應用較為廣泛的算法有Bagging和Boosting,采用Bagging算法,各分集隨機抽樣,基分類器可以并行生成. Bagging算法具有“集成功效”,并不具備“學習能力”. Boosting算法根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,修正各樣本的抽樣概率,依據修正后的新數據集生成新的分類器,基分類器串行生成. 這種學習能力可以提高錯分樣本抽樣概率,無法保證新分類器對其他樣本的準確率,為此本文提出改進措施:
(1) 新分類集構建時,除了考慮錯分樣本,提高了邊界樣本抽樣概率,確保分類集中邊界樣本的比例.
(2) 在保證分類器多樣性的同時,后續選擇性能良好(權重較大)的分類器參與投票,丟棄誤判率較高的分類器,見Step 3.
(3) 在集成學習(投票)時,考慮了各基分類器的權重,使判別結果更為客觀、科學.
改進后的學習步驟如下描述:
Step 1. 設置合適的參數Cn,采用3.1節的算法構建分類集SD.
Step 2. 采用makeClassifier算法構建基分類器,計算分類器的突水樣本的正判率PT,如PT=1,Numk=Numk+1,計算分類器的權重ψW(Numk),轉Step 3; 否則轉Step 1.
Step 3. 如果分類器個數Numk大于突水樣本總數,并且ψW(Numk)>(Max(ψW)+Min(ψW))/2,存儲新分類器,轉Step 4; 否則丟棄新分類器,轉Step 1. 即選擇性能良好的分類器,減小振幅,以便于模型快速趨于穩定.
Step 4. 針對所有的訓練樣本數據,利用這Numk個基分類器進行分類預測,每個訓練樣本預測結果如公式(8)計算.

Pr(i,k)為第k個分類器對樣本i的預測值,取值1(突水)/-1(不突水),如Spr(i)>0,最終預測結果為突水,否則為不突水.
Step 5. 對于訓練集中所有預測結果錯分的樣本,計算其錯分概率. 假如某樣本k,其樣本標簽為1(突水),Numk個基分類器中有N(N>=Numk-N) 個分類器投票它為-1(不突水),那么其錯分概率計算為N/Numk.
Step 6. 錯分樣本的抽樣概率被提高后,再次調用3.1節的makeClassifier算法構建新的基分類器,轉Step 1.
重復Step 1和Step 6,直至所有的樣本數據都能分類正確,或者經過若干次迭代后所有訓練樣本的整體分類正確率不再明顯變化時,退出循環.
按照第2節中的影響因素分析,本次實驗共收集華北煤礦(主要來自河北省和河南省的部分煤礦),工作面突水情況樣本數據1551個,其中突水樣本97個,未突水樣本1454個. 隨機選取2/3的樣本為訓練集,全部樣本為測試集.
集成學習的本質主要依靠眾多分類器對某樣本的分類投票結果來進行分類,那么針對特定的樣本集,每個分類集的樣本數量Cn如何取值以及時需要多少個分類器,才能使系統預測性能趨于穩定,目前還沒有固定的計算方式,例如隨機森林需要構建多少個決策樹使得系統預測準確率穩定,只能通過實驗來確定. 因此本次實驗分別取Cn為20,40和60,考慮22個影響因素,通過訓練集構建一系列基分類器,分類器總數為200進行測試,這里測試的是對總體樣本,而不僅限于測試集. 實驗結果如圖2所示.

圖2 分類集樣本數Cn對模型SAUC性能影響
當Cn取值為20和40時,每個基分類器訓練樣本較少,隨機性較強,不具有代表性,隨著分類器個數增加,盡管系統預測準確率振幅有所減少,但幾乎不能穩定,可見Cn取值不能過小.
當Cn取值為60時,每個基分類器訓練樣本較多,取樣樣本空間分布的代表性較強,隨著分類器個數逐漸增多,當分類器個數大于97后(見3.2.3節),模型可以選擇性能優良的分類器,振幅減小,達到170個時系統SAUC趨于穩定于0.99.
為了構建更多的分類器及考察各指標因素對系統整體分類的影響,在3.1節構建基分類器時,并沒有采用所有影響因素指標,而是隨機抽取Ck個指標,就如同隨機森林中的每個決策樹的節點數,節點數如何科學選取,依然沒有固定規律,只能是針對特定的訓練樣本集通過實驗分析獲取. 為此本文針對不同的Ck=2,…,22,分別構建200個分類器進行測試,實驗結果如圖3所示. 從圖3不難發現,當基分類器中的指標取12時,系統SAUC穩定于0.99.

圖3 影響因素個數Ck對預測準確率的影響
分類集樣本數量Cn和煤礦突水影響因素Ck確定后,系統的優化模型已經獲取,本節通過與Boosting算法比較,分析本文算法的學習能力. 由于本文算法不僅考慮了錯分樣本抽樣概率、并且充分考慮邊界樣本的分類影響、后續選擇性能良好的分類器及通過加權綜合考慮眾多分類器的集成功效,因此學習能力較強.實驗中參數Cn取60,Ck取12,兩種方法分別構建200個分類器進行測試,實驗結果如圖4所示.

圖4 本文算法與Boosting算法模型SAUC對比
分析圖4不難發現,本文算法的集成學習功效表現在兩個方面:一是系統預測SAUC指標比Boosting高,本文算法SAUC為0.99,Boosting算法學習能力差,SAUC穩定于0.96和0.97之間震蕩; 二是系統預測性能SAUC穩定速度快,尤其是在分類器數量大于突水樣本數目之后,本文算法在170個分類器時趨于穩定,Boosting算法在200個分類器時幾乎不能穩定.
為了更全面的比較分析本文算法與其他模型性能,隨機抽取訓練集(占總樣本比例2/3)構建基分類器后,以全體樣本作為測試集,共進行5次實驗,測試結果取平均值,如表2所示.

表2 工作面樣本數據(1551:97)算法測試結果
由表2不難看出,由于樣本呈非均衡分布,各種算法整體預測準確率PA取決于算法對不突水樣本的預測率NT,四種算法PA都在95%以上,隨機森林PA最高,支持向量機和神經網絡存在對不突水樣本信息過分擬合,泛函能力較差,對突水樣本預測率較低. 但觀察PT和SAUC性能參數,本文算法最好,突水樣本的正判率達到了100%. 在實際應用中,誤判的不突水樣本其實危險系數很高,已經接近于突水,即使誤判也是對煤礦企業突水安全工作敲響警鐘,督促企業提前預防、整改; 而突水的精準、無誤差判別,才是重中之重,是煤礦突水預測的最根本目的.
煤礦突水預測關系著國民經濟的重大發展及人民群眾的生命安全,是一個長期的系統工程,同時基于大數據分析的預測技術已成為當前的研究熱點. 本文在大數據分析技術的基礎上,考慮到樣本數據集呈非均衡分布的特點,提出一種基于集成分類的煤礦突水預測模型,實驗結果證明,該算法可達到100%的突水樣本正判率,具有一定的現實意義,且算法簡單,易于實現.
1 施龍青,韓進,宋揚,等. 用突水概率指數法預測采場底板突水. 中國礦業大學學報,1999,28(5):442-460.
2 李博. 灰色關聯——層次分析法的煤層頂板突水危險性評價模型. 河南理工大學學報(自然科學版),2015,34(3):333-338.
3 劉雙躍,陳麗娜,王娟,等. 基于模糊聚類分析和模糊模式識別的煤層底板突水區域預測. 礦業安全與環保,2013,40(2):85-88.
4 李建林,張洪云,王心義,等. 脆弱性指數法在煤層底板突水預測中的應用與建議. 煤炭學報,2014,39(4):725-730.
5 劉再斌,靳德武,劉其聲. 基于二項logistic回歸模型與CART樹的煤層底板突水預測. 煤田地質與勘探,2009,37(1):56-61.
6 王江榮,趙睿,文暉,等. 基于Probit回歸模型的煤礦底板突水預測. 中國煤炭地質,2015,27(3):40-42,48.
7 許江濤,鄧寅生,文廣超,等. 事故樹分析法在礦井水害防治中的應用. 西安科技大學學報,2009,29(4):405-409.
8 雷西玲,張景,謝天保. 基于遺傳神經網絡的煤礦突水預測. 計算機工程,2003,29(11):132-133. [doi:10.3321/j.issn:1002-8331.2003.11.044]
9 姜成志,張紹兵. 建立在神經網絡基礎上的煤礦突水預測模型. 黑龍江科技學院學報,2006,16(1):8-11.
10 陶一明,劉瑞英. 基于BP神經網絡的煤礦突水預測系統的設計. 內蒙古煤炭經濟,2012,(12):66-67. [doi:10.3969/j.issn.1008-0155.2012.12.042]
11 胥良,賈憲生. 基于神經網絡的PID控制方法在礦井提升機中的應用. 工業儀表與自動化裝置,2015,(2):77-80.
12 徐星,孫光中,王公忠. 基于層次分析法的礦井突水風險模糊綜合評價. 工業安全與環保,2016,42(6):26-29.
13 劉仕瑞,王鳳英. 對兗礦集團Y煤礦突水的安全評價研究.科技信息,2013,(10):141. [doi:10.3969/j.issn.1673-1328.2013.10.135]
14 魏軍,題正義. 灰色聚類評估在煤礦突水預測中的應用. 遼寧工程技術大學學報,2016,25(S):44-46.