胡澤濤,高文華,姜曉日
(湖南科技大學 土木工程學院, 湖南 湘潭市 411201)
邊坡的穩定性分析是一項復雜的工作。邊坡巖土體在各種因素長期作用下,物理性質、地質條件等方面變得非常復雜,各影響因素與邊坡穩定性之間存在非線性關系,針對這種情況出現很多智能評價方法。但是這些智能評價方法都或多或少存在神經網絡收斂、過擬合以及泛化方面的問題。引入主成分分析(PCA)處理樣本數據和PSO優化BP網絡的初始權值可以較好地改善這些問題。
BP網絡產生局部極小的根本原因在于其誤差函數,在其訓練過程中是根據誤差函數不斷整體性地調整權值和閥值。但是誤差函數的超平面具有很多的局部極小點,從而使網絡訓練容易陷入局部極小。網絡的泛化能力是網絡對未曾出現在訓練樣本中的模式的識別的能力。對樣本空間,初始權值以及網絡結構的改進可使局部極小和泛化問題得到改善。
在研究實際問題時,常會涉及到多個變量。如果變量太多就會增加計算的復雜性,同時也給合理地解決問題帶來困難。而應用主成分分析(PCA)方法就可以對這些變量進行改造,用數量極少的獨立變量來反映原始變量提供的絕大部分信息。
首先假設有經過標準化以后的k個變量的N個樣本集,則有:

協方差(cov)矩陣就是一個k×k的矩陣,采用PCA就可以將cov矩陣變換成一個具有單一方差和相互獨立的變尺度后的新的變量相對應。PCA可以表示為:

式中,λj是第j個變尺度變量變量的方差(即特征值),uj是第j個變尺度變量(即主成分)。每一個主成分定義了一個新的坐標軸方向,從而使坐標軸都相互正交。這樣,從本質上講原始輸入變量進行去相關化,使之成為相互獨立的新變量。

粒子群算法具有較好的全局尋優能力,可以用它大概找出初始權值和閥值的全局最優位置所在,為后面的BP計算提供初始權值和閥值。假設有m個粒子,每個粒子為n維,則組成的種群為x=(x1,...,xm)T,其 中,第i 個 粒 子 的 位 置 為xi=(xi,1,...,xi,n)T,速 度 為 vi= (vi,1,...,vi,n)Tpg=(pg,1,...,pg,n)T。 它 的 個 體 極 值 為 pi=(pi,1,...,pi,n)T, 種 群 全 局 極 值 為 pg=(pg,1,...,pg,n)T。粒子找到上面兩個極值后按下面兩個公式進行自己的位置和速度更新:

式中,c1,c2是學習因子是第k 次迭代中第i個粒子的飛行速度的第d維分量是第k次迭代中第i個粒子的飛行位置的第d維分量;w是權重;是粒子i在第d 維的個體極值位置;是群體在第d維的全局極值位置。
為提高算法性能,對PSO算法中的rand()函數進行改進,引入sobol序列產生隨機數。它是由一種叫做“模二本原多項式”的數學理論產生的。其基本原理如下,假設存在一個q次的多項式P:

用q項遞推關系定義一個整數序列Mi:

其中,8表示逐位異或運算。
由Mi可以得到方向數Vi:

得到方向數后就可以計算得到隨機數,具體過程可以參考Numerical Recipes in C。它具有比rand()函數更好的均勻性,從圖1、圖2中可以更直觀的看出(二維情況下)。用改進的PSO算法對BP誤差函數尋優,就可以以更大的概率找到誤差函數的全局最優點附近。

圖1 rand函數生成的點
為了評價邊坡的穩定性,建立了PCA-PSOBP模型。邊坡樣本選取了容重、黏聚力、內摩擦角、坡角、坡高、孔隙水壓比這6個影響因素進行分析。樣本數據經過PCA分析處理生成新的數據,最終確定BP網絡的輸入節點數和樣本數據。根據BP網絡輸入輸出節點確定隱含層節點數。最后根據BP網絡的連接權值和閥值確定PSO優化算法的維數。確定PSO算法的適應度函數(將BP網絡的誤差函數作為其適應度函數),把經過優化的權值和閥值提供給BP網絡作為初始權值和閥值。它的本質是前面的PCA提供數據的處理分析,選擇合理的輸入節點數,盡量提高網絡的泛化能力和消除過擬合現象;后面采用PSO優化算法先對網絡訓練進行全局尋優,找到全局最優大概的區域后,BP算法接力訓練尋優,從而快速收斂到全局最優。具體過程見圖3。

圖2 sobol序列生成的點

圖3 PCA-PSOBP模型示意
共收集到巖質邊坡樣本83個,限于篇幅,只列出部分樣本數據,見表1。
原始樣本經過PCA分析處理后得到pc(主成分)和gx(主成分的貢獻率):



表1 樣本數據
從gx數據可以看出,只要取前4個主成分就可以反映整個樣本數據99.9997%的信息。
從上面分析可以確定BP網絡的輸入節點數為4。因為BP網絡的激活函數選用的是logsig函數,為防止logsig出現飽和,需要對經過PCA分析后的新樣本數據進行簡單的值域調整,將它們調整到0.1~0.9之間,選取前78個樣本作為訓練用,后5個樣本作為預測用。再由輸出節點數為1,經過多次試算確定隱層節點數為6。由此可以計算出PSO優化算法中速度和位置的維數是37。采用BP網絡的均方誤差函數作為PSO的適應度函數,確定好BP網絡的權值和閥值與PSO解空間的對應關系。經過PSO尋優后的全局最優粒子,把其值傳遞給BP網絡作為下一步開始訓練的初始權值和閥值。具體操作如下:
把PSO全局最優粒子對應的值通過net.iw{1,1}傳遞給隱含層作為初始權值,同理,通過net.lw{2,1}可以傳遞給輸出層,通過net.b{1}可傳遞隱含層閥值,通過net.b{2}可以傳遞輸出層閥值;接下來由BP算法繼續訓練,訓練函數采用trainlm函數。
為保證計算后數據的統一性,只給出原始樣本中的5個樣本數據,見表2。

表2 5個預測樣本數據
BP網絡用6-8-1的網絡結構,PCAPSOBP采用4-6-1的網絡結構,經過20計算分別得出最佳的計算結果。它們的誤差函數如圖4和圖5所示,圖5中的實際迭代次數是436,PSO迭代次數是400。

圖4 BP網絡訓練誤差函數

圖5 PCA-PSOBP網絡訓練誤差函數

表3 兩種網絡的計算值與原始值
從圖4、圖5以及表3可以看出,BP網絡的訓練誤差精度比PCA-PSOBP網絡的要高,但泛化能力卻不如后者好,這就是BP網絡的過擬合問題。盡管PCA-PSOBP迭代次數比BP的迭代次數多198次,但是其實際運行耗時比BP的耗時僅多3~4s,不會對實際應用造成大的影響。運行速度問題可以通過其他技術手段解決。
(1)使用PCA對數據進行處理,可以解決各影響因素之間的多重線性關系,改善過擬合現象。
(2)PSO優化初始群權值和治閥值能夠使網絡以更大的概率收斂到全局最優。
(3)PCA-PSOBP混合神經網絡有較好的泛化能力,用它計算得到的邊坡穩定性數值具有一定的參考價值。
(4)運算速度的問題可以通過使用其他計算機語言和其他代碼格式以及程序的進一步優化得到較好的解決。
[1] 黃 勤,劉衍鵬,劉益良,等.基于PCA的GABP神經網絡入侵檢測方法[J].計算機應用研究,2009,26(12):4754-4757.
[2] Sandhya Samarasinghe,史曉霞.神經網絡在應用科學和工程中的應用—從基本原理到復雜的模式識別[M].北京:機械工業出版社,2010:187-215.
[3] 包研科.數據分析教程[M].北京:清華大學出版社,2011:63-76.
[4] 丁宏飛,朱 炯,羅書學.基于PCA-SVM的邊坡穩定性預測模型研究[J].路基工程,2011(2):5-7.
[5] 龔 純,王正林.精通 MATLAB最優化計算[M].北京:電子工業出版社,2009:270-310.
[6] Willia m H.P ress,Saul A.Teukolsky.Numerical Recipes in C[M].New York:CAMBRIDGE UNIVERSITY PRESS,1992:309-313.
[7] 馮夏庭.智能巖石力學導論[M].北京:科學出版社,2000.
[8] 馬洪生.神經網絡在邊坡穩定性分析中的應用[J].中國地質災害與防治學報,1999,10(1):49-53.
[9] 夏元友,熊海豐.邊坡穩定性影響因素敏感性人工神經網絡分析[J].巖土力學與工程學報,2004,23(16):2703-2707.
[10]馬洪生.邊坡穩定性影響因素定量分析神經網絡法[J].路基工程,2005(5):42-44.
[11]鄒 平,李愛兵.屋場坪錫礦東部邊坡的可靠性與神經網絡分析[J].采礦技術,2011,11(6):51-53.