高國棟,張文孝,慕光宇
(大連海洋大學 機械工程學院,遼寧 大連 116023)
RBF網絡和BP網絡在海水鹽度建模中的比較研究
高國棟,張文孝,慕光宇
(大連海洋大學 機械工程學院,遼寧 大連 116023)
介紹了RBF神經網絡模型結構、特點及原理,并針對海水鹽度參數具有受諸多因素影響的復雜的非線性輸入輸出特性,訓練并建立了海水鹽度的RBF(Radial Basis Function)神經網絡模型,為海水鹽度的預測提供了一種新的方法。與BP神經網絡模型相比,該模型具有收斂速度快,精度高的優點。比較結果表明,該方法在海水鹽度建模等復雜系統方面具有實用性和可靠性,并有很好的應用前景。
鹽度;RBF神經網絡;建模;仿真;預測
Abstract:A new RBF neural network is introduced and at the same time, its' structure, feature and principium are also expatiated.Contrasting with BP neural network model, it has faster convergence and better precision when it is used in the salinity modeling.A BP neural network model is set up and trained in this paper, in order to approach compensate the effects of improve non-linearity.Test proves it is practical and dependable in the field of salinity modeling and has nice applied prospect.
Keywords:salinity; RBF neural network; modeling; simulation; forecast
海水鹽度測量和控制對養殖業至關重要。而鹽度值與所測溶液的溫度、壓力和電導率等因素有關。
近些年來,隨著神經網絡計算和人工智能的出現,采用 BP(Back-propagation)神經網絡進行數據預測和仿真逐漸增多并逐步應用于各個領域,取得了一定的科研成果。但BP網絡在用于函數逼近時,權值的調節采用的是負梯度下降法,這種調節方法有它的局限性,即存在著收斂速度慢和容易陷入局部極小點等缺點。本文主要介紹在逼近能力、分類能力和學習速度等方面均優于BP網絡的另一種網絡——徑向基函數網絡[1-2]。
1.1 RBF網絡模型結構
徑向基函數RBF神經網絡由輸入層、隱含層和輸出層構成的3層前向網絡,其網絡結構如圖1所示。隱含層采用高斯函數作為激勵函數,而輸出層通常采用簡單的線性函數。隱含層節點中的作用函數(基函數)對輸入信號將在局部產生響應,也就是說,當輸入信號靠近函數定義域的中央范圍時,隱含層節點將產生較大的輸出,由此看出這種網絡具有局部逼近能力,可解釋為:在輸入空間某一局部區域只有少數神經元用于決定網絡輸出,所以徑向基函數網絡也稱為局部感知場網絡。

圖1 徑向基函數網絡結構Fig.1 Construction of RBF network
1.2 RBF網絡輸出

上面這些函數都是徑向對稱的,但最常用的是高斯函數,如RBF網絡隱含層第i個節點的輸出可由式(4)表示,即

式中:x為M維輸入向量;f(x)i為第i個隱節點的輸出;iδ為第i個隱節點的標準化常數;q是隱節點數;A為輸入樣本;ci為第i個隱節點高斯函數的中心向量;yk為輸出層第k個節點的輸出;wkj為隱含層到輸出層的加權系數;kθ為輸出層的閾值;
從理論上而言,RBF網絡和BP網絡一樣可“近似”→“逼近”任何的連續非線性函數。兩者主要區別在于非線性映射上采用不同的作用函數。BP網絡中的隱層節點使用的是Sigmoid函數,其函數值在輸入空間中無限大的范圍內為非零值,即作用函數為全局的;而RBF網絡中的隱節點使用高斯基函數,即作用函數是局部的[3]。
本文以MATLAB6.5作為系統仿真平臺,對海水鹽度進行建模仿真[4]。首先選擇對海水鹽度影響大的3個因素溫度、電導率(電阻率)和壓力(深度)作為網絡的樣本輸入。利用 newrbe創建一個精確的神經網絡,該函數在創建RBF網絡時,自動選擇隱含層的數目,使得誤差為 0。建立的神經網絡模型見圖2。代碼如下:

式中,P為輸入向量,T為目標向量,SPREAD為徑向基函數的分布密度。由于網絡的建立過程就是訓練過程,因此,此時得到的網絡net已經是訓練好了的[5]。

圖2 海水鹽度的RBF神經網絡模型Fig.2 Salinity’s RBF nerve network model
接下來對訓練樣本和非訓練樣本進行仿真,驗證網絡性能。代碼為:

式中,P_test為網絡的測試樣本。仿真的部分結果見表1,訓練樣本仿真誤差如圖3所示。由圖3可以看出,RBF網絡對訓練樣本的逼近精度非常高,精度的數量級為10-3。訓練樣本仿真誤差如圖3所示。

圖3 訓練樣本仿真誤差Fig.3 Simulation error of training samples

表1 RBF神經網絡部分仿真結果Tab.1 Part of RBF nerve network's simulation results
為了驗證RBF網絡相對于BP網絡的優勢,利用 BP網絡對海水鹽度進行重新預報。選擇的 BP網絡為3—8—1的結構,隱含層節點的傳遞函數采用正切 S型函數,輸出層傳遞函數選用線 purelin傳遞函數,網絡的學習速度選為 lr=0.1,訓練函數為 trainlm,網絡的訓練目標為總均方差 SSE小于0.0001。經過2000次訓練后,對網絡進行仿真,并計算網絡的預測誤差[6-7]。
3.1 對測試樣本的逼近能力
BP網絡和RBF網絡對測試樣本的逼近誤差見圖4。從圖上可以看出,RBF網絡對測試樣本的逼近能力要明顯地高于BP網絡。RBF網絡對測試樣本幾乎達到了完全逼近。而BP網絡有較大誤差,且誤差波動較大。

圖4 測試樣本預測誤差Fig.4 Speculation error of testing sample
3.2 整體逼近能力
兩種網絡對待逼近鹽度值的整體逼近效果見圖5.經分析可以發現RBF網絡基本上和目標值完全吻合,而BP網絡有很多不吻合現象,因此RBF網絡在整體逼近上也明顯優于BP網絡。

圖5 整體逼近效果圖Fig.5 Whole approaching effect
系統仿真界面是通過在VB中調用MATLAB實現的。
利用代碼:
Dim matlab As Object
Set matlab=CreateObject(“matlab.application“)
來實現在VB中開啟MATLAB自動化服務器,之后便可以使用MATLAB自動化服務器功能,如同在VB中對其它對象操作一樣。然后利用Execute方法來執行一個合法的MATLAB命令。語法為:
BSTRExecute([in]BSTR”command”)
仿真界面如圖5-6所示。

圖6 仿真界面Fig.6 Simulation interface
利用 RBF網絡對海水鹽度參數建模對訓練樣本有很高的逼近精度,可以認為達到了完全逼近。這種方法充分利用神經網絡的非線性特性、自適應能力和學習能力,通過訓練學習,逼近鹽度復雜的輸入輸出特性。此外,RBF網絡對非訓練樣本的逼近能力明顯地高于BP網絡,在整體逼近上,RBF網絡也明顯優于BP網絡。
[1]智會強, 牛坤, 田亮, 等.BP網絡和RBF網絡在函數逼近領域內的比較研究 [J].科技通報, 2005, 21(2): 93-97.
[2]Robert J, Schilling James, Carroll J.Approximation of nonlinear systems with radial basis function neural networks [J].IEEETRANSACTIONS ON NEURAL NETWORKS, 2001, 12(1): 21-28.
[3]王煒, 吳耿鋒, 張博鋒, 等.徑向基函數(RBF)神經網絡及其應用 [J].地震, 2005, 25(2): 19-25.
[4]聞新, 周露, 李翔, 等.MATLAB 神經網絡仿真與應用 [M].科學出版社, 2003: 7.
[5]張鈴, 張鈸.人工神經網絡理論及應用 [M].浙江: 浙江科學技術出版社, 1997.
[6]飛思科技產品研發中心.Matlab6.5輔助神經網絡分析與設計[M].北京: 電子工業出版社, 2003.
[7]范影樂.Matlab仿真應用詳解 [M].北京: 人民郵電出版社, 2003.
A comparative study on RBF network and BP network in the model of salinity
GAO Guo-dong, ZHANG Wen-xiao, MU Guang-yu
(College of Mechanical Engineering, Dalian Ocean University, Dalian 116023, China)
P731.12; TP391.9
A
1001-6932(2011)01-0012-04
2009-12-16;收修改稿日期:2010-06-10
高國棟 ( 1979- ),男,講師,主要從事系統仿真研究。電子郵箱:gaoguodong@dlou.edu.cn