摘 要:非線性系統(tǒng)廣泛存在于自然界,人工神經網絡有表示任意非線性關系和自學習等能力,為此類問題提供了解決方法。本文在已提供的一系列地下水位測量數(shù)據的前提下,分別利用徑向基函數(shù)神經網絡,BP神經網絡對地下水位數(shù)據進行訓練樣本集與檢測樣本集的構建,并分別對仿真結果進行了比較評價。
關 鍵 詞:前向神經網絡;非線性;RBF神經網絡;BP神經網絡
中圖分類號:TP118 文獻標志碼:A
[align=center]Data processing method for feedward neural network based on measure
of groundwater level
ZOU Jing, YU Yang, CHEN Liang
(School of Information science &Engineering, Shenyang Ligong University, Shenyang,
Liaoning 110168, China)[/align]
Abstract: Nonlinear system exist extensively in nature, artificial neural network have the ability that can express arbitrarily nonlinear relation and self study, and offer a method that solve these problems. Under the premise of the groundwater level’s data which had already provided, this paper use RBFNN and BPNN respectively to train and test the sample gather of these data, and set up corresponding network. In the last, this paper compare and critique the corresponding simulation result.
Keywords: feedforward neural network; nonlinear; RBF neural network; BP neural network
前向神經網絡結構是階層型的,信息值可以從輸入層單元傳播到它上一層的單元。第一層的單元與第二層所有的單元相連,第二層又與其上一層單元相連,同一層中各單元之間沒有連接[1] 。前向網絡中神經元的輸入輸出關系,可采用線性閾值硬變換或單元上升的非線性變換,均采用監(jiān)督學習方式[2],其中的RBF神經網絡和BP神經網絡在逼近任意的非線性映射中都是很好的解決方法[3]。
本文把一系列地下水位測量數(shù)據作為樣本,并把所有的數(shù)據樣本分為訓練樣本和檢測樣本對其進行神經網絡的構建,分別用兩種前向型神經網絡訓練樣本和檢測樣本,分析比較兩種網絡的逼近誤差,并由此給出評價結論。
1. 前期準備
地下水位主要受河道流量、氣溫、飽和差、降水量和蒸發(fā)量等重要因子影響,由此歸納出24組數(shù)據,如表1.1所示。選定其中的1—19組作為訓練樣本,20—24組作為測試樣本。(數(shù)據已做過歸一化處理)
[align=center]表1.1 地下水位及其影響因子監(jiān)測數(shù)據表

[/align]
2. RBF網絡的創(chuàng)建、訓練和測試
徑向基函數(shù)(RBF)神經網絡由三層組成。輸入層節(jié)點只傳遞輸入信號到隱層,隱層節(jié)點由像高斯函數(shù)那樣的輻射狀作用函數(shù)構成,而輸出層節(jié)點通常是簡單的線性函數(shù)[4]。隱層節(jié)點中的作用函數(shù)(基函數(shù))對輸入信號將在局部產生響應,也即當輸入信號靠近基函數(shù)的中央范圍時,隱層節(jié)點將產生較大的輸出,由此可以看出這種網絡具有局部逼近能力,所以徑向基函數(shù)網絡也稱為局部感知場網絡[5]。
由上表,得到輸入向量p與目標向量t。(訓練樣本)
輸入測試樣本p_test,目標測試樣本t_test。(測試樣本)
采用精確設計函數(shù)newrbe創(chuàng)建一個0誤差的RBF神經網絡,自動選擇隱含層的數(shù)目。
SPREAD=1.5;
Net=newrbe(p,t,SPREAD);
SPREAD為徑向基函數(shù)的分布密度,越大函數(shù)越平滑。由于網絡的建立過程就是訓練過程,因此,此時得到的網絡net已經是訓練好了的。如圖2.1的RBF神經網絡模型。
[align=center]

圖2.1 RBF神經網絡模型[/align]
然后對網絡進行仿真,驗證其預測誤差如圖2.2所示。
y=sim(net,p_test)
運行結果y=0.6455 1.0844 0.3816 0.0064 0.1837
plot(1:5,y-t_test);%得出預測誤差如圖2.2,由圖可見,對于地下水位的預報來說,網絡的預報誤差并不大。
此外,SPREAD值的大小影響網絡的預測精度。接下來,分別在SPREAD=2,3,4,5的情況下計算網絡的預報精度,代碼為:
y=rands(4,5);
for i=1:4
net=newrbe(p,t,i+1);
y(i,:)=sim(net,p_test);
end
plot(1:5,y(1,:)-t_test,’r’);
hold on;
plot(1:5,y(2,:)-t_test,’b’);
hold on;
plot(1:5,y(3,:)-t_test,’g’);
hold on;
plot(1:5,y(4,:)-t_test,’.’);
hold on;
[align=center]

圖2.2 RBF網絡訓練誤差曲線

圖2.3 SPREAD取不同值時的預報誤差[/align]
由圖可以看出,當SPREAD=2或3時,網絡的預報誤差最小,可得到理想的結果。
3. BP網絡的創(chuàng)建、訓練和測試
利用BP網絡對地下水位進行重新預報,選擇的BP網絡為5*11*1的結構。隱層神經元個數(shù)由5*2+1得。訓練函數(shù)為trainlm。設訓練次數(shù)為1000.
創(chuàng)建一個二層網絡,其網絡模型如圖3.1所示。
[align=center]

圖3.1 BP網絡結構模型[/align]
net=newff([0 0.6814;0 0.9697;0 1.0000;0 0.6129;0 1.0000],[11 1],{‘tansig’,’logsig’}, ‘trainlm’);
net.trainParam.epochs=1000;
net=tran(net,p,t);
訓練次數(shù)圖如圖3.2
[align=center]

圖3.2 BP網絡訓練誤差[/align]
%測試樣本仿真
y=sim(net,p_test);
令y_bp=y-t_test
plot(1:5,y_bp,’*’);
hold off;
則誤差圖在圖2.3中體現(xiàn)出來。
4. 比較評析
從圖2.3中可以看出,對于預報精度來說,BP網絡明顯不如RBF網絡,而且BP網絡的訓練時間明顯大于RBF網絡,其訓練速度比較慢。RBF神經網絡由于其輸出層是對中間層的線性加權,使得避免了像BP網絡那樣繁瑣冗長的計算,具有較高的運算速度和外推能力,同時使得網絡有較強的非線性映射功能。與BP神經網絡相比,由于需要調整的參數(shù)比較少,只有一個光滑因子,因此可以更快地找到合適的預測網絡,具有較大的計算優(yōu)勢。
5. 結語
從理論上而言,RBF網絡和BP網絡一樣可近似任何的連續(xù)非線性函數(shù)。兩者的主要差別在于各使用不同的作用函數(shù),BP網絡中的隱層節(jié)點使用的是sigmoid函數(shù),其函數(shù)值在輸入空間中無限大的范圍內為非零值,而RBF網絡的作用函數(shù)則是局部的。
參考文獻
[1]張鈴,張拔。人工神經網絡理論及應用[M]。浙江:浙江科學技術出版社,1997
[2]沈清,胡德文,時春。神經網絡應用技術[M]。長沙:國防科技大學出版社,1993
[3]聞新等。MATLAB神經網絡仿真與應用[M]??茖W出版社,2003.7
[4]黃加亮。RBF神經網絡在船用低速柴油機故障診斷中的應用研究[碩士學位論文]。大連海事大學,2000.3
[5]叢爽。面向MATLAB工具箱的神經網絡理論與應用。合肥:中國科技大學出版社,1998