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