EKF模擬神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法研究論文

時間:2022-12-23 03:38:00

導(dǎo)語:EKF模擬神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法研究論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

EKF模擬神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法研究論文

摘要:為了快速地構(gòu)造一個有效的模糊神經(jīng)網(wǎng)絡(luò),提出一種基于擴展卡爾曼濾波(ekf)的模糊神經(jīng)網(wǎng)絡(luò)自組織學(xué)習(xí)算法。在本算法中,按照提出的無須經(jīng)過修剪過程的生長準則增加規(guī)則,加速了網(wǎng)絡(luò)在線學(xué)習(xí)過程;使用EKF算法更新網(wǎng)絡(luò)的自由參數(shù),增強了網(wǎng)絡(luò)的魯棒性。仿真結(jié)果表明,該算法能夠快速學(xué)習(xí)、良好的逼近精度和泛化能力。

關(guān)鍵詞:模糊神經(jīng)網(wǎng)絡(luò);擴展卡爾曼濾波;自組織學(xué)習(xí)

模糊神經(jīng)網(wǎng)絡(luò)起源于20世紀80年代后期的日本,由于其簡單、實用,已經(jīng)被廣泛應(yīng)用在工業(yè)控制、系統(tǒng)辨識、模式識別、數(shù)據(jù)挖掘等許多領(lǐng)域[1~4]。然而,如何從可用的數(shù)據(jù)集和專家知識中獲取合適的規(guī)則數(shù)仍然是一個尚未解決的問題。為了獲取模糊規(guī)則,研究人員提出了不同的算法,如文獻[5]利用正交最小二乘算法確定徑向基函數(shù)的中心,但是該算法訓(xùn)練速度比較慢;文獻[6]提出了基于徑向基函數(shù)的自適應(yīng)模糊系統(tǒng),其算法使用了分層自組織學(xué)習(xí)策略,但是逼近精度低。擴展卡爾曼濾波(EKF)算法作為一種非線性更新算法,在神經(jīng)網(wǎng)絡(luò)中得到了廣泛應(yīng)用。文獻[7]利用擴展卡爾曼濾波算法調(diào)整多層感知器的權(quán)值,文獻[8]利用擴展卡爾曼濾波算法調(diào)整徑向基函數(shù)網(wǎng)絡(luò)的權(quán)值。

本文提出了一種模糊神經(jīng)網(wǎng)絡(luò)的快速自組織學(xué)習(xí)算法(SFNN)。該算法基于無須修剪過程的生長準則增加模糊規(guī)則,加速了網(wǎng)絡(luò)學(xué)習(xí)過程,同時使用EKF調(diào)整網(wǎng)絡(luò)的參數(shù)。在該算法中,模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不是預(yù)先設(shè)定的,而是在學(xué)習(xí)過程中動態(tài)變化的,即在學(xué)習(xí)開始前沒有一條模糊規(guī)則,在學(xué)習(xí)過程中逐漸增加模糊規(guī)則。與傳統(tǒng)的模糊神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法相比,本算法所得到的模糊規(guī)則數(shù)并不會隨著輸入變量的增加而呈指數(shù)增長,特別是本算法無須領(lǐng)域的專家知識就可以實現(xiàn)對系統(tǒng)的自動建模及抽取模糊規(guī)則。當然,如果設(shè)計者是領(lǐng)域?qū)<?其知識也可以直接用于系統(tǒng)設(shè)計。本算法所得到的模糊神經(jīng)網(wǎng)絡(luò)具有結(jié)構(gòu)小、避免出現(xiàn)過擬合現(xiàn)象等特點。

1SFNN的結(jié)構(gòu)

本文采用與文獻[9]相似的網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。其中,r是輸入變量個數(shù);xi(i=1,2,…,r)是輸入語言變量;y是系統(tǒng)的輸出;MFij是第i個輸入變量的第j個隸屬函數(shù);Rj表示第j條模糊規(guī)則;wj是第j條規(guī)則的結(jié)果參數(shù);u是系統(tǒng)總的規(guī)則數(shù)。

下面是對該網(wǎng)絡(luò)各層含義的詳細描述。

第一層:輸入層。每個節(jié)點代表一個輸入語言變量。

第二層:隸屬函數(shù)層。每個節(jié)點代表一個隸屬函數(shù),隸屬函數(shù)采用如下的高斯函數(shù):

μij=exp(-(xi-cij)2σ2ij);i=1,2,…,r;j=1,2,…,u(1)

其中:r是輸入變量數(shù);u是隸屬函數(shù)個數(shù),也代表系統(tǒng)的總規(guī)則數(shù);μij是xi的第j個高斯隸屬函數(shù);cij是xi的第j個高斯隸屬函數(shù)的中心;σij是xi的第j個高斯隸屬函數(shù)的寬度。

第三層:T-范數(shù)層。每個節(jié)點代表一個可能的模糊規(guī)則的IF-部分,也代表一個RBF單元,該層節(jié)點個數(shù)反映了模糊規(guī)則數(shù)。如果計算每個規(guī)則觸發(fā)權(quán)的T-范數(shù)算子是乘法,則在第三層中第j條規(guī)則Rj的輸出為

φj=exp(-ri=1(xi-cij)2σ2ij);j=1,2,…,u(2)

第四層:輸出層。該層每個節(jié)點代表一個輸出變量,該輸出是所有輸入變量的疊加。

y(X)=uj=1wjφj(3)

其中:y是網(wǎng)絡(luò)的輸出;wj是Then-部分。

2SFNN的學(xué)習(xí)算法

如前文所述,第三層的每個節(jié)點代表一個可能的模糊規(guī)則的IF-部分或者一個RBF單元。如果需要辨識系統(tǒng)的模糊規(guī)則數(shù),則不能預(yù)先選擇模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。于是,本文提出一種新的學(xué)習(xí)算法,該算法可以自動確定系統(tǒng)的模糊規(guī)則并能達到系統(tǒng)的特定性能。

2.1模糊規(guī)則的產(chǎn)生準則

在模糊神經(jīng)網(wǎng)絡(luò)中,如果模糊規(guī)則數(shù)太多,不僅增加系統(tǒng)的復(fù)雜性,而且增加計算負擔和降低網(wǎng)絡(luò)的泛化能力;如果規(guī)則數(shù)太少,系統(tǒng)將不能完全包含輸入/輸出狀態(tài)空間,將降低網(wǎng)絡(luò)的性能。是否加入新的模糊規(guī)則取決于系統(tǒng)誤差、可容納邊界和誤差下降率三個重要因素。公務(wù)員之家

2.1.1系統(tǒng)誤差

誤差判據(jù):對于第i個觀測數(shù)據(jù)(xi,ti),其中xi是輸入向量,ti是期望輸出,由式(3)計算網(wǎng)絡(luò)現(xiàn)有結(jié)構(gòu)的全部輸出yi。

定義:‖ei‖=‖ti-yi‖;i=1,2,…,n(4)

如果‖ei‖>keke=max(5)

則說明網(wǎng)絡(luò)現(xiàn)有結(jié)構(gòu)的性能比較差,要考慮增加一條新的規(guī)則;否則,不生成新規(guī)則。其中:ke是根據(jù)網(wǎng)絡(luò)期望的精度預(yù)先選擇的值;emax是預(yù)定義的最大誤差;emin是期望的輸出精度;β(0<β<1)是收斂因子。

2.1.2可容納邊界

從某種意義上來講,模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的學(xué)習(xí)是對輸入空間的高效劃分。模糊神經(jīng)網(wǎng)絡(luò)的性能和結(jié)構(gòu)與輸入隸屬函數(shù)緊密相關(guān)。本文使用的是高斯隸屬函數(shù),高斯函數(shù)輸出隨著與中心距離的增加而單調(diào)遞減。當輸入變量采用高斯隸屬函數(shù)時,則認為整個輸入空間由一系列高斯隸屬函數(shù)所劃分。如果某個新樣本位于某個已存在的高斯隸屬函數(shù)覆蓋范圍內(nèi),則該新樣本可以用已存在的高斯隸屬函數(shù)表示,不需要網(wǎng)絡(luò)生成新的高斯單元。

可容納邊界:對于第i個觀測數(shù)據(jù)(xi,ti),計算第i個輸入值xi與已有RBF單元的中心cj之間的距離di(j),即

di(j)=‖xi-cj‖;i=1,2,…,n;j=1,2,…,u(6)

其中:u是現(xiàn)有的模糊規(guī)則或RBF單元的數(shù)量。令

di,min=argmin(di(j))(7)

如果di,min>kd,kd=max[dmax×γi,dmin](8)

則說明已存在的輸入隸屬函數(shù)不能有效地劃分輸入空間。因此,需要增加一條新的模糊規(guī)則,否則,觀測數(shù)據(jù)可以由已存在的距離它最近的RBF單元表示。其中:kd是可容納邊界的有效半徑;dmax是輸入空間的最大長度;dmin是所關(guān)心的最小長度;γ(0<γ<1)是衰減因子論文

2.1.3誤差下降率

傳統(tǒng)的學(xué)習(xí)算法把誤差減少率(ERR)[5]用于網(wǎng)絡(luò)生長后的修剪過程,算法會因為修剪過程而增加計算負擔,降低學(xué)習(xí)速度。本文把誤差減少率用于生長過程形成一種新的生長準則,算法無須經(jīng)過修剪過程,從而加速網(wǎng)絡(luò)的學(xué)習(xí)過程。

給定n個輸入/輸出數(shù)據(jù)對(xi,ti),t=1,2,…,n,把式(3)看做線性回歸模型的一種特殊情況,該線性回歸模型為

t(i)=uj=1hj(i)θj+ε(i)(9)

式(9)可簡寫為

D=HΘ+E(10)

D=TT∈Rn是期望輸出,H=φT∈Rn×u是回歸量,Θ=WT∈Ru是權(quán)值向量,并且假設(shè)E∈Rn是與回歸量不相關(guān)的誤差向量。

對于矩陣φ,如果它的行數(shù)大于列數(shù),通過QR分解:

H=PQ(11)

可把H變換成一組正交基向量集P=[p1,p2,…,pu]∈Rn×u,其維數(shù)與H的維數(shù)相同,各列向量構(gòu)成正交基,Q∈Ru×u是一個上三角矩陣。通過這一變換,有可能從每一基向量計算每一個分量對期望輸出能量的貢獻。把式(11)代入式(10)可得

D=PQΘ+E=PG+E(12)

G的線性最小二乘解為G=(PTP)-1PTD,或

gk=pTkDpTkpk;k=1,2,…,u(13)

Q和Θ滿足下面的方程:

QΘ=G(14)

當k≠l時,pk和pl正交,D的平方和由式(15)給出:

DTD=uk=1g2kpTkpk+ETE(15)

去掉均值后,D的方差由式(16)給出:

n-1DTD=n-1uk=1g2kpTkpk+n-1ETE(16)

由式(16)可以看到,n-1uk=1g2kpTkpk是由回歸量pk所造成的期望輸出方差的一部分。因此,pk的誤差下降率可以定義如下:

errk=g2kpTkpkDTD,1≤k≤u(17)

把式(13)代入式(17)可得

errk=(pTkD)2pTkpkDTD,1≤k≤u(18)

式(18)為尋找重要回歸量子集提供了一種簡單而有效的方法,其意義在于errk揭示了pk和D的相似性。errk值越大,表示pk和D的相似度越大,且pk對于輸出影響越顯著。利用ERR定義泛化因子(GF),GF可以檢驗算法的泛化能力,并進一步簡化和加速學(xué)習(xí)過程。定義:

GF=uk=1errk(19)

如果GF

2.2參數(shù)調(diào)整

需要注意的是,不管是新生成的隱節(jié)點還是已存在的隱節(jié)點,都需要對網(wǎng)絡(luò)參數(shù)進行調(diào)整。傳統(tǒng)的方法是使用LLS[10]方法對網(wǎng)絡(luò)參數(shù)進行調(diào)整,本文提出使用EKF方法調(diào)節(jié)網(wǎng)絡(luò)的參數(shù)。由于LLS方法在確定最優(yōu)參數(shù)時計算簡單、速度快,但該方法對噪聲敏感,其學(xué)習(xí)速度隨著信噪比的增加而下降。另外,與LLS方法相關(guān)的問題是其求解可能是病態(tài)的,這使得參數(shù)估計變得很困難。EKF方法由于其自適應(yīng)過程比較復(fù)雜,計算速度沒有LLS方法快,但是EKF方法在噪聲環(huán)境下具有魯棒性,使用EKF方法可以實現(xiàn)一種健壯的在線學(xué)習(xí)算法。網(wǎng)絡(luò)參數(shù)可以用下面的EKF[11]方法進行調(diào)整。事實上,網(wǎng)絡(luò)的參數(shù)向量θ可以看做一個非線性系統(tǒng)的狀態(tài),并用下面的方程描述:

θi=θi-1

ti=h(θi-1,Xi)+ei(20)

在當前的估計值i-1處將非線性函數(shù)h(θi-1,Xi)展開,則狀態(tài)模型可以重寫為

θi=θi-1

ti=Hiθi-1+εi+ei(21)

其中:εi=h(i-1,Xi)-Hii-1+ρi。Hi是如下的梯度向量:

Hi=h(θ,Xi)θ|θ=i-1(22)

參數(shù)向量θ使用下面的擴展卡爾曼濾波算法更新:

Ki=Pi-1HTi[HiPi-1HTi+Ri]-1

θi=θi-1+Ki(ti-h(θi-1,Xi))

Pi=Pi-1-KiHiPi-1+Qi(23)

其中:Ki是卡爾曼增益矩陣;Pi是逼近誤差方差陣;Ri是量測噪聲方差陣;Qi是過程噪聲方差陣。

全局擴展卡爾曼濾波算法會涉及大型矩陣運算,增加計算負擔,因此可以將全局問題劃分為一系列子問題從而簡化全局方法。網(wǎng)絡(luò)的前件部分具有非線性特性,利用擴展卡爾曼濾波算法對其進行調(diào)整;網(wǎng)絡(luò)的后件部分具有線性特性,利用卡爾曼濾波算法對其進行調(diào)整,該方法等同于將全局方法簡化為一系列解耦方法,可以降低計算負擔。由于高斯函數(shù)的中心對系統(tǒng)的性能影響不明顯,為了簡化計算,只對高斯隸屬函數(shù)的寬度進行調(diào)整。

前件參數(shù)使用如下的擴展卡爾曼濾波算法更新:

Kδi=Pδi-1GTi[Ri+GiPδi-1GTi]-1

δi=δi-1+Kδi(Ti-wi-1φi)

Pδi=Pδi-1-KδiGiPδi-1+Qi(24)

后件參數(shù)使用如下的卡爾曼濾波算法更新:

Kwi=Pwi-1φTi[Ri+φiPwi-1φTi]-1

wi=wi-1+Kwi(Ti-wi-1φi)

Pwi=Pwi-1-KwiφiPwi-1+Qi(25)

2.3模糊規(guī)則的增加過程

在SFNN學(xué)習(xí)算法中,模糊規(guī)則增加過程如下:

a)初始參數(shù)分配。當?shù)玫降谝粋€觀測數(shù)據(jù)(X1,t1)時,此時的網(wǎng)絡(luò)還沒有建立起來,因此這個數(shù)據(jù)將被選為第一條模糊規(guī)則:c0=X0,δ1=δ0,w1=t1。其中δ0是預(yù)先設(shè)定的常數(shù)。

b)生長過程。當?shù)玫降趇個觀測數(shù)據(jù)(Xi,ti)時,假設(shè)在第三層中已存在u個隱含神經(jīng)元,根據(jù)式(4)(7)和(19),分別計算ei、di,min、GF。如果

‖ei‖>ke,di,min>kd,且GF

則增加一個新的隱含神經(jīng)元。其中ke、kd分別在式(5)和(8)中給出。新增加的隱含神經(jīng)元的中心、寬度和權(quán)值賦值為:Cu+1=Xi,δu+1=k0di,min,wu+1=ei,其中k0(k0>1)是重疊因子。

c)參數(shù)調(diào)整。當增加新神經(jīng)元后,所有已有神經(jīng)元的參數(shù)通過式(24)(25)描述的算法調(diào)整。

3仿真研究

時間序列預(yù)測在解決許多實際問題中是非常重要的。它在經(jīng)濟預(yù)測、信號處理等很多領(lǐng)域都得到了廣泛應(yīng)用。

本文采用的時間序列由Mackey-Glass差分延遲方程產(chǎn)生,其方程定義為[5]

x(t+1)=(1-a)x(t)+bx(t-τ)1+x10(t-τ)(27)

為了能夠與文獻[5,6]在相同的基礎(chǔ)上進行比較,取值Δt=P=6,式(27)中的參數(shù)選擇為:a=0.1,b=0.2,τ=17。預(yù)測模型表示為x(t+6)=f[x(t),x(t-6),x(t-12),x(t-18)](28)

為了獲得時間序列,利用式(27)生成2000個數(shù)據(jù),式(27)的初始條件為:x(0)=1.2。為了訓(xùn)練和測試,在t=124和t=1123之間選擇1000個樣本作為式(28)的輸入/輸出樣本數(shù)據(jù)。使用前500個數(shù)據(jù)對作為訓(xùn)練數(shù)據(jù)集,后面的500個數(shù)據(jù)對驗證該模型的預(yù)測性能。圖2顯示了SFNN生成的模糊規(guī)則數(shù);圖3顯示了從t=124到t=623的訓(xùn)練結(jié)果;圖4顯示了SFNN良好的預(yù)測性能。表1列出了SFNN與其他算法的比較結(jié)果。表1顯示,與OLS、RBF-AFS算法相比,SFNN具有最少的規(guī)則數(shù)、最小的誤差和良好的泛化能力,同時具有快速的學(xué)習(xí)速度。SFNN的快速性就在于:采用無須修剪過程的生長準則,加速了網(wǎng)絡(luò)學(xué)習(xí)過程;利用擴展卡爾曼濾波調(diào)整網(wǎng)絡(luò)的參數(shù),可以縮短網(wǎng)絡(luò)的學(xué)習(xí)周期。從上面的分析可以看出,SFNN具有緊湊的結(jié)構(gòu)、快速的學(xué)習(xí)速度、良好的逼近精度和泛化能力。

4結(jié)束語

SFNN采用在線學(xué)習(xí)方法、參數(shù)估計和結(jié)構(gòu)辨識同時進行,提高了網(wǎng)絡(luò)的學(xué)習(xí)速度?;谠摲椒ㄉ傻哪:窠?jīng)網(wǎng)絡(luò)具有緊湊的結(jié)構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)不會持續(xù)增長,避免了過擬合及過訓(xùn)練現(xiàn)象,確保了系統(tǒng)的泛化能力。

參考文獻:

[1]

HUANGHuan,WUCong-xin.Approximationcapabilitiesofmultilayerfuzzyneuralnetworksonthesetoffuzzy-valuedfunctions[J].InformationSciences,2009,179(16):2762-2773.

[2]DENGXing-sheng,WANGXin-zhou.Incrementallearningofdynamicfuzzyneuralnetworksforaccuratesystemmodeling[J].FuzzySetsandSystems,2009,160(7):972-987.

[3]韋玉科,汪仁煌,李江平,等.一種新的數(shù)據(jù)智能化處理算法[J].計算機應(yīng)用研究,2008,25(5):1328-1329.

[4]CHENSheng,HONGXia,LUKBL,etal.Orthogonal-least-squaresregression:aunifiedapproachfordatamodeling[J].Neurocompu-ting,2009,72(10-12):2670-2681.

[5]CHENS,COWANCFN,GRANTPM.Orthogonalleastsquareslearningalgorithmforradialbasisfunctionnetworks[J].IEEETransonNeuralNetworks,1991,2(2):302-309.

[6]CHOKB,WANGBH.Radialbasisfunctionbasedadaptivefuzzysystemsandtheirapplicationstosystemidentificationandprediction[J].FuzzySetsandSystems,1996,83(3):325-339.

[7]RIVALSI,PERSONNAZL.ArecursivealgorithmbasedontheextendedKalmanfilterforthetrainingoffeedforwardneuralmodels[J].Neurocomputing,1998,20(1):279-294.

[8]SIMOND.TrainingradialbasisneuralnetworkswiththeextendedKalmanfilter[J].Neurocomputing,2002,48(1):455-475.

[9]WUShi-qian,ERMJ,GAOYang.Afastapproachforautomaticgenerationoffuzzyrulesbygeneralizeddynamicfuzzyneuralnetworks[J].IEEETransonFuzzySystems,2001,9(4):578-594.

[10]WUShi-qian,ERMJ.Dynamicfuzzyneuralnetworks:anovelapproachtofunctionapproximation[J].IEEETransonSystems,ManandPartB-Cybernetics,2000,30(2):358-364.

[11]RIGATOSG,ZHANGQ.Fuzzymodelvalidationusingthelocalstatisticalapproach[J].FuzzySetsandSystems,2009,160(7):882-904.