胡澤濤,高文華,姜曉日
(湖南科技大學 土木工程學院, 湖南 湘潭市 411201)
邊坡的穩(wěn)定性分析是一項復雜的工作。邊坡巖土體在各種因素長期作用下,物理性質(zhì)、地質(zhì)條件等方面變得非常復雜,各影響因素與邊坡穩(wěn)定性之間存在非線性關(guān)系,針對這種情況出現(xiàn)很多智能評價方法。但是這些智能評價方法都或多或少存在神經(jīng)網(wǎng)絡(luò)收斂、過擬合以及泛化方面的問題。引入主成分分析(PCA)處理樣本數(shù)據(jù)和PSO優(yōu)化BP網(wǎng)絡(luò)的初始權(quán)值可以較好地改善這些問題。
BP網(wǎng)絡(luò)產(chǎn)生局部極小的根本原因在于其誤差函數(shù),在其訓練過程中是根據(jù)誤差函數(shù)不斷整體性地調(diào)整權(quán)值和閥值。但是誤差函數(shù)的超平面具有很多的局部極小點,從而使網(wǎng)絡(luò)訓練容易陷入局部極小。網(wǎng)絡(luò)的泛化能力是網(wǎng)絡(luò)對未曾出現(xiàn)在訓練樣本中的模式的識別的能力。對樣本空間,初始權(quán)值以及網(wǎng)絡(luò)結(jié)構(gòu)的改進可使局部極小和泛化問題得到改善。
在研究實際問題時,常會涉及到多個變量。如果變量太多就會增加計算的復雜性,同時也給合理地解決問題帶來困難。而應用主成分分析(PCA)方法就可以對這些變量進行改造,用數(shù)量極少的獨立變量來反映原始變量提供的絕大部分信息。
首先假設(shè)有經(jīng)過標準化以后的k個變量的N個樣本集,則有:
協(xié)方差(cov)矩陣就是一個k×k的矩陣,采用PCA就可以將cov矩陣變換成一個具有單一方差和相互獨立的變尺度后的新的變量相對應。PCA可以表示為:
式中,λj是第j個變尺度變量變量的方差(即特征值),uj是第j個變尺度變量(即主成分)。每一個主成分定義了一個新的坐標軸方向,從而使坐標軸都相互正交。這樣,從本質(zhì)上講原始輸入變量進行去相關(guān)化,使之成為相互獨立的新變量。
粒子群算法具有較好的全局尋優(yōu)能力,可以用它大概找出初始權(quán)值和閥值的全局最優(yōu)位置所在,為后面的BP計算提供初始權(quán)值和閥值。假設(shè)有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是權(quán)重;是粒子i在第d 維的個體極值位置;是群體在第d維的全局極值位置。
為提高算法性能,對PSO算法中的rand()函數(shù)進行改進,引入sobol序列產(chǎn)生隨機數(shù)。它是由一種叫做“模二本原多項式”的數(shù)學理論產(chǎn)生的。其基本原理如下,假設(shè)存在一個q次的多項式P:
用q項遞推關(guān)系定義一個整數(shù)序列Mi:
其中,8表示逐位異或運算。
由Mi可以得到方向數(shù)Vi:
得到方向數(shù)后就可以計算得到隨機數(shù),具體過程可以參考Numerical Recipes in C。它具有比rand()函數(shù)更好的均勻性,從圖1、圖2中可以更直觀的看出(二維情況下)。用改進的PSO算法對BP誤差函數(shù)尋優(yōu),就可以以更大的概率找到誤差函數(shù)的全局最優(yōu)點附近。
圖1 rand函數(shù)生成的點
為了評價邊坡的穩(wěn)定性,建立了PCA-PSOBP模型。邊坡樣本選取了容重、黏聚力、內(nèi)摩擦角、坡角、坡高、孔隙水壓比這6個影響因素進行分析。樣本數(shù)據(jù)經(jīng)過PCA分析處理生成新的數(shù)據(jù),最終確定BP網(wǎng)絡(luò)的輸入節(jié)點數(shù)和樣本數(shù)據(jù)。根據(jù)BP網(wǎng)絡(luò)輸入輸出節(jié)點確定隱含層節(jié)點數(shù)。最后根據(jù)BP網(wǎng)絡(luò)的連接權(quán)值和閥值確定PSO優(yōu)化算法的維數(shù)。確定PSO算法的適應度函數(shù)(將BP網(wǎng)絡(luò)的誤差函數(shù)作為其適應度函數(shù)),把經(jīng)過優(yōu)化的權(quán)值和閥值提供給BP網(wǎng)絡(luò)作為初始權(quán)值和閥值。它的本質(zhì)是前面的PCA提供數(shù)據(jù)的處理分析,選擇合理的輸入節(jié)點數(shù),盡量提高網(wǎng)絡(luò)的泛化能力和消除過擬合現(xiàn)象;后面采用PSO優(yōu)化算法先對網(wǎng)絡(luò)訓練進行全局尋優(yōu),找到全局最優(yōu)大概的區(qū)域后,BP算法接力訓練尋優(yōu),從而快速收斂到全局最優(yōu)。具體過程見圖3。
圖2 sobol序列生成的點
圖3 PCA-PSOBP模型示意
共收集到巖質(zhì)邊坡樣本83個,限于篇幅,只列出部分樣本數(shù)據(jù),見表1。
原始樣本經(jīng)過PCA分析處理后得到pc(主成分)和gx(主成分的貢獻率):
表1 樣本數(shù)據(jù)
從gx數(shù)據(jù)可以看出,只要取前4個主成分就可以反映整個樣本數(shù)據(jù)99.9997%的信息。
從上面分析可以確定BP網(wǎng)絡(luò)的輸入節(jié)點數(shù)為4。因為BP網(wǎng)絡(luò)的激活函數(shù)選用的是logsig函數(shù),為防止logsig出現(xiàn)飽和,需要對經(jīng)過PCA分析后的新樣本數(shù)據(jù)進行簡單的值域調(diào)整,將它們調(diào)整到0.1~0.9之間,選取前78個樣本作為訓練用,后5個樣本作為預測用。再由輸出節(jié)點數(shù)為1,經(jīng)過多次試算確定隱層節(jié)點數(shù)為6。由此可以計算出PSO優(yōu)化算法中速度和位置的維數(shù)是37。采用BP網(wǎng)絡(luò)的均方誤差函數(shù)作為PSO的適應度函數(shù),確定好BP網(wǎng)絡(luò)的權(quán)值和閥值與PSO解空間的對應關(guān)系。經(jīng)過PSO尋優(yōu)后的全局最優(yōu)粒子,把其值傳遞給BP網(wǎng)絡(luò)作為下一步開始訓練的初始權(quán)值和閥值。具體操作如下:
把PSO全局最優(yōu)粒子對應的值通過net.iw{1,1}傳遞給隱含層作為初始權(quán)值,同理,通過net.lw{2,1}可以傳遞給輸出層,通過net.b{1}可傳遞隱含層閥值,通過net.b{2}可以傳遞輸出層閥值;接下來由BP算法繼續(xù)訓練,訓練函數(shù)采用trainlm函數(shù)。
為保證計算后數(shù)據(jù)的統(tǒng)一性,只給出原始樣本中的5個樣本數(shù)據(jù),見表2。
表2 5個預測樣本數(shù)據(jù)
BP網(wǎng)絡(luò)用6-8-1的網(wǎng)絡(luò)結(jié)構(gòu),PCAPSOBP采用4-6-1的網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)過20計算分別得出最佳的計算結(jié)果。它們的誤差函數(shù)如圖4和圖5所示,圖5中的實際迭代次數(shù)是436,PSO迭代次數(shù)是400。
圖4 BP網(wǎng)絡(luò)訓練誤差函數(shù)
圖5 PCA-PSOBP網(wǎng)絡(luò)訓練誤差函數(shù)
表3 兩種網(wǎng)絡(luò)的計算值與原始值
從圖4、圖5以及表3可以看出,BP網(wǎng)絡(luò)的訓練誤差精度比PCA-PSOBP網(wǎng)絡(luò)的要高,但泛化能力卻不如后者好,這就是BP網(wǎng)絡(luò)的過擬合問題。盡管PCA-PSOBP迭代次數(shù)比BP的迭代次數(shù)多198次,但是其實際運行耗時比BP的耗時僅多3~4s,不會對實際應用造成大的影響。運行速度問題可以通過其他技術(shù)手段解決。
(1)使用PCA對數(shù)據(jù)進行處理,可以解決各影響因素之間的多重線性關(guān)系,改善過擬合現(xiàn)象。
(2)PSO優(yōu)化初始群權(quán)值和治閥值能夠使網(wǎng)絡(luò)以更大的概率收斂到全局最優(yōu)。
(3)PCA-PSOBP混合神經(jīng)網(wǎng)絡(luò)有較好的泛化能力,用它計算得到的邊坡穩(wěn)定性數(shù)值具有一定的參考價值。
(4)運算速度的問題可以通過使用其他計算機語言和其他代碼格式以及程序的進一步優(yōu)化得到較好的解決。
[1] 黃 勤,劉衍鵬,劉益良,等.基于PCA的GABP神經(jīng)網(wǎng)絡(luò)入侵檢測方法[J].計算機應用研究,2009,26(12):4754-4757.
[2] Sandhya Samarasinghe,史曉霞.神經(jīng)網(wǎng)絡(luò)在應用科學和工程中的應用—從基本原理到復雜的模式識別[M].北京:機械工業(yè)出版社,2010:187-215.
[3] 包研科.數(shù)據(jù)分析教程[M].北京:清華大學出版社,2011:63-76.
[4] 丁宏飛,朱 炯,羅書學.基于PCA-SVM的邊坡穩(wěn)定性預測模型研究[J].路基工程,2011(2):5-7.
[5] 龔 純,王正林.精通 MATLAB最優(yōu)化計算[M].北京:電子工業(yè)出版社,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īng)網(wǎng)絡(luò)在邊坡穩(wěn)定性分析中的應用[J].中國地質(zhì)災害與防治學報,1999,10(1):49-53.
[9] 夏元友,熊海豐.邊坡穩(wěn)定性影響因素敏感性人工神經(jīng)網(wǎng)絡(luò)分析[J].巖土力學與工程學報,2004,23(16):2703-2707.
[10]馬洪生.邊坡穩(wěn)定性影響因素定量分析神經(jīng)網(wǎng)絡(luò)法[J].路基工程,2005(5):42-44.
[11]鄒 平,李愛兵.屋場坪錫礦東部邊坡的可靠性與神經(jīng)網(wǎng)絡(luò)分析[J].采礦技術(shù),2011,11(6):51-53.