徐富強(qiáng) 鄭婷婷方葆青
(1 巢湖學(xué)院數(shù)學(xué)系,安徽 巢湖 238000)
(2 安徽大學(xué)數(shù)學(xué)科學(xué)學(xué)院,安徽 合肥 230039)
(3 安慶職業(yè)技術(shù)學(xué)院,安徽 安慶 246003)
基于廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)的函數(shù)逼近
徐富強(qiáng)1,2鄭婷婷2方葆青3
(1 巢湖學(xué)院數(shù)學(xué)系,安徽 巢湖 238000)
(2 安徽大學(xué)數(shù)學(xué)科學(xué)學(xué)院,安徽 合肥 230039)
(3 安慶職業(yè)技術(shù)學(xué)院,安徽 安慶 246003)
本文利用徑向基網(wǎng)絡(luò)的一種變化形式——廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)提出了基于廣義回歸神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近方法,利用matlab中的神經(jīng)網(wǎng)絡(luò)工具箱設(shè)計(jì)了GRNN模型,用于對(duì)非線性函數(shù)的逼近。通過(guò)網(wǎng)絡(luò)的訓(xùn)練、測(cè)試達(dá)到了預(yù)期的效果,并與BP網(wǎng)絡(luò)、RBF網(wǎng)絡(luò)對(duì)比,說(shuō)明GRNN網(wǎng)絡(luò)的優(yōu)勢(shì)。
神經(jīng)網(wǎng)絡(luò);徑向基神經(jīng)網(wǎng)絡(luò);BP網(wǎng)絡(luò);GRNN網(wǎng)絡(luò);spread;matlab
神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)理論本質(zhì)上是非線性的數(shù)學(xué)理論,因此,現(xiàn)代非線性科學(xué)方面的進(jìn)展必將推動(dòng)神經(jīng)網(wǎng)絡(luò)的研究。同時(shí),神經(jīng)網(wǎng)絡(luò)理論也會(huì)對(duì)非線性科學(xué)提出新課題。目前,利用神經(jīng)網(wǎng)絡(luò)以及與其它方法相結(jié)合對(duì)非線性函數(shù)進(jìn)行逼近的文章也不少,理論及方法,各有千秋。有利用BP神經(jīng)網(wǎng)絡(luò)工具箱設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò),用于對(duì)非線性函數(shù)的逼近;[2-4]有用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進(jìn)行函數(shù)逼近的實(shí)現(xiàn);[7]有基于傅里葉變換的神經(jīng)網(wǎng)絡(luò)函數(shù)逼近方法;[8]有最小二乘算法與神經(jīng)網(wǎng)絡(luò)結(jié)合應(yīng)用于函數(shù)逼近的研究[9]等等。鑒于函數(shù)逼近及神經(jīng)網(wǎng)絡(luò)的特點(diǎn),本文提出廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)用于對(duì)非線性函數(shù)的逼近。
徑向基函數(shù)RBF神經(jīng)網(wǎng)絡(luò)[6](下簡(jiǎn)稱RBF網(wǎng)絡(luò))是一個(gè)只有一個(gè)隱藏層的三層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它與前向網(wǎng)絡(luò)相比最大的不同在于,隱藏層得轉(zhuǎn)換函數(shù)是局部響應(yīng)的高斯函數(shù),而以前的前向網(wǎng)絡(luò)、轉(zhuǎn)換函數(shù)都是全局響應(yīng)的函數(shù)。由于這樣的不同,如果要實(shí)現(xiàn)同一個(gè)功能,RBF網(wǎng)絡(luò)的神經(jīng)元個(gè)數(shù)就可能要比前向BP網(wǎng)絡(luò)的神經(jīng)元個(gè)數(shù)要多。但是,RBF網(wǎng)絡(luò)所需要的訓(xùn)練時(shí)間卻比前向BP網(wǎng)絡(luò)的要少。另外,徑向基神經(jīng)網(wǎng)絡(luò)由于它的學(xué)習(xí)能力和非線性特性,使其也能夠?qū)θ我夥蔷€性函數(shù)進(jìn)行很好的局部逼近。
RBF網(wǎng)絡(luò)的神經(jīng)模型結(jié)構(gòu)如圖1所示。由圖可見,RBF網(wǎng)絡(luò)傳遞函數(shù)radbas是以權(quán)值向量和閾值向量之間的距離‖dist‖作為自變量的,其中,‖dist‖是通過(guò)輸入向量和加權(quán)矩陣的行向量的乘積得到的。[5]
圖1 徑向基神經(jīng)元模型結(jié)構(gòu)
徑向基網(wǎng)絡(luò)傳遞函數(shù)的原型函數(shù)為:radbas(n)=e-n2,其中radbas為徑向基函數(shù),一般為高斯函數(shù)。
徑向基神經(jīng)網(wǎng)絡(luò)同樣是一種前饋反向傳播網(wǎng)絡(luò),它有兩個(gè)網(wǎng)絡(luò)層:隱層為徑向基層;輸出為一線性層,如圖2所示。
圖2 徑向基神經(jīng)網(wǎng)絡(luò)模型
廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)是由輸入層、隱含層和輸出層構(gòu)成的3層前向網(wǎng)絡(luò),它具有一個(gè)徑向基網(wǎng)絡(luò)層和一個(gè)特殊的線性網(wǎng)絡(luò)層。其結(jié)構(gòu)如圖3所示。
圖3 GRNN模型結(jié)構(gòu)
網(wǎng)絡(luò)的第1層為信號(hào)輸入層,輸入向量傳遞到隱含層,隱含層有Q個(gè)神經(jīng)元,節(jié)點(diǎn)函數(shù)為高斯函數(shù),輸人權(quán)值矩陣為L(zhǎng)W1,1,閾值向量為b1;輸出層為一個(gè)特定的線性層,同樣含有Q個(gè)神經(jīng)元,權(quán)值函數(shù)為歸一化點(diǎn)積權(quán)函數(shù),節(jié)點(diǎn)函數(shù)為純線性函數(shù),相應(yīng)的權(quán)值矩陣為L(zhǎng)W2,1。GRNN網(wǎng)絡(luò)的第3層稱為特定的線性輸出層,之所以稱為特定的線性層是因?yàn)殡[含層輸出不是直接作為線性神經(jīng)元的輸入,而是先將隱含層的輸出與本層的權(quán)值矩陣LW2,1作歸一化點(diǎn)積運(yùn)算后再作為權(quán)輸入再送人傳遞函數(shù);本層傳遞函數(shù)為線性函數(shù)。因此,網(wǎng)絡(luò)的輸出可用如下表達(dá)式表示:
在GRNN的訓(xùn)練中,徑向基神經(jīng)元的數(shù)目、線性神經(jīng)元的數(shù)目與輸入訓(xùn)練樣本中輸入向量個(gè)數(shù)相同,網(wǎng)絡(luò)訓(xùn)練的目的就在于生成合適的權(quán)值矩陣LW1,1和LW2,1。以及閾值向量b1。
GRNN的訓(xùn)練屬于有監(jiān)督式訓(xùn)練,分為2步:
第1步為無(wú)教師式學(xué)習(xí),確定訓(xùn)練輸入層與隱含層間的權(quán)值LW1,1,生成的閾值b由網(wǎng)絡(luò)設(shè)計(jì)參數(shù)即擴(kuò)展常數(shù)spread決定,b=0.8326/spread;
第2步為有教師學(xué)習(xí),根據(jù)提供的目標(biāo)向量集來(lái)訓(xùn)練生成隱含層與輸出層問(wèn)的權(quán)值矩陣LW1,1。[1]
MATLAB是一種面向科學(xué)與工程計(jì)算的高級(jí)語(yǔ)言,允許用數(shù)學(xué)形式的語(yǔ)言來(lái)編寫程序,它提供的神經(jīng)網(wǎng)絡(luò)工具箱幾乎涵蓋了所有的神經(jīng)網(wǎng)絡(luò)的基本常用模型,[2]其中也涵蓋了GRNN的網(wǎng)絡(luò)函數(shù)newgrnn( )。
下面我們用MATLAB中的GRNN網(wǎng)絡(luò)函數(shù)實(shí)現(xiàn)對(duì)非線性函數(shù)y=e-x+sin3x+cos2x(3≤x≤5)的逼近。
先繪制該非線性函數(shù)的曲線,如圖4所示。
圖4 y=e-x+sin3x+cos2x(3≤x≤5)函數(shù)曲線
為檢驗(yàn)GRNN網(wǎng)絡(luò)的擬合曲線應(yīng)用,選取21個(gè)樣本點(diǎn),如下
X值 3 3.1 3.2 3.3 3.4 3.5函數(shù)y值 1.4221 1.1660 0.8596 0.5296 0.2029 -0.0956 3.6 3.7 3.8 3.9 4 4.1 4.2-0.3453 -0.5313 -0.6457 -0.6878 -0.6638 -0.5858 -0.4707 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5-0.3377 -0.2067 -0.0962 -0.0211 -0.0087 -0.0108 -0.0772 -0.1820
選取這21樣本得到了網(wǎng)絡(luò)的輸入變量t和目標(biāo)變量p
輸入與輸出單元均為1,擴(kuò)展常數(shù)spread值分別選取1、0.5、0.3、0.1、0.01,以檢驗(yàn)不同的spread值對(duì)網(wǎng)絡(luò)逼近性能的影響。
此時(shí)網(wǎng)絡(luò)的輸出與逼近效果如圖5所示。由圖可見,spread值越小網(wǎng)絡(luò)對(duì)函數(shù)的逼近效果越好,spread值越大逼近效果越差。
圖5 網(wǎng)絡(luò)逼近效果
spread值取不同值時(shí)網(wǎng)絡(luò)對(duì)函數(shù)的逼近誤差曲線如圖6,由圖可見,當(dāng)選取spread值越小時(shí),逼近誤差越小,此例中選取spread=0.01時(shí)說(shuō)明網(wǎng)絡(luò)對(duì)函數(shù)的逼近效果是非常好的。
圖6 網(wǎng)絡(luò)的逼近誤差曲線
很多學(xué)者在討論函數(shù)逼近時(shí)也常用BP網(wǎng)絡(luò)。BP網(wǎng)絡(luò)用于函數(shù)逼近時(shí),權(quán)值的調(diào)節(jié)采用的是負(fù)梯度下降法,這種調(diào)節(jié)權(quán)值的方法有它的局限性,易存在收斂速度慢和局部極小等缺點(diǎn)。[5]
下面用BP網(wǎng)絡(luò)對(duì)本例函數(shù)逼近,在此,該網(wǎng)絡(luò)的輸入層和輸出層的神經(jīng)元個(gè)數(shù)均為1,隱含層神經(jīng)元取8,設(shè)計(jì)一個(gè)2500次訓(xùn)練的BP網(wǎng)絡(luò),傳遞函數(shù)為tansig,輸出層神經(jīng)元的傳遞函數(shù)為purelin,訓(xùn)練函數(shù)采用traingdx,而且網(wǎng)絡(luò)經(jīng)過(guò)212次訓(xùn)練后達(dá)到了目標(biāo)誤差。訓(xùn)練完成所用時(shí)間為2.453s,訓(xùn)練結(jié)果如圖7。曲線擬合結(jié)果見圖8。
圖8 BP網(wǎng)絡(luò)逼近效果
若采用RBF網(wǎng)絡(luò)對(duì)該函數(shù)逼近。為了方便比較,在此RBF網(wǎng)絡(luò)和GRNN網(wǎng)絡(luò)的spread值都取0.1。RBF網(wǎng)絡(luò)訓(xùn)練完成所用時(shí)間為0.2190s,GRNN網(wǎng)絡(luò)訓(xùn)練完成所用時(shí)間為0.0320s,逼近效果比較如圖9。
圖9 RBF和GRNN網(wǎng)絡(luò)的逼近效果比較
本文使用GRNN網(wǎng)絡(luò)進(jìn)行對(duì)非線性函數(shù)的逼近,并討論了擴(kuò)展常數(shù)spread對(duì)逼近效果的影響。理論上講spread值越小,對(duì)函數(shù)的逼近就越精確,spread越大,逼近誤差會(huì)比較大。[6]這也與實(shí)際逼近相吻合。并且通過(guò)對(duì)BP網(wǎng)絡(luò)與RBF網(wǎng)絡(luò)的比較,GRNN網(wǎng)絡(luò)作為RBF網(wǎng)絡(luò)的一種變化形式,在逼近能力、學(xué)習(xí)速度上明顯優(yōu)于BP網(wǎng)絡(luò)與RBF網(wǎng)絡(luò)。
文中僅以一例說(shuō)明GRNN在非線性函數(shù)逼近方面應(yīng)用,對(duì)于僅提供若干樣本的非線性函數(shù),其實(shí)只需適當(dāng)修改上述模型就可以應(yīng)用于函數(shù)的逼近,適當(dāng)選取spread值可獲得較小誤差逼近。這將有廣泛的應(yīng)用。
[1]常永貴,林 穎等.基于GRNN神經(jīng)網(wǎng)絡(luò)的工件智能矯正算法[J].起重運(yùn)輸機(jī)械,2008,(2).
[2]劉君堯,邱 嵐.基于BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近[J].福建電腦,2009,(8).
[3]曹旭帆,葉 舟等.基于BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近實(shí)驗(yàn)及MATLAB實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2008,(5)
[4]馮 蓉,楊建華.基于BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近的MATLAB實(shí)現(xiàn)[J].榆林學(xué)院學(xué)報(bào),2007,(2).
[5]周開利,康耀紅著.神經(jīng)網(wǎng)絡(luò)模型及其matlab仿真程序設(shè)計(jì)[M].清華大學(xué)出版社,2005.
[6]葛哲學(xué),孫志強(qiáng)著.神經(jīng)網(wǎng)絡(luò)理論與matlabr 2007實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2007.
[7]劉君堯,邱 嵐.基于徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近[J].大眾科技,2009,(9).
[8]謝 超,高大啟.一種基于傅里葉變換的神經(jīng)網(wǎng)絡(luò)函數(shù)逼近方法[J].計(jì)算機(jī)工程與科學(xué),2005,27(2).
[9]朱 藝,孫麗英等.最小二乘算法在神經(jīng)網(wǎng)絡(luò)函數(shù)逼近方面的研究[J].山西電子技術(shù),2007,(5).
FUNCTION APPROXIMATION BASED ON GENERAL REGRESSION NEURAL NETWORK(GRNN)
XU Fu-qiang1,2ZHENG Ting-ting2FANG Bao-qing3
(1 Department of Mathematics ,Chaohu College,Chaohu Anhui 238000)
(2 School of Mathematical Sciemes,Anhui University,Hefei Anhui 230039)
(3 Anqing Vocational and Technical College,Anqing Anhui 246003)
In this paper,author proposed function approximation methods based on generalized regression neural network,avariation of RBF network.Using the nerve network kit of matlab designed grnn model to approach of nonlinear function.Through the network training and testing achieved the desired results.Shows the advantages of GRNN network With BP network and RBF network compared.
neural network;RBFNN;BP network;GRNN network;spread;matlab
O157.5
A
1672-2868(2010)06-0011-06
2010-09-09
徐富強(qiáng)(1984-),男,安徽巢湖人。巢湖學(xué)院數(shù)學(xué)系教師,安徽大學(xué)數(shù)學(xué)科學(xué)學(xué)院在讀碩士。
責(zé)任編輯:陳 侃