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

時(shí)間:2022-12-23 03:38:00

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.1.1系統(tǒng)誤差

誤差判據(jù):對(duì)于第i個(gè)觀測(cè)數(shù)據(jù)(xi,ti),其中xi是輸入向量,ti是期望輸出,由式(3)計(jì)算網(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í)是對(duì)輸入空間的高效劃分。模糊神經(jīng)網(wǎng)絡(luò)的性能和結(jié)構(gòu)與輸入隸屬函數(shù)緊密相關(guān)。本文使用的是高斯隸屬函數(shù),高斯函數(shù)輸出隨著與中心距離的增加而單調(diào)遞減。當(dāng)輸入變量采用高斯隸屬函數(shù)時(shí),則認(rèn)為整個(gè)輸入空間由一系列高斯隸屬函數(shù)所劃分。如果某個(gè)新樣本位于某個(gè)已存在的高斯隸屬函數(shù)覆蓋范圍內(nèi),則該新樣本可以用已存在的高斯隸屬函數(shù)表示,不需要網(wǎng)絡(luò)生成新的高斯單元。

可容納邊界:對(duì)于第i個(gè)觀測(cè)數(shù)據(jù)(xi,ti),計(jì)算第i個(gè)輸入值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ī)則,否則,觀測(cè)數(shù)據(jù)可以由已存在的距離它最近的RBF單元表示。其中:kd是可容納邊界的有效半徑;dmax是輸入空間的最大長(zhǎng)度;dmin是所關(guān)心的最小長(zhǎng)度;γ(0<γ<1)是衰減因子論文。

2.1.3誤差下降率

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

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

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

式(9)可簡(jiǎn)寫為

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)的誤差向量。

對(duì)于矩陣φ,如果它的行數(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是一個(gè)上三角矩陣。通過這一變換,有可能從每一基向量計(jì)算每一個(gè)分量對(duì)期望輸出能量的貢獻(xiàn)。把式(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)

當(dāng)k≠l時(shí),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)為尋找重要回歸量子集提供了一種簡(jiǎn)單而有效的方法,其意義在于errk揭示了pk和D的相似性。errk值越大,表示pk和D的相似度越大,且pk對(duì)于輸出影響越顯著。利用ERR定義泛化因子(GF),GF可以檢驗(yàn)算法的泛化能力,并進(jìn)一步簡(jiǎn)化和加速學(xué)習(xí)過程。定義:

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

如果GF

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

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

θi=θi-1

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

在當(dāng)前的估計(jì)值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ù)向量θ使用下面的擴(kuò)展卡爾曼濾波算法更新:

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是量測(cè)噪聲方差陣;Qi是過程噪聲方差陣。

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

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

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

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

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

則增加一個(gè)新的隱含神經(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)整。當(dāng)增加新神經(jīng)元后,所有已有神經(jīng)元的參數(shù)通過式(24)(25)描述的算法調(diào)整。

3仿真研究

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

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

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

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

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

4結(jié)束語

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

參考文獻(xiàn):

[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].計(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.