譚大國
TAN Da-guo
(安徽理工大學 電氣與信息工程學院,淮南 232001)
礦井涌水量是指在礦山建設和生產過程中單位時間內通過各種巷道和開采系統流入礦井的水量[1]。準確預測礦井涌水量可以減少由于礦井涌水和突水而造成的各種事故給煤礦和國家的損失。影響礦井涌水量的因素如大氣降水、水位降深、含水層厚度以及所選的計算參數等,這些錯綜復雜的因素均表現為典型的非線性。在非線性預測方面,神經網絡技術因其良好的自適應和自學習能力、較強的抗干擾能力使其成為一種主流方法。而在水文預報和水文地質參數識別領域方面應用頻率較高的則是BP神經網絡,即誤差方向傳播的神經網絡模型。BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。本文分析了利用BP神經網絡模型預測礦井涌水量的可行性。
根據國內外對礦井涌水量影響因素的成果和相關工程實踐經驗可知,影響礦井涌水量的因素是多方面的。根據大海則煤礦水文和地質條件分析[2],礦井主要補給水源有老窯積水和燒變巖區積水,兩者均受到水位降深和含水層厚度的影響;主要間接補給水源是大氣降水,它主要受到季節的影響。滲透系數表示流體通過孔隙骨架的難易程度,所以其對礦井水的直接和間接補給都有影響。通過以上分析可知影響大海則煤礦單井涌水量的因素為大氣降水、滲透系數、水位降深和含水層厚度。
B P 神經網絡又稱為誤差反向傳播(B a c k Propagation)神經網絡,它是一種多層前向型的神經網絡,一般由一個輸入層、一個隱含層和一個輸出層組成。在正向傳播階段,輸入信息從輸入層經隱含層傳向輸出層,在輸出端產生輸出信號[3]。在信號的向前傳遞過程中網絡的權值固定不變,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層不能得到期望的輸出,則轉入誤差信號反向傳播。在反向傳播階段,未能滿足精度要求的誤差信號由輸出端開始,以某種方式逐層向前傳播,并將誤差分攤給各層的所有單元,依據誤差信號動態的調整各單元層的連接權重。通過周而復始的正向傳播與反向調節,神經元間的權值得到不斷的修正。當輸出信號的誤差滿足精度要求時,停止學習。
本文利用不同的輸入神經元選擇方法建立了兩種不同的BP神經網絡模型。一種是利用上述影響涌水量的四個因素作為輸入神經元;另一種方法是利用已經測得的涌水量數據采取一定的組合方法作為輸入神經元。但二者的最終輸出都是礦井涌水量。然后在這兩種不同的輸入情況下訓練網絡,并用訓練好的網絡去驗證模型是否可以準確的完成預測工作。
通過大海則單井煤礦工程地質和水文地質勘察報告,以及現場的實測資料,確定了涌水量控制因素的取值,如表1所示。選取表中前8組作為訓練樣本,最后2組作為驗證樣本。

表1 大海則煤礦D水19水文孔涌水量情況
現有的神經網絡理論定理已經證明:在閉區間的連續函數都可以用只含一個隱含層的BP神經網絡來逼近,即一個3層BP神經網絡均可以完成從n維到m維的映射,故選擇只有一個隱含層的簡單模型(如圖1所示)。隱含層節點個數確定是根據經驗公式來推導節點個數。式中n為輸入節點數,m為輸出節點數,a為區間[1 10]之間的整數,然后通過a的不同取值,得到不同的節點個數建立不同的網絡模型。在訓練集相同的情況下,選擇在誤差最小時網絡選用的隱含層節點個數[4]。

圖1 網絡結構圖
網絡的輸入、輸出以及隱含層確定以后,接下來就要確定網絡訓練函數及傳遞函數。在此次模型建立中訓練函數選用了基于Levenberg-Marquardt算法的trainlm函數,隱含層傳遞函數為logsig,輸出層傳遞函數為purelin。需要注意的是,如果BP網絡的輸出層采用sigmoid型傳遞函數,網絡的輸出值將被限制在[-1 1]之間,故根據實際情況選擇了輸出范圍較大時purelin函數[5]。
最后通過MATLAB程序實現預測功能。首先是定義樣本向量,由于所用數據較多,為了方便輸入,借助了Excel和MATLAB的互連輸入數據。訓練樣本數據被存放在“xunlian.xls”中,驗證樣本數據被存放在“yanzheng.xls”中。具體的程序如下:


下面要對網絡進行訓練,比較發現網絡在隱含層節點數選擇為7時收斂性能最好,預測誤差最小。程序如下:

如圖2所示,網絡經過35次迭代完成訓練,達到目標誤差以下。

圖2 誤差性能變化曲線圖
最后通過運行仿真預測程序和MATLAB繪圖程序得出了非常直觀的效果圖,如圖3所示。

圖3 預測效果圖
依據表1中的數據,提取從1999年到2002年的涌水量數據為一個樣本,前3個樣本數據作為輸入,最后1個樣本數據作為輸出。根據此方法將樣本數據分為7組,選擇前5組作為訓練樣本,最后2組作為驗證樣本,如表2所示。
網絡中隱含層層數、隱含層神經元個數以及網絡函數的選擇方法同第一種方法,但在利用MATLAB程序實現數據輸入的方法有所不同,這里采用了直接輸入的方法,具體的程序如下:

比較發現,模型在隱含層的節點個數為8時,網絡的收斂性能和誤差率都達到要求,在此條件下去訓練網絡并用訓練好的網絡完成預測工作,最終的預測效果如圖4所示。

表2 樣本選擇表

圖4 預測效果圖

表3 仿真預測結果表 (單位: L/s·m%)
通過比較,得出了網絡閾值和初始值為最優情況下的驗證結果,如表3所示。上述結果證明了利用BP神經網絡來預測涌水量是可行的,利用影響涌水量因素作為輸入神經元時其預測結果和實際測量值更接近,誤差率只有1.45%,預測精度較高。在多次運行預測程序得出平均誤差率,其結果同樣如此。在實際操作過程中也有一些需要注意的問題:
1)由于此次輸入數據范圍不大,因而輸入時未將數據進行歸一化處理到[0 1]的范圍。但是如果在數據變化幅度大而未進行數據處理工作,會導致預測結果精度降低甚至無法預測。
2)在重復多次進行網絡測試時發現兩種方法的預測結果均出現波動,預測精度降低。這是由于網絡初始權值和閾值在每次進行訓練仿真時是不一樣的,可以通過增加學習樣本的方法克服輸出的隨機性,產生穩定輸出結果。
3)從表中可以看出,對2008年涌水量預測的結果誤差比2007年大。原因是此年實際涌水量值較前些年有了較大波動,所以網絡模型對突變數據的適應能力還有待提高。
4)此次由于預測精度較高,所以未采用遺傳算法去優化神經網絡。如果預測誤差較大時,可以利用GA-BP神經網絡來實現預測功能。
從預測結果看,兩種以不同輸入神經元構建的BP神經網絡都可以完成涌水量的預測工作,但是利用涌水量影響因素作為輸入神經元的方法預測精度更高。但是需要注意,不同的礦井其地質條件和水文條件不一定相同,要根據實際情況分析影響涌水量的因素才能準確的完成涌水量的預測工作。
[1] 王金國,江洪清,高永奎.基于MATLABR的礦井涌水量神經網絡預測方法及應用[J].煤炭技術,2004,23(7):67-68.
[2] 于洋,張振文,于孔超.基于人工神經網絡的大海則煤礦單井礦井水定量預測[J].科技咨詢導報,2009,(19):100-101.
[3] 凌成鵬,孫亞軍,楊蘭和,等.基于BP神經網絡的空隙充水礦井涌水量預測[J].水文地質工程地質,2007(5):55-58.
[4] 沈花玉,王兆霞,高成耀,等.BP神經網絡隱含層單元數的確定[J].天津理工大學學報,2008,24(5):13-15.
[5] 朱凱,王正林.精通MATLAB神經網絡[M].北京:電子工業出版社,2010.