范 良,趙國忱,蘇運強
(遼寧工程技術大學測繪與地理科學學院,遼寧阜新 123000)
變形監測正向自動化、實時化的方向不斷發展,監測的對象和內容更加豐富,獲得的觀測數據越來越多,對變形數據的分析與預報有了更高的要求。作為一門迅速興起的非線性科學,神經網絡理論在處理信息十分復雜、背景知識比較模糊、推理規則不很明確的問題上,顯示出了獨特的優越性。廣義回歸神經網絡(generalized regression neural network,GRNN)是美國學者 Donald F.Specht在1991年提出的,它是徑向基神經網絡的一種,在逼近能力和學習速度上較RBF網絡有更強的優勢,其模型的泛化性能良好。GRNN網絡模型的形式不需要設定,隱回歸單元中核函數的光滑因子的取值對網絡輸出影響比較大,但是難以確定。
為此,出現了模擬退火優化算法、遺傳算法、蟻群算法及粒子群算法等各種優化算法,人們將這些算法應用到神經網絡預報模型中,從而提高了變形數據處理預報的精度。但這些算法不能總是收斂到全局最優,而且迭代次數多、收斂速度慢。果蠅優化算法是模擬生物群體模型(果蠅)的群體智能優化算法,基于果蠅本身在感官知覺上優于其他物種,利用其覓食行為推演出尋求全局優化的能力更強。相對于粒子群等算法,果蠅優化算法需調整的參數少,更簡單、更容易實現,試驗證明其收斂到全局最優的能力更強。本文將果蠅優化算法用于優化GRNN的平滑因子,再利用該網絡進行預測。采用實際的工程數據進行驗證,并與未優化GRNN網絡進行對比,驗證此方法的有效性。
廣義回歸神經網絡的理論基礎是非線性回歸分析,設兩個隨機向量的聯合概率密度函數為f(x,y),x的觀測值為x0,則y對x0的回歸值,即條件均值為

應用Parzen非參數估計方法,可以利用樣本數據集{xi,yi},i=1,2,…,n,根據式(1)估算密度函數f(x0,y)為


將式(2)代入式(1),交換積分與加和的順序,經過計算可以得到


廣義回歸神經網絡的結構如圖1所示,它與RBF網絡較為相似,是由輸入層(input layer)、模式層(pattern layer)、求和層(summation layer)和輸出層(output layer)4層構成的。輸入層神經元數目等于樣本輸入向量的維數,直接將輸入向量傳遞給模式層。模式層的單元數為n,這層的每個單元都對應于1個訓練樣本,一般采用高斯函數(e-k(x0,xi))為核函數,(xi)為各單元核函數的中心矢量。求和層包含分子單元和分母單元,分子單元將模式層各單元輸出進行加權求和,其中的權是各訓練樣品的(yi)值;分母單元將模式層各單元的輸出進行求和。輸出層的單元將求和層分子、分母單元的輸出相除進而算得y的估算值。

圖1 廣義回歸神經網絡結構圖
臺灣學者潘文超教授提出的果蠅優化算法(fruit fly optimization algorithm,FOA)是根據果蠅覓食行為推演出來的全局尋優算法。
果蠅在感官知覺,尤其是嗅覺和視覺上優于其他物種。果蠅的嗅覺器官能很好地搜集漂浮在空氣中的各種氣味,甚至能嗅到40 km以外的食物源。然后,飛近食物位置后亦可使用敏銳的視覺發現食物與同伴聚集的位置,并且往該方向飛去。
依照果蠅搜尋食物的特性,結合圖2,將其歸納為幾個必要的步驟:
1)隨機初始化果蠅群體的位置:

2)隨機設置果蠅個體用嗅覺搜尋食物的方向與距離:

3)由于無法立即得到食物的具體位置,因此先估計此時果蠅個體與原點之距離,然后計算味道濃度判定值(S),此值為距離之倒數:

4)將味道濃度判定值(S)代入味道濃度判定函數(Fitness function),求出果蠅個體所處位置的味道濃度(Smell):

5)求出果蠅群體中味道濃度的極值,并記錄下此果蠅個體的位置:

6)果蠅群體利用視覺向步驟5)記錄的位置飛去,形成新的群聚位置:

7)進入迭代尋優,重復執行步驟2)-5),并判斷味道濃度是否優于前一迭代味道濃度,若是則執行步驟6)。
相比于其他經常被用作處理最優化問題的演算法,包括遺傳算法(genetic algorithm)、蟻群算法(ant colony optimization)、粒子群算法(particle sarm optimization)等,果蠅優化算法有計算過程簡單,便于將它的觀念轉化為程序代碼,而且便于理解等優點。

圖2 果蠅群體迭代搜索食物示意圖
FOA優化GRNN的思路是透過果蠅的嗅覺隨機覓食,再透過視覺而聚群在香味最濃的位置,可將GRNN的Spread參數值調整到最佳值,使網絡輸出值與目標值兩者之間的均方根誤差(RMSE)調整到最小。具體方法是先計算出果蠅個體位置與原點坐標(0,0)之間的距離并計算倒數以求出味道濃度判定值(S),再將它代入GRNN的參數Spread內,利用Matlab函數newgrnn()訓練網絡得到輸出值,并且根據樣本觀測值計算出RMSE(味道濃度判定函數),此值越小越好,保留此時的味道濃度判定值S,依此方法進行迭代搜尋。此外,Matlab訓練GRNN網絡的Spread值一般采用默認值1進行。
本文采用Matlab編程,所用數據源為某煤礦煤倉的沉降量觀測數據。這一觀測時期為煤倉建成后生產使用中的狀態。考慮影響變形的因子包括:溫度,荷載及時效。其中,荷載因子取L(沉降觀測時煤倉的裝煤荷載量,以百分數表示);時效影響沉降量的變化規律為初期變化急劇,后期漸趨穩定,時效沉降量變化一般符合對數函數,雙曲線函數和線性函數,因此時效因子取M/100,InM,M/M+1(M為距離第一次測量時間天數);溫度分量T按照查詢的當天氣溫為統計因子;輸出數據為觀測點的累計沉降量。本次使用數據總共51期,將前47期作為訓練數據,后4期作為預測數據。
首先對輸入輸出數據進行預處理。利用Matlab自帶函數mapminmax()對樣本數據進行歸一化處理,使它們都在[0.1,0.9]之間,得出 FOAGRNN網絡的輸入輸出數據列。
利用廣義回歸神經網絡的Matlab工具箱,設計FOA動態搜尋最佳函數newgrnn()的Spread參數值,建立FOA優化GRNN預報模型。果蠅群體大小為20,迭代次數為100,經Matlab仿真計算得出預報值。然后將Spread值分別設置為0.35、0.50、1,用相同的訓練集訓練網絡,并對最后4期數據進行預報,分別得出預報值d'和絕對誤差e,具體預報結果見表1和圖3。

表1 預測結果比較表 mm

圖3 預測結果比較圖
經過對比分析可知,經由果蠅優化算法優化的廣義回歸神經網絡可以迅速找到合適的Spread參數即光滑因子,預報精度得到了提高。
本文主要利用果蠅優化算法對廣義回歸神經網絡進行優化,并建立了基于FOAGRNN的變形監測數據預報模型,它具有構造簡單、調整參數少、訓練過程快等特點。最后將FOAGRNN應用到實際數據中,可以發現:
1)果蠅優化算法具有構造簡單、調整參數少、訓練過程快等特點,算法實現程序容易實現,并且代碼簡單易懂,相對于遺傳算法和粒子群算法,程序代碼不會太過冗長。
2)果蠅優化算法能夠以較高精度對數據進行擬合與預報,可以用來描述建筑物的沉降變化規律。
3)應用該模型對建筑物進行變形預報時,必須對原始數據進行預處理,而且用來預報模型的數據要盡可能多、規范、要經過過濾;否則個別質量較差的點會對預報結果產生較大影響。
4)經由果蠅優化算法優化迭代動態調整Spread參數值之后,預報能力得到提升,優于一般廣義回歸神經網絡。
[1] 陳永奇,吳予安,吳中如.變形監測分析與預報[M].北京:測繪出版社,1997.
[2] 張正祿,黃全義,文鴻雁,等.工程的變形監測分析與預報[M].北京:測繪出版社,2007.
[3] 潘文超.應用果蠅優化算法優化廣義回歸神經網絡進行企業經營績效評估[J].太原理工大學學報:社會科學版,2011,29(4):1-5.
[4] 肖正安.基于果蠅優化算法的模擬濾波器設計[J].湖北第二師范學院學報,2012,29(2):26-29.
[5] 岳建平,方露,黎昵.變形監測理論與技術研究進展[J].測繪通報,2007(7):1-4.
[6] 李鋼.廣義回歸神經網絡在大壩安全檢測數據分析中的應用[D].武漢:武漢大學,2005.
[7] 蘭海濤,李謙,韓春雨.基于廣義回歸神經網絡的邊坡穩定性評價[J].巖土力學,2009,30(11):3460-3463.
[8] SPECHT D F.A General Regression Neural Network[J].IEEE Transactions on Neutral Networks,1991,2(6):568-576.
[9] 史峰,王小川,郁磊,等.MATLAB神經網絡30個案例分析[M].北京:北京航空航天大學出版社,2010.
[10] 潘文超.果蠅最佳化演算法—最新演化式計算技術[M].臺灣:滄海書局,2011.