EKF模擬神經網絡學習算法研究論文

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

導語:EKF模擬神經網絡學習算法研究論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

EKF模擬神經網絡學習算法研究論文

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

關鍵詞:模糊神經網絡;擴展卡爾曼濾波;自組織學習

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

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

1SFNN的結構

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

下面是對該網絡各層含義的詳細描述。

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

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

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

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

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

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

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

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

其中:y是網絡的輸出;wj是Then-部分。

2SFNN的學習算法

如前文所述,第三層的每個節點代表一個可能的模糊規則的IF-部分或者一個RBF單元。如果需要辨識系統的模糊規則數,則不能預先選擇模糊神經網絡的結構。于是,本文提出一種新的學習算法,該算法可以自動確定系統的模糊規則并能達到系統的特定性能。

2.1模糊規則的產生準則

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

2.1.1系統誤差

誤差判據:對于第i個觀測數據(xi,ti),其中xi是輸入向量,ti是期望輸出,由式(3)計算網絡現有結構的全部輸出yi。

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

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

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

2.1.2可容納邊界

從某種意義上來講,模糊神經網絡結構的學習是對輸入空間的高效劃分。模糊神經網絡的性能和結構與輸入隸屬函數緊密相關。本文使用的是高斯隸屬函數,高斯函數輸出隨著與中心距離的增加而單調遞減。當輸入變量采用高斯隸屬函數時,則認為整個輸入空間由一系列高斯隸屬函數所劃分。如果某個新樣本位于某個已存在的高斯隸屬函數覆蓋范圍內,則該新樣本可以用已存在的高斯隸屬函數表示,不需要網絡生成新的高斯單元。

可容納邊界:對于第i個觀測數據(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是現有的模糊規則或RBF單元的數量。令

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

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

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

2.1.3誤差下降率

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

給定n個輸入/輸出數據對(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是權值向量,并且假設E∈Rn是與回歸量不相關的誤差向量。

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

H=PQ(11)

可把H變換成一組正交基向量集P=[p1,p2,…,pu]∈Rn×u,其維數與H的維數相同,各列向量構成正交基,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可以檢驗算法的泛化能力,并進一步簡化和加速學習過程。定義:

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

如果GF

2.2參數調整

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

θi=θi-1

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

在當前的估計值i-1處將非線性函數h(θi-1,X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)

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

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是過程噪聲方差陣。

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

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

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)

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

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模糊規則的增加過程

在SFNN學習算法中,模糊規則增加過程如下:

a)初始參數分配。當得到第一個觀測數據(X1,t1)時,此時的網絡還沒有建立起來,因此這個數據將被選為第一條模糊規則:c0=X0,δ1=δ0,w1=t1。其中δ0是預先設定的常數。

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

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

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

c)參數調整。當增加新神經元后,所有已有神經元的參數通過式(24)(25)描述的算法調整。

3仿真研究

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

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

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

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

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

4結束語

SFNN采用在線學習方法、參數估計和結構辨識同時進行,提高了網絡的學習速度。基于該方法生成的模糊神經網絡具有緊湊的結構,網絡結構不會持續增長,避免了過擬合及過訓練現象,確保了系統的泛化能力。

參考文獻:

[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]韋玉科,汪仁煌,李江平,等.一種新的數據智能化處理算法[J].計算機應用研究,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.