劉夢杰,朱希安,王占剛
(北京信息科技大學(xué),北京 100101)
礦井突水即“影響、威脅礦井安全生產(chǎn),使礦井局部或全部被淹沒并造成人員傷亡和經(jīng)濟損失的礦井涌水事故”,與瓦斯、煤塵并列為礦山生產(chǎn)建設(shè)過程中的三大主要災(zāi)害。當?shù)V井涌水量超過正常的排水能力時,就會發(fā)生礦井水災(zāi)事故。突水事故的發(fā)生,會嚴重影響煤礦行業(yè)的安全生產(chǎn),因此有效的突水預(yù)測和實時的突水預(yù)報是降低煤礦水害事故多發(fā)的重要途徑之一[1]。
目前對煤層底板突水預(yù)測分析大多局限于定性研究,最終得到煤層底板突水量的等級劃分,而對實際突水量預(yù)測的定性研究卻很少[2]。劉北戰(zhàn)等[3]通過PCA-SVR方法用較低維數(shù)包含了影響底板突水的多個因素,保證了預(yù)測效率及精度,得到了樣本點的突水等級;高衛(wèi)東等[4]通過粒子群算法優(yōu)化支持向量機方法針對底板突水量進行預(yù)測,并驗證了預(yù)測結(jié)果與實際情況吻合度較高,但也僅得到了樣本點的突水等級。之后,秦潔璇等[1]將SVR模型用于礦井底板突水量的預(yù)測,但SVR模型在單獨進行突水量預(yù)測時,存在訓(xùn)練過程模型參數(shù)選取盲目性的問題。因此,本文通過FOA-SVR模型來實現(xiàn)礦井底板突水量的預(yù)測,有效地避免了上述問題。
當發(fā)生礦井水災(zāi)時,按照突水點位置的不同,可以分為頂板突水、底板突水和側(cè)向突水三種類型,不同類型誘發(fā)突水的原因是不一樣的。由于底板突水的發(fā)生頻率相對更高,因此本文設(shè)計了一種FOA-SVR底板突水量預(yù)測模型,可以為該類型突水的突水量計算提供參考,如圖1所示。
圖1 FOA-SVR底板突水量預(yù)測模型Fig.1 FOA-SVR prediction model forfloor water inrush quantity
本模型首先需要整理國內(nèi)一些典型的底板突水樣本集并進行歸一化處理消除量綱以及單位的影響,并將樣本集分為訓(xùn)練集和測試集兩個部分。初始化果蠅種群參數(shù)之后調(diào)用SVR算法計算適應(yīng)度值,并迭代尋優(yōu)得到優(yōu)化之后的SVR模型參數(shù),通過訓(xùn)練集學(xué)習(xí)建立FOA-SVR底板突水量預(yù)測模型,然后對測試集中的樣本進行預(yù)測,最后對該模型進行了實驗分析與驗證。
20世紀90年代中期,VPANIK等提出了支持向量機模型,該模型可以較好地解決下凹樣本、非線性、過學(xué)習(xí)和局部極小點等問題[5]。但是使用該模型時需考慮參數(shù)的選擇問題,這一直都是解決實際問題時所遇到的一大難點,它們的選取會直接影響模型的復(fù)雜程度以及預(yù)測精度[6]。
果蠅算法是繼遺傳算法、粒子群算法、蟻群算法等典型的優(yōu)化算法之后,Wen-Tsao PAN于2011年從果蠅的覓食行為中得到啟發(fā)而提出的一種新型群體智能優(yōu)化方法。與其他的優(yōu)化算法相比較,果蠅算法實現(xiàn)起來比較簡單,它只有兩個參數(shù)需要調(diào)節(jié),并且全局尋優(yōu)能力強,對實際應(yīng)用具有一定的幫助[7]。
FOA-SVR模型即通過果蠅算法優(yōu)化支持向量回歸機參數(shù),可以有效地解決參數(shù)選擇問題。
適應(yīng)度函數(shù)也稱為評價函數(shù),可以將優(yōu)化問題的目標函數(shù)與果蠅個體的適應(yīng)度值之間建立某種映射關(guān)系,即在果蠅尋優(yōu)過程中通過適應(yīng)度函數(shù)實現(xiàn)對優(yōu)化問題目標函數(shù)的尋優(yōu)。在FOA-SVR模型中適應(yīng)度函數(shù)是建立該模型的關(guān)鍵。
適應(yīng)度函數(shù)的選擇會影響FOA的收斂速度以及能否找到最優(yōu)解,同時適應(yīng)度函數(shù)的建立應(yīng)該盡可能的簡單,使計算的時間復(fù)雜度最小。對實際問題進行分析可知,yi,test(x)為該模型所預(yù)測的某突水點的突水量,見式(1)。
(1)
(2)
式中,σ為核函數(shù)的寬度。
本文所選用的適應(yīng)度函數(shù)計算見式(3)。
(3)
式中:n為測試樣本總個數(shù);yi,true(x)為某突水點的實際突水量。
代入求解得適應(yīng)度函數(shù)表達式見式(4)。
(4)
通過計算預(yù)測突水量與實際突水量之間的均方誤差,使得該取值最小,即預(yù)測精度最高。
FOA模型算法通過模擬果蠅個體以及群體的覓食過程,經(jīng)過適當?shù)牡^程可以得到全局最優(yōu)解[6]。
果蠅迭代搜尋食物的步驟如下所示。
步驟1:首先初始化果蠅群體位置(Xaxit,Yaxit),設(shè)置果蠅群體規(guī)模n及迭代次數(shù)m,見式(5)。
(5)
式中,Rand(LR)為果蠅群體的隨機位置。
步驟2:利用嗅覺搜尋食物的飛行距離及方向確定果蠅個體的位置,見式(6)。
(6)
式中,Rand(FR)為果蠅個體的固定步長。
步驟3:由于食物的位置是未知的,先估計果蠅距離原點坐標的距離Di(式(7)),距離越遠,嗅到的味道濃度越低,因此味道濃度判定值Si取距離的倒數(shù)(式(8))[7]。
(7)
Si=1/Di
(8)
步驟4:將味道濃度判定值代入到味道濃度判定函數(shù)(fitness function)即適應(yīng)度函數(shù)中,求出該果蠅個體的味道濃度(式(9))。
Smelli=F(Si)
(9)
步驟5:根據(jù)味道濃度判定函數(shù)在果蠅群體中找出味道濃度最大的果蠅個體(式(10))。
[bestsmellbestindex]=max(smell)
(10)
式中:bestsmell為味道濃度最大的果蠅個體所對應(yīng)味道濃度;bestindex為該果蠅個體對應(yīng)的坐標位置。
步驟6:保留最佳味道濃度值及該果蠅對應(yīng)的(X,Y)坐標位置,此時果蠅通過其敏銳的視覺朝著這個位置飛去,計算見式(11)和式(12)[8]。
smellbest=bestsmell
(11)
(12)
步驟7:進入迭代尋優(yōu)過程,重復(fù)步驟2至步驟5,并判斷味道濃度是否優(yōu)于上次,如果是,則繼續(xù)執(zhí)行步驟6。
支持向量機回歸模型的目的是通過學(xué)習(xí)訓(xùn)練集中的樣本點,使得它們可以盡量的擬合到線性模型yi=ω·φ(xi)+b上。為了使支持向量回歸機保持較好的稀疏性[2],定義不敏感損失函數(shù)ε>0,假設(shè)所有的訓(xùn)練數(shù)據(jù)在精度ε下使用線性函數(shù)進行擬合,令z=yi-ω·φ(xi)-b,則加入松弛因子ξ,ξ*之后,SVR問題轉(zhuǎn)化為求優(yōu)化目標函數(shù)最小化問題(式(13))[5]。
(13)
式中,C為懲罰因子。
求得SVR問題的對偶形式,計算見式(14)。
(14)
通過求解,求得支持向量回歸機的決策函數(shù),見式(15)。
(15)
式中:m為支持向量回歸機個數(shù);核函數(shù)是k(xi,xj)=φ(xi)φ(xj)。
選擇不同的核函數(shù)可以構(gòu)造出不同的SVR模型。本文選用徑向基核函數(shù),相比于其他的核函數(shù),它只需要確定一個參數(shù),并且函數(shù)復(fù)雜度較低。徑向基核函數(shù)表達式見式(16)。
(16)
參數(shù)ε控制著回歸函數(shù)對于樣本數(shù)據(jù)不敏感區(qū)域的寬度;參數(shù)C反映了算法對超出ε的樣本數(shù)據(jù)的懲罰程度;參數(shù)σ為核函數(shù)的寬度參數(shù),控制了函數(shù)的徑向作用范圍[9]。為了選擇出最優(yōu)的SVR參數(shù),我們通過FOA來解決這個問題,對參數(shù)(ε,C,σ)進行訓(xùn)練尋優(yōu),F(xiàn)OA尋優(yōu)流程如圖2所示。
圖2 FOA尋優(yōu)流程Fig.2 Optimization process of FOA
底板突水受到多種因素的綜合影響。其中,水壓是底板突水的基本動力,決定著是否會發(fā)生突水以及突水量的大??;含水層的富水性決定突水量的大小及穩(wěn)定性;隔水層有助于抑制底板突水,當其他條件都一樣時,隔水層厚度越大越不容易發(fā)生突水[10];采動裂隙是由礦壓和底板高承壓水共同作用產(chǎn)生的結(jié)果,由它所形成的導(dǎo)水通道會誘發(fā)底板突水的產(chǎn)生,其擴展程度受到多種因素的共同影響;斷層可縮短煤層與含水層之間的距離,逐漸形成突水通道,斷層構(gòu)造與礦壓相互作用,使底板裂隙進一步擴展,隔水能力大大降低,更易發(fā)生突水現(xiàn)象[11]。
結(jié)合實際情況以及相關(guān)資料綜合分析,選取水壓、含水層厚度、隔水層厚度、底板采動裂隙帶深度以及斷層落差5個因素作為影響預(yù)測底板突水的主要因素,以此作為預(yù)測模型的輸入?yún)?shù),輸出即為預(yù)測的突水量[3]。其中,輸入?yún)?shù)特征值的選取原則為:可以完全定量的用定量數(shù)據(jù)表示,不能定量的用二分量表示。則文中含水層厚度采用二分量類型,1表示薄層灰?guī)r,0表示厚層灰?guī)r;其他屬性則采用連續(xù)性參數(shù)進行設(shè)置[1]。
樣本集的選取要具有代表性,且每一個樣本應(yīng)該包含相同的屬性特征[1]。筆者收集整理了一些煤層底板突水案例并從中選出18個,其中14個作為訓(xùn)練樣本集,4個作為預(yù)測樣本集。由于樣本集中多指標的量綱和數(shù)量級不相同,為消除不同量綱數(shù)據(jù)對評價結(jié)果的影響,需要對樣本數(shù)據(jù)進行標準化處理[12],選用Min-Max標準化轉(zhuǎn)換方法,轉(zhuǎn)換公式為式(17)。
x′=(x-xmin)/(xmax-xmin)
(17)
式中:xmax為樣本數(shù)據(jù)的最大值;xmin為樣本數(shù)據(jù)的最小值。
經(jīng)過處理之后標準化樣本集見表1。
表1 標準化樣本集Table 1 Standardized sample set
通過Matlab編寫程序,設(shè)置迭代次數(shù)為150,種群規(guī)模為35,迭代尋優(yōu)后果蠅群體中出現(xiàn)最優(yōu)解,參數(shù)尋優(yōu)之后得到懲罰因子C=83.68、不敏感損失函數(shù)ε=0.324和核參數(shù)σ=1.8789的預(yù)測模型。
通過建立的FOA-SVR模型對預(yù)測樣本集進行突水量預(yù)測,得到預(yù)測值之后并對其預(yù)測結(jié)果進行反歸一化,將預(yù)測結(jié)果及誤差分析與通過SVR模型預(yù)測出來的做比較,結(jié)果見表2。
表2 不同模型預(yù)測結(jié)果對比Table 2 Comparison of prediction results based on different models
由表2中的預(yù)測結(jié)果分析可知,F(xiàn)OA-SVR模型對4個預(yù)測樣本集的預(yù)測相對誤差分別是2.7934%、2.1330%、6.8556%和1.7994%,用SVR模型的預(yù)測相對誤差分別是11.5400%、7.2246%、15.9150%和8.9713%,即FOA-SVR模型相比于直接使用SVR模型來說誤差更小,預(yù)測精度更高。說明果蠅算法選擇的模型參數(shù)合適,該突水量預(yù)測模型具有很強的泛化能力,可以達到預(yù)測底板突水量的目的,為煤礦采取合理的防治措施提供依據(jù)。
1) 本文選用支持向量回歸機模型對底板突水量進行預(yù)測,選擇水壓、含水層厚度、隔水層厚度、底板采動裂隙帶深度和斷層落差這5個影響因素作為輸入因子,輸出即為需要的突水量,可以有效地避免定性分析的局限性。
2) 人為去選擇支持向量回歸機參數(shù)的話,會有隨機性和盲目性,選擇國內(nèi)一些典型的煤礦突水事故樣本集,分為訓(xùn)練樣本集和測試樣本集兩部分,利用FOA模型對樣本數(shù)據(jù)進行訓(xùn)練選擇最優(yōu)參數(shù)建立FOA-SVR突水量預(yù)測模型,通過該模型對測試集突水量進行預(yù)測。通過實驗分析驗證,該模型比SVR模型具有更高的預(yù)測精度。