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