孫 瑞,張 波,張文勝,桑學(xué)文,王 輝
(1.北京市軌道交通設(shè)計研究院有限公司,北京 100068; 2.石家莊鐵道大學(xué)交通運(yùn)輸學(xué)院,河北 石家莊 050043)
地表沉降是影響隧道施工安全的重要因素[1],威脅到施工人員的安全,可能造成嚴(yán)重的后果[2],準(zhǔn)確的預(yù)測地表沉降具有重要的意義。國內(nèi)許多學(xué)者對沉降預(yù)測方法進(jìn)行了研究,目前預(yù)測沉降的方法有經(jīng)驗分析法、概率積分法、數(shù)值模擬法、時間序列分析法、人工神經(jīng)網(wǎng)絡(luò)法等[3-5]。趙紫龍[6]利用基于小波分解的差分灰色神經(jīng)網(wǎng)絡(luò)——AR模型對隧道沉降進(jìn)行了預(yù)測,并證明了預(yù)測的準(zhǔn)確性;李翔宇等[7]基于上海地鐵實測數(shù)據(jù),利用粒子群算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了優(yōu)化,運(yùn)算速度快且預(yù)測精度佳;張士勇等[8]利用深度學(xué)習(xí)小波神經(jīng)網(wǎng)絡(luò)模型對地表沉降預(yù)測,得出該模型比傳統(tǒng)小波神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)模型精度高的結(jié)論。
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),應(yīng)用非常廣泛。單獨(dú)使用BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測地表沉降時,容易陷入局部極值[9-12]。將神經(jīng)網(wǎng)絡(luò)與其他算法結(jié)合起來,往往能得到更好的效果。將改進(jìn)后的遺傳算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,以克服神經(jīng)網(wǎng)絡(luò)的缺陷,使地表沉降預(yù)測結(jié)果更準(zhǔn)確。
遺傳算法模擬生物進(jìn)化論的自然選擇機(jī)制,具有多個遺傳算子,通過遺傳算子可以從種群中選拔出優(yōu)秀的個體,使有較強(qiáng)適應(yīng)能力的個體更有可能成為下一代的父代。選擇算子是一個關(guān)鍵的遺傳算子[13-16]。
提出了“等級選擇法”,在錦標(biāo)賽法的基礎(chǔ)上,將種群中的個體按照適應(yīng)度進(jìn)行排序,然后分成四個等級。進(jìn)行下一代選擇操作時,為四個等級的個體分配特定的比率。這樣不僅確保在種群中選擇更好的個體,而且可以在不破壞全局的情況下保持種群選擇的多樣性。等級選擇法過程如下。
Step 1初始種群oldPop列數(shù)為Pb+1,行數(shù)為種群內(nèi)個體數(shù)量N。
Step 2按適應(yīng)度值遞增順序,將種群內(nèi)個體排序,得到centerPop。
Step 3按適應(yīng)度值大小,排好序的個體分為差、中、良、優(yōu)四級,選擇概率分別為P0,P0+δ,P0+2δ,P0+3δ,選擇出來的個體數(shù)量分別為ncha=N/4×P0,nzhong=N/4×(P0+δ),nliang=N/4×(P0+2δ),nyou=N/4×(P0+3δ),此時,候補(bǔ)個體數(shù)為nhoubu=N-nyou-nliang-nzhong-ncha。
Step 4確定好四個等級以及候補(bǔ)等級個體數(shù)后,對不同等級個體進(jìn)行選擇。對于候補(bǔ)個體,優(yōu)先從優(yōu)級選擇,若優(yōu)級不夠,則從良級選擇。
Step 5將優(yōu)、良、中、差四級個體和候補(bǔ)個體進(jìn)行拼接,得到新種群newPop。
等級選擇法的步驟如圖1所示。
下面將“等級選擇法”用圖形表示。令種群數(shù)為20,P0=0.4,δ=0.2。用圓柱代表種群中的個體,圓柱中的數(shù)字代表適應(yīng)度值,圓柱下的數(shù)字代表個體編號。
1)首先確定初始種群,種群數(shù)為20,見圖2。
2)按照適應(yīng)度值遞增的順序,將種群個體進(jìn)行排序,見圖3。
3)排好序的個體分為四個等級:差、中、良、優(yōu),見圖4。
4)根據(jù)已確定參數(shù),差、中、良、優(yōu)四個等級的選擇比例各自為0.4,0.6,0.8,1。為各個等級隨機(jī)選擇的個體數(shù)為:2,3,4,5,見圖5。
5)挑選出的個體,見圖6。
6)因選擇操作損失的個體數(shù)為:20-5-4-3-2=6,即候補(bǔ)個體數(shù)為6,其中包括5個優(yōu)級個體和1個良級個體。候補(bǔ)個體見圖7。
7)新種群=挑選出的個體+候補(bǔ)個體。將第5)步與第6)步的個體進(jìn)行拼接,得到新種群,見圖8。
新種群與初始種群相比,平均適應(yīng)度明顯提高。等級選擇法既保證了選擇優(yōu)秀個體,又維持了種群選擇多樣性,使適應(yīng)性較差的個體有機(jī)會被選中,提高了遺傳算法的全局搜索能力。
單獨(dú)使用BP神經(jīng)網(wǎng)絡(luò)模型容易陷入局部極值,效果不太理想[17-20]。利用等級選擇法作為選擇算子的遺傳算法具有較強(qiáng)的全局搜索能力,用它來確定BP神經(jīng)網(wǎng)絡(luò)模型的權(quán)值和閾值,能得到更準(zhǔn)確的預(yù)測結(jié)果。
把用“等級選擇法”作為選擇算子的遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型稱為“改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型”,把用經(jīng)典“輪盤賭法”作為選擇算子的遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型稱為“遺傳神經(jīng)網(wǎng)絡(luò)模型”。
改進(jìn)神經(jīng)網(wǎng)絡(luò)模型的流程如下:
Step 1將數(shù)據(jù)歸一到[-1,1];
Step 2確定神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),進(jìn)一步確定神經(jīng)網(wǎng)絡(luò)模型權(quán)值及閾值的個數(shù);
Step 3對神經(jīng)網(wǎng)絡(luò)權(quán)值及閾值進(jìn)行編碼,得到初始種群;
Step 4進(jìn)行解碼,得到權(quán)值及閾值;
Step 5將解碼得到的權(quán)值及閾值賦給新建的BP神經(jīng)網(wǎng)絡(luò),得到誤差值;
Step 6運(yùn)用“等級選擇法”進(jìn)行選擇;
Step 7進(jìn)行交叉、變異運(yùn)算,如果滿足終止條件,則解碼后得到最優(yōu)的權(quán)值和閾值,否則回至Step 4。改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)流程見圖9。
1)初始化種群。
基本遺傳算法一般采用二進(jìn)制編碼,用0,1表示,使用較廣泛,但其在基因中不能明確表達(dá),而實數(shù)編碼表達(dá)更具體,所以改進(jìn)遺傳算法采用實數(shù)編碼。一個個體就是一串實數(shù),包括輸入層及隱含層之間的連接權(quán)值、隱含層閾值、隱含層及輸出層之間的連接權(quán)值、輸出層閾值。
利用經(jīng)驗公式法確定隱含層節(jié)點(diǎn)個數(shù),如式(1)所示。
(1)
其中,l為隱含層節(jié)點(diǎn)個數(shù);a為從1~10之間的常數(shù);m為輸入層節(jié)點(diǎn)數(shù);n為輸出層節(jié)點(diǎn)數(shù)。
改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)中待優(yōu)化參數(shù)有Pb個,如式(2)所示。
Pb=m×n+n×l+l×n
(2)
激活函數(shù)采用雙極S型函數(shù),f(x)∈(-1,1),x∈(-∞,∞),表達(dá)式如式(3)所示。
(3)
2)適應(yīng)度函數(shù)。
利用適應(yīng)度函數(shù)篩選遺傳算法的每代結(jié)果,模擬自然界優(yōu)勝劣汰,選擇優(yōu)秀個體作為父代。適應(yīng)度值是算法評價指標(biāo)。對于計算結(jié)果,認(rèn)為誤差越小,其適應(yīng)度值越大。令均方誤差的倒數(shù)作為適應(yīng)度函數(shù),見式(4)。
(4)
其中,β為預(yù)測樣本個數(shù);yi為預(yù)測值;ti為真實值。
3)選擇操作。
運(yùn)用“等級選擇法”進(jìn)行選擇操作,具體操作步驟在第2部分已詳細(xì)介紹。
4)交叉操作。
交叉操作指選擇出的個體按一定概率交叉得到新個體。改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)為實數(shù)編碼,所以采用實數(shù)交叉,見式(5)。
(5)
其中,a為[0,1]之間的隨機(jī)數(shù);cmi為第m個染色體的第i位;cni為第n個染色體的第i位。
5)變異操作。
(6)
采用某市隧道施工某監(jiān)測點(diǎn)連續(xù)63 d的數(shù)據(jù)進(jìn)行地表沉降預(yù)測研究,沉降數(shù)據(jù)如圖10所示。
運(yùn)用地表沉降監(jiān)測點(diǎn)過去5 d地表沉降量為時域特征輸入,來預(yù)測未來一天的地表沉降情況,共構(gòu)建58組數(shù)據(jù)。前80%的數(shù)據(jù)為訓(xùn)練樣本,后20%的數(shù)據(jù)為預(yù)測樣本。遺傳算法參數(shù)如表1所示,BP神經(jīng)網(wǎng)絡(luò)模型參數(shù)如表2所示。
表1 遺傳算法參數(shù)
表2 BP神經(jīng)網(wǎng)絡(luò)模型參數(shù)
在等級選擇法中,按照P0,P0+δ,P0+2δ,P0+3δ的概率,分別給差、中、良、優(yōu)四級個體進(jìn)行分配。根據(jù)大量實驗得出,當(dāng)P0=0.4,δ=0.2時預(yù)測精度最高,此時四級個體的選擇概率分別是0.4,0.6,0.8,1,對應(yīng)初始個體數(shù)分別是12,12,13,13,選擇出來的個體數(shù)分別是5,8,11,13。
將按比例選出的四級個體合并,共包含個體數(shù)n=37,需候補(bǔ)個體數(shù)為50-37=13。全部優(yōu)級個體被選為候補(bǔ)個體。最后,將四級個體與候補(bǔ)個體進(jìn)行拼接,完成遺傳算法的一代選擇操作。
分別采用BP神經(jīng)網(wǎng)絡(luò)模型、遺傳神經(jīng)網(wǎng)絡(luò)模型、改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型對地表沉降值進(jìn)行預(yù)測,預(yù)測結(jié)果見表3。
表3 三種神經(jīng)網(wǎng)絡(luò)模型預(yù)測值與真實值對比表
運(yùn)用三種模型的地表沉降預(yù)測值如圖11所示,預(yù)測絕對誤差如圖12所示。
對比三種模型預(yù)測結(jié)果的均方誤差、計算時間。
均方誤差的計算公式如式(7)所示。
(7)
其中,fi為預(yù)測值;ri為真實值;n為預(yù)測樣本個數(shù)。mse值越小,模型的精度越高。
分別計算三種模型預(yù)測地表沉降時的均方誤差,將三種神經(jīng)網(wǎng)絡(luò)模型分別獨(dú)立運(yùn)行50次,得到預(yù)測的均方誤差平均值及平均運(yùn)算時間如表4所示。
表4 三種神經(jīng)網(wǎng)絡(luò)模型結(jié)果對比
根據(jù)均方誤差結(jié)果可知,遺傳神經(jīng)網(wǎng)絡(luò)模型比BP神經(jīng)網(wǎng)絡(luò)模型均方誤差平均值小0.024 484,預(yù)測精度高11.82%,改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型比遺傳神經(jīng)網(wǎng)絡(luò)模型均方誤差平均值小0.078 875,預(yù)測精度高43.18%,改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型比BP神經(jīng)網(wǎng)絡(luò)模型均方誤差平均值小0.103 359,預(yù)測精度高49.89%,改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度最高。根據(jù)平均運(yùn)算時間分析,與BP神經(jīng)網(wǎng)絡(luò)模型相比,遺傳神經(jīng)網(wǎng)絡(luò)模型、改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型運(yùn)算所用平均運(yùn)算時間更長,這是正?,F(xiàn)象,因為遺傳神經(jīng)網(wǎng)絡(luò)模型、改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型比BP神經(jīng)網(wǎng)絡(luò)模型增加了遺傳算法的步驟。在進(jìn)行地表沉降預(yù)測時,與遺傳神經(jīng)網(wǎng)絡(luò)模型相比,改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)模型平均均方誤差更小,平均運(yùn)算時間更短,運(yùn)算效率更高,證實了“等級選擇法”的有效性。