鄭文博,余學(xué)祥,趙祥碩,楊邵文
(1.安徽理工大學(xué) 空間信息與測繪工程學(xué)院,安徽 淮南232001;2.礦山采動災(zāi)害空天地協(xié)同監(jiān)測與預(yù)警安徽普通高校重點實驗室,安徽淮南232001;3.礦區(qū)環(huán)境與災(zāi)害協(xié)同監(jiān)測煤炭行業(yè)工程研究中心,安徽淮南232001)
隨著經(jīng)濟(jì)不斷發(fā)展,煤炭的需求量也日益增加,導(dǎo)致地下開采加劇,這不僅影響礦區(qū)安全[1],而且對礦區(qū)周邊環(huán)境也有不利影響,因此對礦區(qū)進(jìn)行開采沉陷的預(yù)測工作顯得尤為重要。
常見的開采沉陷預(yù)測方法有力學(xué)模型預(yù)計[2]、時間函數(shù)模型預(yù)計[3]和概率積分法模型預(yù)計[4]。概率積分法的優(yōu)勢是計算方便且精度高,它的預(yù)計參數(shù)可以通過實測數(shù)據(jù)+優(yōu)化算法、機器學(xué)習(xí)或者覆巖性質(zhì)求解[5]。但實測數(shù)據(jù)解算成本較高,并且不能在開采前獲取。覆巖求解的過程較為復(fù)雜,機器學(xué)習(xí)法求參則較為簡單并且預(yù)測精度可靠[6]。常用的機器學(xué)習(xí)為BP神經(jīng)網(wǎng)絡(luò),BP神經(jīng)網(wǎng)絡(luò)非線性擬合效果好,但初始權(quán)值和閾值的選擇存在盲目性,會影響到模型的預(yù)測精度和收斂速度。文獻(xiàn)[7-8]指出GA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)一步提升了神經(jīng)網(wǎng)絡(luò)求參的精度。
人工魚群算法具有全局搜索能力較強,局部搜索能力較弱的特點。故本文建立ADAFSA-BP模型、普通BP模型、GA-BP模型進(jìn)行求參精度分析,探究ADAFSA-BP模型求解概率積分法預(yù)計參數(shù)的可靠性。
概率積分法的預(yù)計參數(shù)有8個,本文研究其中的4個,包括下沉系數(shù)q,主要影響角正切值tan B,開采影響傳播角 θ、水平移動系數(shù) b[9]。
下沉系數(shù)是地表最大下沉值與采厚和煤層傾角余弦值乘積的比值[9]。根據(jù)文獻(xiàn)[9]下沉系數(shù)的經(jīng)驗公式為:
式中,E為巖體綜合形變模量,Em為中硬巖體形變模量,p為巖體的平均質(zhì)量密度,M為開采厚度,H為平均采深。
主要影響角正切值是走向主斷面上,走向邊界開采深度與其主要影響半徑之比[9]。根據(jù)文獻(xiàn)[9]其經(jīng)驗公式為:
式中,a為煤層傾角,h為松散層厚度,D為開采寬度。
開采影響傳播角是指傾向主斷面上,開采邊界和地表下沉曲線拐點的連線與水平煤層在下山方向的夾角[9]。根據(jù)文獻(xiàn)[9]其經(jīng)驗公式為:
式中,h為松散層厚度,f為上覆巖石平均堅固性系數(shù)。
水平移動系數(shù)是水平煤層或近水平煤層在達(dá)到充分采動時地表最大水平移動與地表最大下沉之比[9]。根據(jù)文獻(xiàn)[9]其經(jīng)驗公式為:
通過上述分析,可以得出概率積分法預(yù)計參數(shù)與開采厚度M、平均采深H、采動程度D/H、松散層厚度h和上覆巖石平均堅固性系數(shù)f等地質(zhì)采礦條件有關(guān)聯(lián),為本文通過地質(zhì)采礦條件預(yù)測概率積分法預(yù)計參數(shù)提供了理論支撐。
BP神經(jīng)網(wǎng)絡(luò)[10-11]是一種誤差逆向傳播算法,其理解方式就是多層感知機之間信息的傳遞,通過輸入層向前傳遞信息,在輸出層根據(jù)求得的損失函數(shù)情況,進(jìn)行誤差的反向傳播,當(dāng)傳入到輸入層后進(jìn)行各節(jié)點的權(quán)重調(diào)整再循環(huán)上述操作,不斷迭代直到誤差滿足精度要求為止。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
設(shè)隱含層某一節(jié)點的輸出為y,其表達(dá)式為:
式中,f為激活函數(shù),目前常用的激活函數(shù)有sigmoid函數(shù)、relu函數(shù)、tanh函數(shù),wi為上層輸入值各節(jié)點所占權(quán)重,c為閾值,i=1,2,…N。
通過式(5)不斷進(jìn)行信號傳遞直到輸出層,此時設(shè)輸出層的數(shù)值為a,可列出損失函數(shù)方程:
圖1 BP神經(jīng)網(wǎng)絡(luò)
式中,y為輸出層實際值。
上述過程為正向傳播,反向傳播是根據(jù)輸出層誤差依據(jù)梯度下降法調(diào)整權(quán)重和閾值,其具體表示為:
式中,λ為學(xué)習(xí)速度,它決定了神經(jīng)網(wǎng)絡(luò)收斂的快慢。
通過上述過程,以梯度下降法為依據(jù)不斷調(diào)整網(wǎng)絡(luò)隱含層和輸出層的權(quán)重和閾值,理論上最終可以得到滿足精度要求的模型輸出值。但BP神經(jīng)網(wǎng)絡(luò)預(yù)測精度受初始權(quán)重和閾值的影響較大,實際應(yīng)用中很難通過經(jīng)驗獲得最優(yōu)初始值。因此本文采用改進(jìn)人工魚群算法尋找BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)初始權(quán)重和閾值。
人工魚群算法是李曉磊博士于2002年提出的基于動物行為的群體智能優(yōu)化算法[12-13]。這種算法是通過模擬魚類的行為在搜索空間內(nèi)進(jìn)行尋優(yōu)。
假設(shè)當(dāng)前人工魚群的狀態(tài)為X=(x1,x2,…xn),Y=f(X)為每條人工魚對應(yīng)的食物濃度,魚群算法食物濃度計算方式為神經(jīng)網(wǎng)絡(luò)所有訓(xùn)練集預(yù)測值與真值絕對誤差平方和的均值的倒數(shù),f為目標(biāo)函數(shù),δ為擁擠度,S為移動步長,V為魚的視野范圍,try_number為最大嘗試次數(shù),其計算過程如下:
2.2.1 覓食行為
假設(shè)人工魚現(xiàn)在的狀態(tài)是Xi,在視野范圍V內(nèi)存在一個Xj的隨機狀態(tài),有:
式中,rand()為(0,1)的隨機數(shù)。
當(dāng)Xj處的食物濃度大于Xi處時,覓食行為根據(jù)式(9)向前移動,否則重新選擇隨機狀態(tài),繼續(xù)進(jìn)行食物濃度判斷,重復(fù)次數(shù)達(dá)到try_number后若仍然沒有移動,就按照式(8)隨機移動。
2.2.2 聚群行為
假設(shè)人工魚群探索范圍內(nèi)的伙伴數(shù)為n,中心位置為Xc,若Yc/n>δYi,表示該位置食物濃度高且不
2.2.3 追尾行為
同聚群行為類似,判定條件變?yōu)閅z/n>δYm,Xz是視野范圍內(nèi)能找到的濃度最大Yz的位置,則按照式(11)向前移動,如果不滿足判定條件就執(zhí)行覓食行為。擁擠,此時可以按照式(10)向中心位置移動,如果不滿足上述不等式條件就執(zhí)行覓食行為。
2.2.4 隨機行為
隨機行為其實是覓食行為在最大嘗試次數(shù)以后仍沒有移動時采取的行為。
人工魚群算法全局搜索能力較強,局部搜索能力較弱,非線性規(guī)劃函數(shù)局部搜索能力較強,它能完美彌補人工魚群算法的不足。當(dāng)?shù)螖?shù)達(dá)到10的倍數(shù)時,將此狀態(tài)的魚群代入到非線性規(guī)劃函數(shù)中(本文采用Matlab最優(yōu)化工具箱中的fmincon函數(shù)),去尋找局部最優(yōu)食物濃度,然后將得到的局部最優(yōu)解作為新的魚群個體代入到原魚群中繼續(xù)計算。ADAFSA-BP模型的流程圖見圖2。
圖2 ADAFSA-BP模型流程圖
具體操作:將迭代后魚群作為函數(shù)初始輸入,神經(jīng)網(wǎng)絡(luò)所有訓(xùn)練集預(yù)測值與真值絕對誤差平方和的均值為fmincon的目標(biāo)函數(shù)(因為fmincon函數(shù)的功能是求解局部最小值),將得到的解的倒數(shù)作為局部最優(yōu)食物濃度與此時的魚群最優(yōu)食物濃度進(jìn)行比較,如果局部解的食物濃度高,則用局部解的人工魚代替當(dāng)前魚群中的最優(yōu)人工魚,并對新魚群繼續(xù)進(jìn)行迭代,如此反復(fù)直到滿足最大迭代次數(shù)。
以文獻(xiàn)[5]中數(shù)據(jù)為依據(jù),取其中的40個工作面數(shù)據(jù)進(jìn)行研究,選取其中的37組數(shù)據(jù)作為訓(xùn)練集(見表1),剩下的3組數(shù)據(jù)作為測試集。選取地質(zhì)采礦條件走向?qū)捝畋菵1/H、傾向?qū)捝畋菵3/H、開采厚度M、煤層傾角a、平均采深H、推進(jìn)速度v、覆巖平均堅固系數(shù)f、松散層厚度h,這8個參數(shù)作為模型的輸入。以下沉系數(shù)q、主要影響角正切tanb、最大下沉角θ、水平移動系數(shù)b,作為輸出。根據(jù)文獻(xiàn)[14]的結(jié)果顯示,模型的多輸入單輸出效果比多輸入多輸出效果好,參考該結(jié)論每次建模只預(yù)測一個概率積分法預(yù)計參數(shù)。BP神經(jīng)網(wǎng)絡(luò)的隱含層激活函數(shù)采用tanh函數(shù),輸出層激活函數(shù)采用絕對誤差平方和的均值。對于4個預(yù)計參數(shù)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),隱含層的節(jié)點數(shù)分別設(shè)為:13、17、14、11。
表1 訓(xùn)練集數(shù)據(jù)
由于案例中不同數(shù)據(jù)之間的取值范圍差別較大,直接代入模型會對其預(yù)測精度和收斂速度產(chǎn)生較大影響,為了消除這種影響采用Matlab中的mapminmax函數(shù)對輸入輸出數(shù)據(jù)進(jìn)行歸一化處理。
分別建立起B(yǎng)P模型、GA-BP模型、ADAFSA-BP模型。在本次實驗中遺傳優(yōu)化算法的參數(shù)設(shè)置為:迭代次數(shù)設(shè)為300,種群數(shù)量設(shè)為40,取二進(jìn)制編碼,代溝取0.9,交叉概率取0.85,變異概率取0.02。ADAFSA優(yōu)化算法的參數(shù)設(shè)置為:人工魚群個體數(shù)N=50,移動步長S=0.3,視野范圍V=2.5,最大嘗試次數(shù)try_number=60,擁擠度σ=0.721,最大迭代次數(shù)M=270。GA優(yōu)化算法采用謝菲爾德遺傳算法工具箱實現(xiàn),其目標(biāo)函數(shù)值越小適應(yīng)度值越大,故目標(biāo)函數(shù)(ADAFSA中稱為食物濃度)可設(shè)為神經(jīng)網(wǎng)絡(luò)所有訓(xùn)練集預(yù)測值與真值絕對誤差平方和的均值。
將訓(xùn)練集代入三種模型完成神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,然后再將測試集代入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,得到的預(yù)測結(jié)果分析見表2、表3。根據(jù)表2、表3中的數(shù)據(jù)可以看出,ADAFSA-BP模型4個預(yù)計參數(shù)的平均相對誤差分別為9.44%、8.62%、3.29%、6.85%。該模型4個參數(shù)的平均相對誤差都低于BP模型,與GA-BP模型相比較除了下沉系數(shù)預(yù)測誤差偏大外,另外3個參數(shù)的預(yù)測精度都是ADAFSA-BP模型預(yù)測的平均相對誤差更低些。
為了進(jìn)一步研究改進(jìn)魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)在小數(shù)據(jù)量學(xué)習(xí)方面的效果。分析三種模型在訓(xùn)練集數(shù)量隨機減少2、4、6個情況下模型求參精度的波動情況,為盡可能消除偶然性,預(yù)測模型平均相對誤差取10次模型運算得到的預(yù)測精度的平均值,其結(jié)果對比見表4。
表2 三種神經(jīng)網(wǎng)絡(luò)的預(yù)測數(shù)據(jù)對比
表3 三種神經(jīng)網(wǎng)絡(luò)的預(yù)測精度對比
表4 訓(xùn)練樣本不同情況下的預(yù)測精度(預(yù)測模型平均相對誤差) %
從表4可以看出,當(dāng)樣本數(shù)量減少2個時,三種模型的誤差變化量都很小,當(dāng)樣本減少4個和6個時,誤差顯著增大,誤差增大幅度為BP>GA-BP>ADAFSA-BP,說明改進(jìn)魚群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型相比于另外兩種模型在小數(shù)據(jù)量學(xué)習(xí)方面效果較好。
為了提高概率積分法預(yù)計參數(shù)的準(zhǔn)確性,提出改進(jìn)的魚群算法(ADAFSA),建立ADAFSA-BP概率積分法預(yù)計模型。以我國典型的40個工作面地質(zhì)采礦條件為例,分別建立BP模型、GA-BP模型、ADAFSA-BP模型并進(jìn)行精度分析。結(jié)果表明:ADAFSA-BP模型預(yù)測的4個參數(shù)平均相對誤差都低于10%且都優(yōu)于BP模型,與GA-BP模型相比除了在下沉系數(shù)上的誤差偏大,另外3個預(yù)計參數(shù)的預(yù)測精度都優(yōu)于GA-BP模型。在訓(xùn)練樣本減少的情況下,ADAFSA-BP模型的小數(shù)據(jù)量學(xué)習(xí)效果更好。這說明改進(jìn)魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)具有良好的擬合效果,這對于獲取待開采區(qū)域精度較高的概率積分法預(yù)計參數(shù)具有良好的指導(dǎo)作用。