王耀國,李勇永,郭 濤
(1.洛陽市規劃建筑設計研究院有限公司,河南 洛陽 471000;2.洛陽職業技術學院,河南 洛陽 471000;3.洛陽理工學院 土木工程學院,河南 洛陽 471000;4.洛陽師范學院 國土與旅游學院,河南 洛陽 471000;5.四川省農業科學院 遙感與數字農業研究所,四川 成都 610066)
導水斷裂帶不僅是井下突水事故和高位孔預抽煤層瓦斯事故的主要通道,其高度也是建立采煤沉陷災變預警模型的關鍵參數,對煤礦井下安全開采具有重要意義[1]。目前,探測導水斷裂帶高度的主流方法為現場實測法[2],由于煤礦構造格局、開采方式存在較大差異性,導致導水斷裂帶高度形成具有復雜性和多因素影響的特點。然而,傳統導水斷裂帶高度計算的經驗公式中參與計算的變量較少,計算結果波動較大,精度難以保證[3]。
近年來,許多學者提出通過機器學習算法內在邏輯代替人為考量非線性關系,提高導水斷裂帶高度預測準確度。李振華等[4]提出構建BP 神經網絡模型對導水斷裂帶高度進行預測,預測結果準確度優于公式計算方法,但BP 神經網絡收斂速度慢,易陷入局部極值等缺點較為突出;謝曉峰等[5]通過對樣本數據進行主成分提取建立PCA-BP 預測模型,以提高收斂速度和預測精度;施龍青等[2]建立基于PCA-GA-Elman 的導水斷裂帶發育高度預測模型,采用遺傳算法(GA)優化Elman 神經網絡,預測準確率較高,但因GA 的操作復雜從而導致尋優速度較慢;婁高中等[6]利用粒子群算法(PSO)優化BP 神經網絡,預測結果準確性較高,且收斂速度快,卻易陷入局部最優解。為彌補上述研究成果的不足,進一步提升模型實用性,采用最新提出的麻雀搜索算法(SSA)對BP 神經網絡進行優化,并引入Tent 混沌映射、高斯變異、高斯擾動和動態步長因子對標準SSA 進行改進,提高BP 算法的全局搜索和跳出局部最優的能力,增強其優化性能,為導水斷裂帶高度預測探索1 種新的優化策略和模型。
麻雀搜索算法(SSA)是2020 年首次提出的一種基于麻雀群體行為的智能優化算法,通過對麻雀群體尋找食物和逃避被捕獵的行為進行深入研究,將不同的麻雀個體進行分類,以麻雀個體位置的不斷更新實現智能優化的目的[7]。在麻雀種群中尋找食物能力較強的個體稱為發現者,其持續搜索食物,確定整個麻雀種群尋找食物的范圍和路徑;除發現者之外,其它的個體追隨發現者覓食,稱其為跟隨者,二者角色在一定條件下可以互換;從麻雀種群中抽取一定比例的個體承擔種群的偵查警戒任務,稱其為預警者,當種群出現危險時,其發出警告并放棄食物[8]。采用將盡20 個包含單峰、多峰以及固定維度的標準測試函數對SSA 算法的性能進行驗證,結果表明:SSA 算法在搜索精度、收斂速度、穩定性和避免局部最優值方面比現有常見優化算法具有明顯的優勢,為解決復雜的全局優化問題提供了一種全新的方法[9]。
將麻雀種群用一個n×d 維矩陣X 表示,d 為待優化變量的維數,n 為麻雀的數量,那么麻雀的初始位置如式(1):
麻雀種群的適應度值F 表示如式(2):
式中:F(X)為適應度函數;Xi為第i 只麻雀的位置;f(Xi)為麻雀個體的適應度值。
發現者的位置更新如式(3):
式中:k、Tmax分別為當前迭代次數和設定迭代次數;α 為1 個隨機數,α∈(0,1];Q 為1 個服從正態分布的隨機數;R2為預警值,取值[0,1];ST 為安全值,取值[0.5,1];L 為1×d 的矩陣;
當R2≥ST 時,發現者帶領所有麻雀立即飛離存在危險的區域。
為搶奪發現者的食物,跟隨者的位置隨時可以做出調整,跟隨者的位置更新如式(4):
式中:Xp為當前麻雀覓食的最佳位置;Xw為當前麻雀覓食的最差位置;A 為元素,是1 或-1 的1×d 的矩陣,且滿足A+=AT(AAT)-1。
選取每代產生的新種群的10%~20%個體作為預警者負責警戒,麻雀種群覓食過程中,如有天敵靠近時,預警信號將使整個種群放棄食物而轉移到安全位置,預警者的位置更新如式(5):
式中:Xb為多次迭代后全局最優位置;β 為步長控制參數;K 為麻雀個體飛行方向的步長調整系數,其為取值[-1,1]的隨機數;fi為當前第i 只麻雀的適應度值;fg、fw為當前迭代次數下整個種群的全局最優和最差適應度值;ε 為最小常數,避免分母為0。
當fi>fg時,表示當前第i 只麻雀位于種群的邊緣,極易遇到危險;當fi=fg時,表示位于種群中間的麻雀也察覺到了危險,需要向其他麻雀靠攏,以降低被捕食的概幾率[10]。
Tent 混沌映射是一種分段的線性二維混沌映射,其具有均勻的分布函數和良好的相關性,在其參數的取值范圍內,該非線性系統處于混沌狀態,呈現出不確定性、唯一性和不可預測的特點,能夠在一定范圍內對麻雀種群的狀態進行不重復遍歷。Tent 映射表達式如式(6):
式中:Hi為在i 時刻的混沌映射數值;α 為混沌系數。
在傳統SSA 中,采用隨機數對種群初始化,混沌映射模型與隨機數種群初始化對比如圖1。
圖1 混沌映射模型與隨機數種群初始化對比Fig.1 Comparison between chaotic mapping model and random number population initialization
圖1 中三角形和圓形分別表示隨機數和混沌模型初始化值。圖1 直觀顯示三角形在一些區域分布集中,導致在某些區域取值出現空白,而圓形則分布均勻,因此Tent 混沌映射模型對種群進行初始化,能夠增強種群的多樣性和分布均勻性。通過Tent 混沌映射模型對發現者、追隨者和預警者位置進行更新,使其具有更強的全局尋優能力[11]。
1)高斯變異。是指從均值為μ、方差為σ2的正態分布中抽取1 個隨機數,置換SSA 算法中的參數變量[12],達到優化算法的目的。根據正態分布曲線的分布特點,高斯變異的主要搜索范圍為原個體附近的某個區域。因此,高斯變異的特性決定其具有較強的局部搜索能力,對涉及多峰函數的優化問題,有利于算法高效、準確地找到全局極值點。為此,結合Tent 混沌映射和高斯變異,統籌全局搜索和局部探索能力,旨在提高SSA 的收斂速度和進化性能[13]。高斯變異公式如式(7):
式中:Tg為原參數高斯變異后的數值;T 為原來的參數變量;N(0,1)為期望值為0,標準差為1 的正態分布隨機數。
2)高斯擾動。為提升SSA 跳出局部最優解的能力,對每一次迭代后的麻雀個體最優位置進行高斯微小擾動,幫助其更好地逃離局部最優區域[13],高斯擾動表達式如式(8)和式(9):
式中:Gb為每次迭代麻雀的最優位置;G 為高斯擾動前麻雀的適應度,Gaussian(μ,σ2)為均值為μ、方差為σ2的高斯函數;NGtb為擾動后麻雀個體的最優適應度;Gt為第t 次迭代麻雀個體最優適應度。
在麻雀種群中負責警戒的預警者通過式(5)更新位置,其中的步長參數β 和K 用來調節全局搜索能力和局部開發能力,其取值為限定范圍內的隨機數,很難有目的和規律的探索最優解空間,存在一定的盲目性,容易使SSA 陷入局部最優解。在SSA迭代初期,麻雀種群多樣性較高,算法具有較強的全局搜索能力,需通過設置較小的步長加強局部搜索能力。當麻雀個體全部朝向全局最優移動時,探索空間將大大減小,可能會造成收斂過早,此時設置較大的參數值能使麻雀避免局部最優。因此步長參數需具有在迭代過程中先遞增后遞減的動態特征,在初期利用較小步長充分對搜索空間進行探索,后期利用較大步長提高收斂速度,提高SSA 的尋優精度[14]。改進動態步長參數如式(10)和式(11):
式中:t 為當前迭代次數;ts為設定迭代次數;rand 為隨機數。
采用BP 神經網絡預測導水斷裂帶高度時,訓練集數量保持不變的情況下,影響預測精度的主要因素為BP 神經網絡初始化權值和閾值2 項參數。該參數的取值通常由BP 算法隨機生成或者通過操作者手動進行調試,從而導致構建的BP 神經網絡模型預測精度低、收斂速度慢,甚至出現“過擬合”[15]。鑒于此,利用改進的SSA 對BP 神經網絡的權值和閾值進行優化,構建改進的SSA-BP 優化模型。改進的SSA-BP 模型預測流程如圖2。
圖2 改進的SSA-BP 模型預測流程Fig.2 Improved SSA-BP model prediction process
在改進模型中用種群內每個麻雀個體反映BP神經網絡的權值和閾值,引入Tent 混沌映射算法,增加麻雀種群遍歷性。在麻雀個體位置更新中,favg為種群平均適應度,當fi<favg時,麻雀群體出現集聚現象,采用式(7)實施高斯變異,通過對比確定最優個體;當fi≥favg時,麻雀種群開始表現出發散狀態,按式(8)和式(9)進行高斯擾動,對比確定最優個體[13]。在預警者位置更新中采用動態步長因子,增強算法搜索能力。
在地下煤層采動影響下,頂板導水斷裂帶的形成受到眾多因素影響,根據《煤礦防治水細則》[16]及前人研究成果,將導水斷裂帶發育高度影響因素分為3 大類,分別為地質構造、巖石特性和開采活動[17]。
1)地質構造相關的因素有煤層的埋深、地下煤層的傾斜角度、煤層硬度等。
2)巖石特性相關的因素包含頂板覆巖結構、強度、破碎程度等。引入硬巖巖性比例系數,用來反映巖層單軸抗壓強度與頂板結構綜合影響,通過導水斷裂帶高度范圍內硬巖巖層的累計厚度與預估導水斷裂帶高度的比值對綜合影響進行量化[18]。
3)開采活動相關因素有開采厚度、工作面傾斜長度、開采進度等。一般情況下,采厚與導水斷裂帶高度之間呈近似分式函數關系[19]。隨著開采工作面傾斜長度增加,導水斷裂帶高度呈臺階狀或分式函數增長[20]。
根據前人對導水斷裂帶高度影響因素的研究,選擇采深、采厚、工作面斜長、硬巖巖性比例系數4個影響因子和實測導水斷裂帶發育高度組成5 維樣本數據,作為輸入模型的數據。依據選擇的導水斷裂帶高度主要影響因素,收集到國內部分礦區導水斷裂帶高度實測樣本數據[21],導水斷裂帶高度的部分樣本數據見表1。
表1 導水斷裂帶高度的部分樣本數據Table 1 Part of the sample data for the height of water flowing fractured zone
采厚取值1.7~9 m,巖性比例系數取值0.06~1,工作面斜長分布在55~222 m 區間,采深分布在49~679 m 區間,導水斷裂帶高度取值20~86.8 m。各個屬性數據的梯度分布廣泛,每個樣本各具代表性,有效降低樣本數據分布的集中化程度,訓練的模型預測適用性更強。選取1#~42#例作為訓練樣本,43#~48#作為檢驗樣本。
為驗證改進SSA-BP 預測模型的有效性和準確性,借助MATLAB R2016b 計算平臺,將1#~42#例5維樣本數據輸入模型并按照圖1 流程進行訓練,利用改進的SSA-BP 模型與SSA-BP、PSO-BP 以及BP神經網絡模型的預測結果和性能評價指標進行對比。經過多次反復計算,得出當隱含層個數為9 時,BP 神經網絡訓練誤差最小,因此,將構建4-9-1 結構的BP 神經網絡,訓練次數設置為5 000,學習率為0.1,目標誤差為0.000 01。初始種群規模為20,最大迭代次數設為50 次;種群中預警者個數取種群數目的20%,預警值0.8。
多次迭代后每代最優適應度變化曲線如圖3,訓練樣本預測值與實測值對比如圖4。
圖3 適應度變化曲線Fig.3 The curves of fitness
圖4 訓練樣本預測值與實測值對比Fig.4 Comparison between predicted and measured values of training samples
由圖3 可以看出:改進的SSA-BP 模型在迭代35 次后獲得全局最優解,SSA-BP 和PSO-BP 模型在迭代42 次左右才趨于平穩,而文獻[21]中GASVR 模型迭代45 次達到最優。表明改進的SSA-BP模型具有更快的收斂速度,全局搜索能力更強。
由圖4 可以看出:采用訓練好的模型對42 組訓練樣本進行預測,訓練集的平均絕對誤差(MAE)為1.27 m,平均絕對百分比誤差(MAPE)為2.73%,優于其它模型,相比SSA-BP 模型,MAE 和MAPE 分別提升0.13 m 和0.18%,相比前人研究的GA-SVR模型,MAE 和MAPE 分別提升0.14 m 和0.36%。因此,采用一系列優化算法對SSA 進行改進,使得模型輸出更加穩定,為解決導水斷裂帶發育高度預測問題提供了一種新方法。
取43#~48#例導水斷裂帶樣本數據作為檢測樣本,利用改進的SSA-BP 模型進行預測,為檢驗該模型在導水斷裂帶高度預測方面的有效性和優越性,采用同樣的初始化參數,構建基于SSA-BP、PSOBP、BP 的預測模型。4 種模型預測值與實測值對比如圖5。4 種模型預測結果絕對誤差對比如圖6。
由圖5 可以看出:改進的SSA-BP 模型預測結果與實測值的整體接近程度最高,其次是SSA-BP模型,PSO-BP 模型和BP 模型預測值在43、44 以及48 例樣本的偏離幅度較大,預測準確率較低。
圖5 模型預測值與實測值對比Fig.5 Comparison between the predicted values of the model and the measured values
由圖6 可以看出:改進的SSA-BP 模型較其他模型絕對誤差曲線最為平緩,平均絕對誤差為1.23 m,優于SSA-BP 模型的1.37 m;PSO-BP 模型僅在在42 例和43 例樣本的絕對誤差較大,最大為6.53 m;而單一BP 模型的平均絕對誤差為3.53 m,最大絕對誤差高達6.87 m。同時,改進的SSA-BP 模型的平均絕對誤差優于文獻[21]中GA-SVR 模型的1.54 m。由此表明改進的SSA-BP 模型預測結果整體穩定性較好、準確度更高。
圖6 預測結果絕對誤差對比Fig.6 Comparison of absolute error of prediction results
為了能夠有效反映模型預測能力和預測結果的準確性,選擇均方誤差(RMSE)、平均絕對百分比誤差(MAPE)和決定系數([R2])作為模型輸出的評價指標,通過量化的數值對4 個模型預測的準確性和穩定性進行評價[22]。模型精度指標如表2。
表2 模型精度指標Table 2 Model accuracy index
由表2 可以看出:相較于SSA-BP、PSO-BP 和BP 模型,改進的SSA-BP 模型的RMSE 和MAPE 最優,較SSA-BP 模型分別提升0.09 m 和0.01%,顯示出改進的SSA-BP 模型對導水斷裂帶高度預測方面具有一定優勢。BP 模型的RMSE 和MAPE 最大,這是由于單一BP 模型在搜索過程中易陷入局部極值,且訓練過程效率較低,甚至出現“過擬合”現象。對比4 個模型,改進的SSA-BP 模型的R2更接近于1,且比最差的BP 模型優化0.112,表明改進的SSA-BP 模型預測結果擬合程度高,預測結果更準確[23]。
因此,通過對比4 個預測模型的性能指標,提出的改進的SSA-BP 模型各項指標均為最優,可滿足在導水斷裂帶高度準確預測的需要。
1)通過Tent 混沌、高斯變異、高斯擾動和動態步長因子等算法對SSA 進行優化改進,建立基于改進的SSA-BP 的導水斷裂帶高度預測模型,對比改進的SSA-BP、SSA-BP、PSO-BP 和BP 模型預測結果,改進的SSA-BP 模型在導水斷裂帶高度預測中準確率最高,達到97.36%。同時,預測結果較前人研究的GA-SVR 模型預測結果平均絕對誤差提高0.31 m,平均絕對百分比誤差提高0.40%,由此表明,基于改進的SSA-BP 的導水斷裂帶高度預測模型在預測準確度方面具有明顯優勢,可為煤礦安全生產提供可靠的分析和決策依據。
2)將改進的SSA-BP 模型用于導水斷裂帶高度預測研究中,樣本數據只選擇了幾個有代表性且易于量化表達的影響因素,并且樣本數量有限,在今后的研究中,進一步豐富樣本數據影響因子類型和數量預測效果會更佳。另外,當訓練樣本數目較多時,研究的改進的SSA-BP 模型存在訓練效率低、耗時長的缺陷,未來在提高算法計算效率方面需進一步優化提升,以提高模型在導水斷裂帶高度預測方面的實用性。