肖雄
【摘要】由于影響巖爆因素的復雜性,以及巖爆的極強災害性。本文通過選擇影響巖爆程度的四項物理力學指標,最后運算組合以后變成三項輸入因子。應用BP神經(jīng)網(wǎng)絡對16組國內(nèi)外巖爆實際工程案例進行訓練,得到最優(yōu)隱含層數(shù)。然后利用粒子群算法(PSO)優(yōu)化網(wǎng)絡的初始權值和閾值,避免了單獨使用BP網(wǎng)絡時說存在的不足。利用Matlab及其神經(jīng)網(wǎng)絡工具箱來實現(xiàn)網(wǎng)絡的運算和預測。將訓練好的網(wǎng)路應用到三組實際的案例中,最終結(jié)果表明:利用PSO-BP神經(jīng)網(wǎng)絡算法所預測出來的結(jié)果和實際巖爆烈度一致,且結(jié)果明顯優(yōu)于單因素判據(jù)和BP網(wǎng)絡預測的結(jié)果。
【關鍵詞】BP神經(jīng)網(wǎng)絡;粒子群(PSO)優(yōu)化算法;巖爆預測;Matlab
本文利用Matlab 9.1.0(R2016b)這一工具進行BP神經(jīng)網(wǎng)絡的運算并利用粒子群(PSO)進行網(wǎng)絡的優(yōu)化。相對遺傳算法來說,粒子群優(yōu)化BP神經(jīng)網(wǎng)絡就沒有交叉、變異等復雜操作。PSO-BP網(wǎng)絡模型避免了BP網(wǎng)絡陷入局部最優(yōu)、收斂慢等缺陷。建立了多個巖爆影響因素與巖爆程度之間的非線性映射關系,并得到了最優(yōu)初始權值和閾值。然后利用網(wǎng)絡進行訓練,最后得出的結(jié)果與實際的巖爆程度一致。
1、基于粒子群算法的BP神經(jīng)網(wǎng)絡模型
1.1BP神經(jīng)網(wǎng)絡與巖爆的結(jié)合
(1)BP算法流程分成兩個部分:信息的正向傳播和誤差的反向傳播。
(2)將影響巖爆的主要因素作為網(wǎng)絡的輸入層,并告知網(wǎng)絡學習樣本的期望輸出,然后讓網(wǎng)絡計算出最優(yōu)的初始權值和閩值。能夠得到各個影響因素之間的權重關系。利用神經(jīng)網(wǎng)絡解決輸入因子間的非線性關系,從而能夠?qū)r爆的烈度進行分級且避免了主觀因素的影響。
1.2粒子群(PSO)優(yōu)化算法
粒子群算法,也稱微粒群算法,它能夠優(yōu)化BP網(wǎng)絡的關鍵一點是,能夠找尋最優(yōu)的初始隨機權重和閾值。
對于PSO算法,所有粒子(假設N個)通過速度vi=(vi1,v12,……,viD)更新其空間位置Xi=(xi1,x12,……,xiD)。粒子根據(jù)如下公式更新速度和位置:
2、PSO-BP模型巖爆預測的Matlab實現(xiàn)
2.1網(wǎng)絡參數(shù)的選取與訓練
本文的巖爆實際案例數(shù)據(jù)來源于文獻,表1是訓練網(wǎng)絡所用的16個工程實際案例。通過公式(3)對樣本數(shù)據(jù)的歸一化處理,并進行網(wǎng)絡的訓練以后得到了當隱含層數(shù)為9時,所得到的網(wǎng)絡誤差最小為0.0711。樣本數(shù)據(jù)歸一化公式:
式中,xmin為樣本輸入數(shù)據(jù)中的最小數(shù);xmax為樣本輸入數(shù)據(jù)中的最大數(shù)。
2.2PSO-BP算法的工程實例
基于MATLAB9.1.0(R2016b)對PSO-BP算法進行了編制,兩個速度更新參數(shù)設置為c1=2,c2=2。由2.1節(jié)可知網(wǎng)絡的輸入層(indim)、隱含層(hiddennum)、輸出層(outdim)分別為3、9、4。種群的進化次數(shù)也稱粒子的維度可以由由公式(5)計算出來。公式如下:
得出粒子群的種群進化次數(shù)maxgen=76種群規(guī)模設置為sizepop=30。然后再將最優(yōu)的權值w和閾值b賦予給BP網(wǎng)絡,對國內(nèi)外三組實際開挖巖爆的案例,來進行模型的驗證。
2.3不同預測方法結(jié)果的比較
將PSO-BP與經(jīng)驗判據(jù)巖爆預測的結(jié)果比較,如表1所示
通過表4的預測結(jié)果比較,某一個單一的經(jīng)驗判據(jù)來預測巖爆的結(jié)果是很不準確的,PSO-BP綜合多個巖爆影響因素所預測出來的結(jié)果和實際的巖爆程度很相近。
結(jié)論:
(1)傳統(tǒng)經(jīng)驗判據(jù)預測巖爆導致預測精度不高,采用人工智能技術可以綜合多個影響因素來預測巖爆的傾向性。
(2)利用Matlab強大的工具箱功能,能夠?qū)崿F(xiàn)BP網(wǎng)絡從而解決問題的提高效率。