秋興國, 李靖
(西安科技大學 計算機科學與技術(shù)學院, 陜西 西安 710600)
礦井突水作為嚴重威脅煤礦生產(chǎn)安全的主要礦井災(zāi)害之一,一旦發(fā)生會給礦區(qū)造成嚴重的經(jīng)濟損失和人員傷亡[1]。對煤層突水進行預(yù)測,可在突水事故發(fā)生之前及時采取措施,從而減少突水事故,更有效地保障煤礦生產(chǎn)安全。傳統(tǒng)的突水預(yù)測方法主要包括突水系數(shù)法、阻水系數(shù)法及脆弱性指數(shù)法等[2-3]。這些方法已被廣泛應(yīng)用于突水預(yù)測中,但仍存在缺陷,如突水系數(shù)法和阻水系數(shù)法考慮的因素都較少且計算精度低,脆弱性指數(shù)法需要多種屬性的支持且對原始數(shù)據(jù)的要求較高。
近年來,機器學習方法被越來越多地用于解決煤礦突水預(yù)測問題。潘輝等[4]針對底板突水非線性特征,利用粒子群優(yōu)化(Particle Swarm Optimization,PSO) 算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),建立了底板突水預(yù)測模型,但BP神經(jīng)網(wǎng)絡(luò)訓練依賴大量數(shù)據(jù),對小樣本突水事件的預(yù)測精度偏低。宋國娟[5]將PSO算法與極限學習機結(jié)合進行突水預(yù)測,Wang Ge等[6]利用PSO算法和蟻群優(yōu)化算法分別對極限學習機進行優(yōu)化,建立突水預(yù)測模型,但這2種算法在尋優(yōu)時收斂速度都較慢。師煜等[7]利用遺傳算法和PSO算法優(yōu)化隨機森林回歸模型,提高了突水預(yù)測精度。李穎[8]針對非線性、小樣本的底板突水問題,首次將支持向量機(Support Vecor Machine,SVM)模型用于底板突水預(yù)測,通過實驗驗證了該模型的有效性。張風達等[9]采用PSO算法優(yōu)化SVM參數(shù),提高了突水預(yù)測精度。智能群體算法一定程度上改善了機器學習模型參數(shù)選擇盲目的問題,但常用的智能優(yōu)化算法如PSO算法、蟻群算法、果蠅優(yōu)化算法[10]、遺傳算法等仍存在參數(shù)設(shè)置較多、收斂速度較慢或容易落入局部最優(yōu)的缺陷。
鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)是依據(jù)鯨魚圍捕獵物的行為提出的一種智能優(yōu)化算法[11]。WOA需設(shè)置的參數(shù)較少、結(jié)構(gòu)簡單,適用于SVM模型的參數(shù)優(yōu)化,但收斂速度較慢,且優(yōu)化結(jié)果容易陷入局部最優(yōu)。因此,為提高WOA的收斂速度,避免WOA在尋優(yōu)過程中過早地陷入局部最優(yōu),提出了一種改進鯨魚優(yōu)化算法(Improved Whale Optimization Algorithm,IWOA),從鯨魚種群初始化、調(diào)節(jié)因子非線性化及隨機差分進化(Differential Evolution, DE)3個方面入手對WOA進行改進。在此基礎(chǔ)上,提出了一種基于IWOA-SVM的煤礦突水預(yù)測模型,基于IWOA結(jié)構(gòu)簡單、易實現(xiàn)、尋優(yōu)能力強的優(yōu)點[11],結(jié)合DE算法和混沌映射方法的特性改善WOA的全局搜索能力,對SVM的懲罰因子和核函數(shù)寬度進行尋優(yōu),從而提高突水預(yù)測的準確率和效率。
在WOA中,每頭鯨魚的位置代表問題的1個解,獵物的位置則指代問題的最優(yōu)解。WOA分為開發(fā)階段和搜索階段:在開發(fā)階段,每只鯨魚都可以隨機選擇包圍獵物行為或螺旋泡沫網(wǎng)攻擊行為,螺旋狀上升游動并噴出氣泡來包圍搜捕獵物;探索階段的鯨魚則游走覓食,遠離當前最優(yōu)參考位置,使算法具有一定的探索能力。
1.1.1 開發(fā)階段
(1) 包圍獵物。捕捉獵物時,鯨魚首先確定獵物的位置,然后包圍獵物。包圍獵物的行為可描述為
X(t+1)=X*(t)-A|CX*(t)-X(t)|
(1)
式中:X*(t),X(t)分別為迭代第t次時的最優(yōu)位置向量和個體位置向量;A,C為系數(shù)向量,計算公式為
(2)
(2) 螺旋泡沫網(wǎng)攻擊。鯨魚沿著螺旋狀的軌跡運動,縮小包圍獵物的圓圈,最后捕捉獵物。該過程主要通過收縮包圍機制和螺旋更新位置2種行為描述,由于這2種行為是同時發(fā)生的,所以每只鯨魚在該過程中隨機選擇一種方式更新自己的位置。位置更新公式為
(3)
式中:D為迭代第t次時個體鯨魚到目標的距離,D=|X*(t)-X(t)|;b為常數(shù);l為[-1,1]的隨機數(shù);p為策略選擇閾值,取值范圍為[0,1]。
1.1.2 搜索階段
在搜索階段,WOA會隨機選取一頭鯨魚,以該鯨魚位置作為參考,迫使鯨魚遠離當前最優(yōu)解的位置,尋找更好的獵物,其數(shù)學模型為
X(t+1)=Xrand(t)-A|CXrand(t)-X(t)|
(4)
式中Xrand(t)為迭代第t次時鯨魚種群中任意選擇的一個鯨魚的位置向量。
SVM模型可以較好地解決如煤礦突水預(yù)測這類具備高維數(shù)、小樣本、非線性特征的分類問題[8-9,12]。SVM的核心思想:對于一個在原始低維空間中難以處理的非線性問題,在核函數(shù)的作用下,將其轉(zhuǎn)變成一個更高維特征空間中的線性可分問題;在高維空間中找到一個分割樣本的超平面,使得分布在其兩邊的兩類樣本中,距離它最近的樣本對象之間的距離最大。對于給定的訓練樣本M={(x1,y1),(x2,y2),…,(xm,ym)}(m為訓練樣本總數(shù)),輸出向量yI∈{-1,1}(I=1,2,…,m),基于結(jié)構(gòu)風險最小化原則建立的分類函數(shù)為
0<αI (5) 式中:xI,xJ為輸入特征向量;αI為拉格朗日乘子;k(xI,xJ)為核函數(shù);c為懲罰因子;d為閾值。 核函數(shù)是SVM解決非線性分類問題的核心。目前應(yīng)用最廣泛的核函數(shù)主要包括線性核函數(shù)、多項式核函數(shù)、Sigmoid核函數(shù)及高斯徑向基核函數(shù)(Radial Basis Function, RBF)4種。本文選用其中泛化能力較好的RBF核函數(shù)作為SVM的核函數(shù),其具體表達式為 (6) 式中σ為核函數(shù)的寬度。 構(gòu)建煤礦突水預(yù)測模型時,為了獲取更加精確的預(yù)測結(jié)果,需要優(yōu)化SVM模型的懲罰因子c和核函數(shù)寬度σ。本文從鯨魚種群初始化、調(diào)節(jié)因子非線性化及隨機DE 3個方面入手對WOA進行改進,并將改進后的算法IWOA用于SVM參數(shù)尋優(yōu)。 2.1.1 種群初始化 傳統(tǒng)WOA使用隨機初始化方法來確定初代鯨魚種群的位置,隨后每一個鯨魚都會在不斷迭代中向著最優(yōu)位置靠近,直到算法收斂或達到最大迭代次數(shù)。如果鯨魚個體的初始位置與最優(yōu)位置很近,那么該鯨魚很快就會到達最優(yōu)位置,算法的收斂速度就會很快。但是隨機初始化方法在大多數(shù)情況下很難保證鯨魚初始位置距離最優(yōu)位置很近。 針對這一缺陷,本文基于混沌映射的隨機性、遍歷性等特點豐富鯨魚種群的多樣性,提高鯨魚種群尋找到最優(yōu)獵物的可能性。大量研究表明[13-15],將混沌映射應(yīng)用在優(yōu)化領(lǐng)域代替?zhèn)坞S機數(shù)生產(chǎn)器生成混沌數(shù),常常能取得比偽隨機數(shù)更好的效果。常用的混沌映射主要包括Logistic映射、Gussian 映射、Sine映射、Tent映射等。其中Tent映射在分布上更加均勻,能使算法的搜索效率更高,因此,本文使用Tent映射初始化鯨魚種群,初始化公式為 (7) 式中Xi為第i個鯨魚個體的初始位置向量。 2.1.2 調(diào)節(jié)因子非線性化 WOA通過調(diào)節(jié)因子a控制全局搜索能力,a越大,則算法在全局搜索上的表現(xiàn)力越強,在局部搜索上的表現(xiàn)力則相對較弱。原始調(diào)節(jié)因子a在迭代過程中線性地從2減小到0,這種線性變化難以應(yīng)對復(fù)雜問題,在優(yōu)化時易陷入局部最優(yōu)。針對該問題,本文提出一種非線性變化策略,使調(diào)節(jié)因子a在整個迭代過程中從2到0先慢后快地減小,提升算法在迭代前期的全局搜索能力及迭代后期的局部搜索能力,從而加快收斂速度。優(yōu)化后a的計算公式為 a=2-2(t/tmax)2 (8) 2.1.3 DE算法 WOA在尋優(yōu)時所有鯨魚會朝著當前最優(yōu)位置的鯨魚個體靠近,因此,若當前最優(yōu)位置不是全局最優(yōu)解,則整個種群就會錯誤地向局部最優(yōu)聚攏,算法會陷入局部最優(yōu)。針對這一缺點,本文引入DE算法的變異、交叉、選擇操作,以增強WOA的全局搜索能力。 (1) 變異。從鯨魚種群中隨機選擇2個鯨魚個體并生成差分向量,然后選擇另外一個鯨魚個體與加權(quán)差分向量求和,生成變異個體。變異個體計算公式為 hi(t)=X1(t)+F(X2(t)-X3(t)) (9) 式中F為縮放因子,F(xiàn)∈[0,2]。 (2) 交叉。將選定的目標鯨魚Xi(t)={Xi,1(t),Xi,2(t),…,Xi,n(t)}(n為鯨魚個體維數(shù))與變異產(chǎn)生的新鯨魚hi(t)={hi,1(t),hi,2(t),…,hi,n(t)}進行交叉操作,從而生成新的子代鯨魚個體ui(t)={ui,1(t),ui,2(t),…,ui,n(t)},增加鯨魚種群的多樣性。交叉操作的表達式為 (10) 式中:j=1,2,…,n;q為交叉概率,q∈[0,1]。 (3) 選擇。在目標鯨魚和子代鯨魚之間進行選擇操作,將表現(xiàn)更好的鯨魚個體保留到下一代鯨群中,選擇公式為 (11) 式中S()為適應(yīng)度函數(shù)。 煤礦突水受到多種因素的影響,本文將影響煤礦突水的多種因素作為模型的輸入特征向量,突水與安全2種突水結(jié)果作為數(shù)據(jù)的類別信息構(gòu)成模型的輸出向量。 構(gòu)建IWOA-SVM突水預(yù)測模型時,首先要實現(xiàn)IWOA。每個鯨魚個體由SVM的核函數(shù)寬度和懲罰因子2個參數(shù)構(gòu)成,以突水預(yù)測結(jié)果與實際結(jié)果間的誤差最小化為目標建立目標函數(shù),根據(jù)IWOA得到SVM模型的最優(yōu)參數(shù)值。采用SVM模型對樣本數(shù)據(jù)進行預(yù)測,得出最終的突水預(yù)測結(jié)果?;贗WOA-SVM的煤礦突水預(yù)測流程如圖1所示。 礦井突水是指在采掘過程中帶壓水通過裂隙等突水通道涌入巷道的現(xiàn)象,一般指底板承壓含水層水突出。本文從突水水源、突水通道、影響突水指標3個角度出發(fā)分析突水機理,從而確定作為預(yù)測模型輸入特征的相關(guān)影響因素。 研究表明[16-19],煤層底板下的承壓含水層是煤礦突水的物質(zhì)基礎(chǔ),含水層的富水性對礦井突水量大小起決定性作用。水壓是導致底板突水的力源,而底板隔水層則對底板突水起抑制作用,隔水層越厚,抑制突水的能力越強。斷層與裂隙是底板突水的主要充水通道,斷層落差越大的地點越容易發(fā)生煤層底板突水,而陷落柱等地質(zhì)構(gòu)造與裂隙發(fā)育都有可能形成突水通道,加大突水概率。采高和煤層傾角均會影響礦井的充水強度,當煤層傾角和采高較大時會增加地下地層的壓力,減小隔水層厚度,增大突水概率,此外煤層開采后的垮落高度也會較大,塌陷及裂隙可能溝通含水層,從而造成突水。因此,在構(gòu)建突水預(yù)測模型時,可以針對不同礦井的實際情況進行分析,選擇合適的影響因素,對模型的輸入特征進行調(diào)整。 圖1 基于IWOA-SVM的煤礦突水預(yù)測流程Fig.1 Water inrush prediction flow based on IWOA-SVM 本文收集整理了華北典型礦區(qū)的實測突水資料,根據(jù)華北典型礦區(qū)水文地質(zhì)特征,將水壓z1、隔水層厚度z2、煤層傾角z3、斷層落差z4、斷層距工作面距離z5、采高z6共6個影響因素作為預(yù)測模型的輸入特征。從突水資料中選取55條數(shù)據(jù)構(gòu)建數(shù)據(jù)樣本集,其中43個樣本作為訓練樣本,其余12個樣本作為測試樣本。 原始數(shù)據(jù)還存在各屬性參數(shù)的量綱和數(shù)量級不同的問題,如水壓的單位為帕(Pa),煤礦底板隔水層厚度的單位為米(m),不同的量綱和數(shù)量級都會影響預(yù)測結(jié)果的準確性。為了消除量綱和數(shù)量級不同的影響,在進行預(yù)測之前,先對數(shù)據(jù)集進行歸一化處理,將樣本的特征值轉(zhuǎn)換到[0,1]區(qū)間中,具體公式為 (12) 式中:z*為歸一化后的參數(shù);z為原始參數(shù);zmax,zmin為樣本數(shù)據(jù)中的最大值和最小值。 歸一化處理后的部分突水數(shù)據(jù)見表1,其中突水狀態(tài)中1表示突水,0表示不突水。 表1 歸一化處理后的部分突水數(shù)據(jù)Table 1 Partial water inrush data after normalization 使用Python實現(xiàn)IWOA對SVM模型的參數(shù)尋優(yōu)。將標準誤差作為模型的評價指標,同時,通過對比PSO算法、DE算法、WOA、IWOA的尋優(yōu)結(jié)果,評估IWOA的整體性能。 基于公平性原則,設(shè)置算法的種群大小均為35,最大迭代次數(shù)均為100,每個種群個體均是由SVM的參數(shù)c和σ構(gòu)成的二維向量,參數(shù)范圍均為[0.01,100]。4種算法的尋優(yōu)結(jié)果見表2,收斂曲線如圖2所示。 表2 4種算法的尋優(yōu)結(jié)果Table 2 Optimizing results of four algorithms 分析表2結(jié)果可知,IWOA對訓練集的預(yù)測準確率為88.37%,PSO算法的準確率為60.47%,DE算法的準確率為83.72%,WOA的預(yù)測準確率為81.39%。相比于PSO,DE,WOA,本文提出的IWOA的預(yù)測準確率最高,標準誤差也最小,說明其收斂精度高,并且穩(wěn)定性更強,魯棒性好。由圖2可以直觀地看出,IWOA在尋優(yōu)過程中迭代到第8次時標準誤差已經(jīng)收斂到最小值,PSO算法在迭代到100次時仍未收斂到最小值,而DE算法、WOA分別迭代到29次及43次時才收斂到最小值,說明IWOA的尋優(yōu)能力更強且收斂速度更快。 圖2 4種算法的收斂曲線Fig.2 Convergence curves of four algorithms 使用IWOA對SVM模型的參數(shù)進行尋優(yōu),最終確定基于IWOA-SVM的煤礦突水預(yù)測模型的2個參數(shù)分別為c=6.517,σ=0.418。 煤礦突水預(yù)測是一個二分類問題,本文使用預(yù)測準確率作為評價指標,預(yù)測準確率越接近1,表明突水預(yù)測模型的預(yù)測結(jié)果越準確。 使用IWOA計算出的最優(yōu)懲罰因子和核函數(shù)寬度參數(shù)構(gòu)建SVM模型,對測試樣本進行預(yù)測,模型預(yù)測結(jié)果與實際結(jié)果如圖3所示。可以看出,基于IWOA-SVM的模型對12個測試樣本的預(yù)測結(jié)果與實際突水結(jié)果均重疊。 圖3 IWOA-SVM預(yù)測結(jié)果Fig.3 IWOA-SVM prediction results 為了驗證本文所提算法應(yīng)用于煤礦突水預(yù)測時的準確性,在相同的數(shù)據(jù)集和實驗條件下,使用傳統(tǒng)的突水系數(shù)法、SVM、WOA-SVM及IWOA-SVM分別進行煤礦突水預(yù)測,并對預(yù)測結(jié)果進行比較,見表3。 從表3可以看出,傳統(tǒng)突水系數(shù)法、SVM及WOA-SVM在突水測試集上的預(yù)測準確率分別為75%、83.33%和91.67%,而本文提出的IWOA-SVM在是否突水這一分類問題上的預(yù)測準確率達到100%,預(yù)測結(jié)果與實際結(jié)果相符。 分析IWOA-SVM算法的特性,IWOA在尋優(yōu)前期的全局搜索能力強、在迭代后期的局部搜索能力強這一特質(zhì)能夠加快IWOA在搜索SVM模型最優(yōu)參數(shù)時的收斂速度,每個鯨魚擁有的交叉、變異、選擇能力增強了IWOA的全局搜索能力,避免了其在尋優(yōu)過程中過早陷入局部最優(yōu),這是WOA-SVM無法做到的。因此,IWOA-SVM模型在煤礦突水預(yù)測中表現(xiàn)出更高的準確率和穩(wěn)定性。 (1) IWOA引入非線性思想優(yōu)化調(diào)節(jié)因子,利用混沌映射和差分進化的思想優(yōu)化鯨魚種群,從而提高傳統(tǒng)WOA的全局搜索能力及收斂速度。 (2) 根據(jù)煤礦突水數(shù)據(jù)小樣本、非線性的特征,選取SVM模型進行突水預(yù)測。為了確定SVM的最優(yōu)參數(shù),有效提高預(yù)測精度和速度,基于IWOA對其進行參數(shù)尋優(yōu)。 (3) 實驗結(jié)果表明:與PSO算法、DE算法、WOA相比,IWOA的預(yù)測準確率最高,標準誤差最小,且收斂速度快,魯棒性好;IWOA-SVM的預(yù)測準確率達到100%,與傳統(tǒng)的突水系數(shù)法、SVM、WOA-SVM相比,IWOA-SVM表現(xiàn)出更高的準確率和穩(wěn)定性。2 基于IWOA-SVM的煤礦突水預(yù)測模型
2.1 參數(shù)優(yōu)化
2.2 預(yù)測流程
3 實驗分析
3.1 模型輸入特征與數(shù)據(jù)處理
3.2 參數(shù)確定
3.3 突水預(yù)測結(jié)果
4 結(jié)論