摘要:煤巷圍巖穩定性受許多因素的影響,各因素間有著復雜的非線性關系。BP神經網絡對輸入的樣本具有很強的識別與分類能力,可以實現精確的非線性預測。本文應用MATLAB語言,建立了適用于煤巷圍巖穩定性分類的BP神經網絡,具有很好的評價識別效果。
關鍵詞: BP神經網絡MATLAB圍巖穩定性
1 引言
目前,一些礦區煤巷的支護設計仍采用經驗類比的方法,不同的巷道,錨桿支護布置參數雷同,造成了有些巷道支護方式存在著安全隱患,有些存在著經濟上的浪費。問題的主要原因是支護設計者對煤巷圍巖穩定性缺乏科學的判定手段。影響煤巷圍巖穩定性的因素很多,它們與煤巷圍巖穩定性之間呈現出一種非線性關系,用傳統的數學方法很難擬合。BP神經網絡對輸入的樣本具有很強的識別與分類能力,可以很好地解決對非線性曲面的逼近問題。本文應用MATLAB語言,建立了適用于煤巷圍巖穩定性分類的BP神經網絡。
2 神經網絡
2.1 神經元
神經元是神經網絡的基本處理單元,表現為一個多輸入、單輸出的非線性器件,結構模型如圖:
其中,χj為輸入信號,ωij為χj的權植,ui為第i個神經元的內部狀態,θi為閾值,輸入χj乘以權值ωij得到ωijχj,送入累加器累加,然后偏置θi值,送入一個傳遞函數f,在f中產生神經元的輸出yi。
神經元可表示為:
2.2多層神經網絡
每層有各自的輸入向量X、權值矩陣W、偏置值向量θ和輸出向量Y,用上標來標注層次。三層神經網絡模型如圖:
2.3 BP神經網絡
BP神經網絡是采用BP算法進行學習的多層前饋網絡,比較適用于模式識別與分類的應用,在解決非線性、不確定性、大信息量的問題上具有很強的優越性。
BP算法是一種用于前向多層的誤差反向傳播學習算法,通過學習,可以對網絡的連接權值進行不斷地調整,使得調整后的網絡能夠將輸入它的信息變換成所期望的輸出信息。學習過程由正向傳播和反向傳播組成。
BP神經網絡的學習過程:(1)選擇一組訓練樣本,包括輸入信息和期望輸出兩部分。(2)取一樣本,把輸入信息輸入到網絡中。(3)分別計算經神經元處理后的各層節點的輸出。(4)計算網絡的實際輸出和期望輸出的誤差。(5)從輸出層反向計算到第一個隱層,并按照某種能使誤差向減小方向發展的原則,調整網絡中各神經元的連接權值。(6)對訓練樣本集中的每一樣本重復(2)至(5)步,直到誤差達到要求時為止。
3BP神經網絡設計
3.1 網絡的層數
在設計BP神經網絡時,一般先考慮設一個隱含層,因為單隱含層的BP網絡的非線性映射能力已經比較強了,當一個隱含層的節點數很多仍不能改善網絡性能時,才考慮增加一個隱含層。本模型采用3層BP神經網絡。
3.2 各層的神經元數
經查閱文獻資料和對煤礦進行調研,對影響煤巷圍巖穩定性的因素進行綜合分析,確立了11個影響因素:煤層埋深、煤層傾角、煤層厚度、煤層強度、直接頂厚度、直接頂強度、老頂厚度、老頂強度、直接底厚度、直接底強度、護巷煤柱寬度,所以網絡輸入層神經元數為11。
按照巷道的圍巖性質,將煤巷圍巖穩定性劃分為穩定、比較穩定、不穩定和極不穩定四種類型,所以網絡輸出層神經元數為4。
隱含層神經元的作用是從樣本中提取信息并存儲其內在規律,每個隱含層神經元的每個權值都是增強網絡映射能力的一個參數,因此,隱含層神經元數在很大程度上影響著網絡的預測性能。
3.3 傳遞函數
根據模型的特點及輸出值的范圍,隱含層使用雙曲正切s型函數,輸出層使用對數-s形傳遞函數。
3.4 MATLAB語言實現
用MATLAB構建BP網絡模型的主要代碼如下:
P=[……]";%定義輸入向量
T=[0,1,0,0;……] "%定義目標向量
threshold=[0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1; 0 1];
net=newff(threshold,[23,4],{"tansig","logsig"},"trainlm");%定義網絡
net.trainParam.epochs=1000;%定義網絡的訓練次數
net.trainParam.goal=0.0001;%定義網絡的目標誤差
LP.lr=0.01;%定義網絡的學習速率
net=train(net,P,T);%訓練網絡
P_test=[……]";%定義測試數據
Out=sim(net,P_test)%對網絡進行測試
4 結語
煤巷圍巖穩定性受許多因素的影響,這些因素與煤巷圍巖穩定性分類之間存在著非線性的關系,BP神經網絡在煤巷圍巖穩定性分類預測中具有較高的精度。但BP算法存在著收斂速度慢、隱節點個數不易選取、局部最小值等問題,有待改進。
參考文獻:
[1] 葛哲學,孫志強.神經網絡理論與MATLAB R2007實現[M].電子工業出版社,2007.
[2] 王磊.基于人工神經網絡的煤巷圍巖穩定性分類系統[D].山東科技大學,2005.
作者簡介:張俊榮 北方工業大學2007級計算機技術領域在讀工程碩士研究生。