馮 康,張亞超,王文濤,孫朝印
(黃河勘測規(guī)劃設(shè)計有限公司,鄭州 450003)
BP神經(jīng)網(wǎng)絡(luò)作為變形預(yù)測經(jīng)典模型之一,被廣泛應(yīng)用到變形預(yù)測領(lǐng)域。孟凡麗等[1]將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用在深基坑圍護結(jié)構(gòu)的變形預(yù)測上;仲潔等[2]利用BP神經(jīng)網(wǎng)絡(luò)對大壩的變形進行了預(yù)測;張云博等[3]利用BP神經(jīng)網(wǎng)絡(luò)預(yù)測了建筑物的沉降;成樞等[4]利用BP網(wǎng)絡(luò)預(yù)測了礦區(qū)地表沉降;易慶林等[5]則將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用在水庫滑坡變形預(yù)測上。
由于單一BP神經(jīng)網(wǎng)絡(luò)模型在預(yù)測效果上多多少少存在不足之處,許多學(xué)者開始尋求方法對其進行改進,以求達到更好的預(yù)測效果。楊哲峰等[6]利用小波神經(jīng)網(wǎng)絡(luò)對深基坑坑周土體水平位移量進行了預(yù)測;黃永紅[7]利用灰色神經(jīng)網(wǎng)絡(luò)預(yù)測了深基坑圍護結(jié)構(gòu)變形;李彥杰等[8]利用遺傳神經(jīng)網(wǎng)絡(luò)預(yù)測了基坑地下連續(xù)墻深層土體水平位移;李捷斌等[9]利用卡爾曼濾波和BP神經(jīng)網(wǎng)絡(luò)預(yù)測了大壩變形;譚衢霖等[10]則利用小波神經(jīng)網(wǎng)絡(luò)預(yù)測了建筑物沉降,均得到令人滿意的結(jié)果。此外,隨著各種新理論、新知識的出現(xiàn),混沌理論、突變理論、粒子群算法、分形理論等也被應(yīng)用于變形預(yù)測和模型改進方面,研究成果也層出不窮。魯金金等[11]利用混沌理論預(yù)測了巖體沉降;牛景太[12]利用混沌理論和突變理論預(yù)測了高邊坡變形;吳浩等[13]利用灰色和分形理論預(yù)測了邊坡變形;徐鋒[14]利用粒子群神經(jīng)網(wǎng)絡(luò)對大壩的變形進行了預(yù)測??傮w來說,單獨的預(yù)測模型存在著不足之處,改進與組合模型改進了獨立模型的不足,新理論、新方法的應(yīng)用又提高了預(yù)測精度。針對這一現(xiàn)狀,本文提出并研究了改進粒子群BP神經(jīng)網(wǎng)絡(luò)模型,通過具體工程實例與改進之前情況進行對比分析,得出一些結(jié)論。
粒子群算法[15](PSO)最初由Kennedy和Eberhart提出,其主要通過模擬鳥類覓食的過程,把一個需要優(yōu)化的問題看做是覓食的鳥群,每個粒子相當(dāng)于一只鳥,代表問題的一個潛在解,各粒子根據(jù)自身經(jīng)歷的最優(yōu)位置和群體經(jīng)歷的最優(yōu)位置,不斷地調(diào)整位置和速度,最終不斷地向著最優(yōu)位置聚集。
粒子群算法的數(shù)學(xué)描述可以如下:
設(shè)粒子群中粒子的個數(shù)為M,問題解的維數(shù)為D,在D維搜索空間中:
則粒子的更新公式如下:
(1)
其中1≤i≤M,1≤d≤D;k為迭代次數(shù);w為慣性權(quán)重因子;c1,c2為學(xué)習(xí)因子,r1,r2為[0,1]之間的一個隨機數(shù)。
粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)主要是利用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,首先利用粒子群算法進行初步尋優(yōu),即每個粒子均包含了神經(jīng)網(wǎng)絡(luò)的所有權(quán)值和閾值,最終輸出最優(yōu)粒子賦給神經(jīng)網(wǎng)絡(luò)作為初值,然后再由神經(jīng)網(wǎng)絡(luò)繼續(xù)訓(xùn)練。這種結(jié)合方式可以使BP網(wǎng)絡(luò)在訓(xùn)練之初,其權(quán)值和閾值就落在網(wǎng)絡(luò)全局誤差所構(gòu)成的連接權(quán)空間中全局最優(yōu)峰區(qū)域,避免了單純BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練后期容易造成收斂速度慢,陷入局部極值的缺陷。
粒子群BP神經(jīng)網(wǎng)絡(luò)算法的具體操作流程見圖1。
圖1 粒子群BP神經(jīng)網(wǎng)絡(luò)算法流程圖Fig.1 The particle swarm BP neural network algorithm flow chart
由于在粒子群尋優(yōu)后期,粒子易出現(xiàn)過早聚現(xiàn)象,這樣會使粒子飛行區(qū)域變小,停滯不前,從而陷入局部最優(yōu)。這就需要對粒子群前期搜索階段進行優(yōu)化,改進粒子群BP神經(jīng)網(wǎng)絡(luò)模型。
該模型是通過引入收縮因子β對粒子的速度進行控制,即防止粒子的速度過大或過小而飛過或飛不到最優(yōu)位置,具體公式表示如下:
其中φ=c1+c2,且φ>4。典型的取法為:c1=c2=2.05,此時φ=4.1,收縮因子β=0.729,w=0.729,c1=c2=1.494,該方法慣性權(quán)重和學(xué)習(xí)因子均固定,形式上等同于傳統(tǒng)PSO-BP模型。
學(xué)習(xí)因子固定,慣性權(quán)重線性遞減。
c1=c2=1.494
式中:wmax、wmin為權(quán)重因子的最大值和最小值,通常取wmax=0.9,wmin=0.4;t和tmax為當(dāng)前迭代和最大迭代次數(shù)。
慣性權(quán)重線性遞減可以使粒子在前期具備較強的全局搜索能力,而隨著w的遞減逐步達到全局搜索和局部搜索的平衡,最終在w取值較小時,粒子群依靠較強的局部搜索能力在最優(yōu)解附近快速收斂到最優(yōu)解。
慣性權(quán)重線性遞減,學(xué)習(xí)因子異步變化。
式中:c1,ini、c2,ini分別為c1、c2的初值;c1,fin、c2,fin分別為c1、c2的終值。典型的取法為c1,ini=2.5,c1,fin=0.5,c2,ini=0.5,c2,fin=2.5。
學(xué)習(xí)因子的異步變化,可以用來調(diào)節(jié)粒子在不同時期更多地參考自身經(jīng)驗還是社會經(jīng)驗,從而協(xié)調(diào)粒子群的全局與局部搜索,有利于粒子的尋優(yōu)。
受遺傳算法變異思想的啟發(fā),在粒子群自身參數(shù)改進的基礎(chǔ)上進行二次改進,其基本思想是在粒子群迭代尋優(yōu)過程中,引入變異機制,使粒子以一定的概率重新初始化,形成新的粒子,這樣可以使粒子在搜索過程中跳出逐漸縮小的搜索空間,從而避免陷入局部最優(yōu)。
選取某大型基坑邊坡沉降監(jiān)測數(shù)據(jù)作為實驗數(shù)據(jù),該數(shù)據(jù)是利用天寶DiNi12(0.3 mm)電子水準(zhǔn)儀進行的二等水準(zhǔn)觀測數(shù)據(jù),監(jiān)測周期為3 d,最終得到各監(jiān)測點的累積沉降數(shù)據(jù)。隨機選取其中一個監(jiān)測點的前65期數(shù)據(jù)作為實驗樣本,其累計沉降曲線見圖2。
圖2 各周期累計沉降曲線圖Fig.2 Accumulated subsidence curves for each cycle
為了檢驗?zāi)P偷目煽啃?,采用以下評價指標(biāo):
平均相對誤差:
本次實驗均在MATLAB平臺上編程實現(xiàn), 采用基于時間序列的神經(jīng)網(wǎng)絡(luò)預(yù)測方法[16],本案例中神經(jīng)網(wǎng)絡(luò)是通過newff函數(shù)創(chuàng)建的3層BP網(wǎng)絡(luò),隱含層傳輸函數(shù)選取為tansig函數(shù),輸出層選取為purelin函數(shù),其中輸入層為3個節(jié)點,輸出層為一個節(jié)點,隱含層節(jié)點數(shù)根據(jù)試算法確定為10,網(wǎng)絡(luò)結(jié)構(gòu)即為3-10-1,選取前55期數(shù)據(jù)作為訓(xùn)練樣本,后10期的數(shù)據(jù)作為驗證樣本。
神經(jīng)網(wǎng)絡(luò)各參數(shù)設(shè)置為:最大迭代次數(shù)1 000次,學(xué)習(xí)率0.1,訓(xùn)練目標(biāo)0.000 8。
分別采用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)、PSO-BP-1、PSO-BP-2、PSO-BP-3和變異PSO-BP共5種模型進行預(yù)測,其中變異PSO-BP模型是在PSO-BP-3模型基礎(chǔ)上再次引入變異操作。
各模型擬合結(jié)果的精度檢驗對比見表1。
表1 各模型擬合結(jié)果的精度檢驗對比表Tab.1 Each model fitting accuracy test results comparison table
各模型的預(yù)測結(jié)果及精度檢驗對比見圖3及表2。
圖3 各模型的預(yù)測結(jié)果對比圖Fig.3 Comparison of the prediction results of each model
表2 各模型預(yù)測結(jié)果的精度檢驗對比表Tab.2 Comparison of the accuracy test of prediction results of each model
結(jié)果分析:
1) 由表1可以看出,各模型均達到了很好的擬合結(jié)果,改進粒子群神經(jīng)網(wǎng)絡(luò)的擬合精度整體優(yōu)于傳統(tǒng)BP網(wǎng)絡(luò),這不僅驗證了BP神經(jīng)網(wǎng)絡(luò)強大的非線性映射能力,也驗證了粒子群改進BP神經(jīng)網(wǎng)絡(luò)思想的正確性。
2) 由圖3及表2可以看出,各模型均達到了較高的預(yù)測精度,改進粒子群神經(jīng)網(wǎng)絡(luò)的預(yù)測精度整體高于傳統(tǒng)BP網(wǎng)絡(luò),且隨著改進方法的不斷深入,預(yù)測精度逐漸提高。
1) 粒子群算法和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,可以很大程度上解決BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、對初始值敏感和易陷入局部極值的缺陷。
2) 對粒子群BP神經(jīng)網(wǎng)絡(luò)進行改進,可以進一步解決算法的不足,從而進一步提高預(yù)測精度。
3) 基于神經(jīng)網(wǎng)絡(luò)時間序列的預(yù)測方法,是通過挖掘數(shù)據(jù)本身規(guī)律進行預(yù)測,不針對于特有案例,改進粒子群BP神經(jīng)網(wǎng)絡(luò)模型較傳統(tǒng)BP網(wǎng)絡(luò)挖掘能力更強,其適用性也更強,預(yù)測精度更高,優(yōu)勢顯著。