《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 一種RBF神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)算法
一種RBF神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)算法
王 劍 薛 飛
摘要: 建立了一種RBF神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)模型。該模型事先不需要確定隱層節(jié)點(diǎn)的中心位置和數(shù)量,而是在學(xué)習(xí)過程中,根據(jù)相應(yīng)的添加策略和刪除策略,自適應(yīng)地增加或減少隱層節(jié)點(diǎn)的數(shù)量。最終形成的網(wǎng)絡(luò)不僅結(jié)構(gòu)簡單,精度高,而且具有較好的泛化能力。
Abstract:
Key words :

引言
    徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)具有結(jié)構(gòu)簡單,學(xué)習(xí)速度快等優(yōu)點(diǎn),在函數(shù)逼近、系統(tǒng)辨識、模式識別等領(lǐng)域得到了廣泛應(yīng)用。
    構(gòu)造RBF網(wǎng)絡(luò)的關(guān)鍵是合理選取徑向基函數(shù)的數(shù)量和中心向量。目前,比較常用的方法主要有K均值聚類法、C-Means算法等。這些方法都是在人為確定徑向基函數(shù)的數(shù)量和初始向量之后,采用基于歐氏距離的最近鄰方法來實(shí)現(xiàn)聚類的。對于類間距離大,類內(nèi)距離小的樣本可以得到比較不錯的結(jié)果,而對于類間交錯較大,類內(nèi)距離大的情形,這種方法的分類能力將嚴(yán)重減弱,從而不利于網(wǎng)絡(luò)的泛化應(yīng)用。另外,網(wǎng)絡(luò)的訓(xùn)練過程和工作過程完全獨(dú)立,如果外部環(huán)境發(fā)生變化,系統(tǒng)的特性會隨之發(fā)生變化,由此需要重新對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,這使問題變得更加復(fù)雜,也使網(wǎng)絡(luò)的應(yīng)用領(lǐng)域受到限制。
    針對以上算法存在的問題,本文提出了一種RBF網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)算法。該算法事先不需要確定RBF的數(shù)量和中心向量,而是在學(xué)習(xí)過程中,根據(jù)誤差在輸入空間的分布,自適應(yīng)地增加RBF的數(shù)量,并適當(dāng)調(diào)節(jié)中心向量。為了不使RBF的數(shù)量過于膨脹,還制定了相應(yīng)的刪除策略,該策略通過綜合評價每個RBF對網(wǎng)絡(luò)所作的貢獻(xiàn),然后刪除貢獻(xiàn)小的RBF,使網(wǎng)絡(luò)結(jié)構(gòu)始終保持簡潔。

1 RBF神經(jīng)網(wǎng)絡(luò)
    RBF網(wǎng)絡(luò)是一種三層前饋網(wǎng)絡(luò),由輸入層、輸出層和隱層組成。其中,輸入層和輸出層皆由線性神經(jīng)元組成;隱層的激活函數(shù)(核函數(shù))采用中心徑向?qū)ΨQ衰減的非負(fù)非線性函數(shù),其作用是對輸入信號在局部產(chǎn)生響應(yīng)。輸入層與隱層之間的權(quán)值固定為1,只有隱層與輸出層之間的權(quán)值可調(diào)。
    設(shè)輸入矢量x=(x1,x2,…,xn)T,隱層節(jié)點(diǎn)個數(shù)為m,RBF網(wǎng)絡(luò)的輸出可表示為:
   
    式中:ωi是第i個隱層節(jié)點(diǎn)與輸出層之間的權(quán)值;φi(‖x—ci‖),i=1,2,…,m為隱層激活函數(shù)。通常采用如下高斯函數(shù):
   
    式中:σi和ci分別表示該隱層節(jié)點(diǎn)的寬度和中心矢量;‖·‖是歐氏范數(shù)。

2 RBF網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)算法
    RBF選取得越多,網(wǎng)絡(luò)的逼近精度越高,但同時也會使網(wǎng)絡(luò)的泛化能力下降,因此,在滿足一定逼近精度的條件下,應(yīng)選取盡可能少的中心向量,以保證網(wǎng)絡(luò)有較好的泛化能力。本文提出的算法,根據(jù)網(wǎng)絡(luò)的輸出誤差在輸入空間的非均勻分布,以及每個RBF對網(wǎng)絡(luò)所作貢獻(xiàn)的大小,通過相應(yīng)的添加和刪除策略對網(wǎng)絡(luò)參數(shù)進(jìn)行自適應(yīng)調(diào)整,使網(wǎng)絡(luò)的逼近性能和泛化能力都達(dá)到較高的要求。同時,網(wǎng)絡(luò)的訓(xùn)練和工作可以交替進(jìn)行,所以它能夠適應(yīng)外界環(huán)境的緩慢變化。
2.1 添加策略
   
添加策略綜合考慮了網(wǎng)絡(luò)輸出誤差在輸入空間的非均勻分布。需要統(tǒng)計每個輸入矢量產(chǎn)生的輸出誤差,然后通過比較找出誤差相對較大的點(diǎn),再在這些點(diǎn)附近適當(dāng)?shù)夭迦腚[層節(jié)點(diǎn)。
    設(shè)(xk,yk),k=1,2,…,N是一組訓(xùn)練樣本,初始時刻,隱層節(jié)點(diǎn)數(shù)為零,每次執(zhí)行添加操作,依據(jù)以下準(zhǔn)則判斷是否添加隱層節(jié)點(diǎn):
   
    式中:是網(wǎng)絡(luò)輸出均方誤差;ck,nearest和xk,nearest分別對應(yīng)與輸入向量xk最接近的隱層節(jié)點(diǎn)中心和輸入向量。如果滿足添加條件,則將(xk+xk,nearest)/2設(shè)為新的隱層節(jié)點(diǎn)中心,將ek設(shè)為新節(jié)點(diǎn)的權(quán)值,中心寬度取。
2.2 刪除策略
   
由于RBF神經(jīng)網(wǎng)絡(luò)是一種局部感知場網(wǎng)絡(luò),網(wǎng)絡(luò)總的輸出取決于隱層與輸出層之間的權(quán)值和隱層節(jié)點(diǎn)中心與輸入矢量之間的距離。進(jìn)行訓(xùn)練時,所選取的訓(xùn)練樣本相對比較稀疏。當(dāng)某一個隱層節(jié)點(diǎn)中心離每一個輸入矢量都很遠(yuǎn)時,即使其權(quán)值是一個較大的數(shù),也不會對輸出產(chǎn)生太大的影響。在訓(xùn)練結(jié)束后進(jìn)行檢驗(yàn)的過程中,檢驗(yàn)的數(shù)據(jù)一般都比較密集,若某些輸入矢量離該隱層中心較近,則輸出會受到很大的影響,這使網(wǎng)絡(luò)的泛化能力變差。因此需要制定一種策略來刪除這樣的隱層節(jié)點(diǎn),由此引入了刪除策略。
    刪除策略是針對每個隱層節(jié)點(diǎn)對整個網(wǎng)絡(luò)所作貢獻(xiàn)的大小不同而提出的。貢獻(xiàn)大的節(jié)點(diǎn),繼續(xù)保留;貢獻(xiàn)小的節(jié)點(diǎn),則刪除。對任意隱層節(jié)點(diǎn)i,用Ai來表示它對整個網(wǎng)絡(luò)所作的貢獻(xiàn)。Ai定義為:
   
    執(zhí)行刪除操作前,先對Ai進(jìn)行歸一化處理,即。最后的判斷規(guī)則為:若,則刪除第i個隱層節(jié)點(diǎn),其中θ為判決門限。
    在采用梯度下降法調(diào)整隱層節(jié)點(diǎn)中心位置和權(quán)值的過程中,需要計算每個輸入矢量對應(yīng)的輸出誤差ek,以及每個隱層節(jié)點(diǎn)的輸出值φ(‖xk-ci‖)。而執(zhí)行添加和刪除操作時也需要計算ek和φ(‖xk-ci‖)。為了減小計算量,提高運(yùn)算效率,可以在調(diào)整隱層的中心位置和權(quán)值的過程中先保存ek和φ(‖xk-ci‖)的值。
2.3 算法流程
   
自適應(yīng)RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的具體流程如圖1所示。對RBF進(jìn)行訓(xùn)練之前,先確定最大訓(xùn)練次數(shù)M和訓(xùn)練允許誤差Er,作為訓(xùn)練結(jié)束的條件。


    整個算法的流程大體可分成三個部分。第一個部分是調(diào)節(jié)隱層節(jié)點(diǎn)的中心位置和隱層與輸出層之間的權(quán)值。本文采用梯度下降法,每循環(huán)一次,相應(yīng)地調(diào)節(jié)一次。第二個部分是執(zhí)行添加操作。添加的策略是根據(jù)輸出誤差在輸入空間分布的不均勻性而提出的。如果執(zhí)行該操作過頻,不但會減小隱層節(jié)點(diǎn)的中心位置和權(quán)值的調(diào)節(jié)速度,而且會造成隱層節(jié)點(diǎn)數(shù)目過多,計算量增大,導(dǎo)致過度擬合。考慮到以上因素,采用間歇的方式執(zhí)行添加操作,只有當(dāng)i=4n+1(n=0,1,2,…)時,才執(zhí)行添加操作。第三個部分是執(zhí)行刪除操作。如果執(zhí)行該操作過頻,對于一些新增加的隱層節(jié)點(diǎn),其中心位置和權(quán)值有可能還沒來得及調(diào)整就已經(jīng)被刪除了,所以也采用間歇的方式執(zhí)行。當(dāng)i=8m+7(m=0,1,2,…)時,才執(zhí)行刪除操作。
2.4 RBF網(wǎng)絡(luò)參數(shù)調(diào)整算法
   
本文采用梯度下降法調(diào)整RBF的隱層節(jié)點(diǎn)中心位置和權(quán)值。設(shè)隱層節(jié)點(diǎn)的數(shù)目為m,一共有N組訓(xùn)練樣本:(x,y)={(x1,y1),(x2,y2),…,(xN,yN)}。神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出為:。選取均方差為誤差函數(shù),取ρ1和ρ2為學(xué)習(xí)率。
    (1)調(diào)整隱層節(jié)點(diǎn)的權(quán)值
   
    (2)調(diào)整隱層節(jié)點(diǎn)中心的位置

   


3 仿真實(shí)例
   
(1)對隨機(jī)曲面進(jìn)行恢復(fù)
    仿真中定義曲面方程如下:
   
    原始數(shù)據(jù)集所得曲面圖像如圖2所示。


    以x(x=x1,x2)為輸入矢量,其中,x1和x2分別以1為間隔在區(qū)間[0,9]內(nèi)均勻取值,一共得到100組輸入數(shù)據(jù)(x1,x2)。選取ε=0.02,θ=0.3,ρ1=0.1,ρ2=0.05。經(jīng)過20次訓(xùn)練,最后得到的網(wǎng)絡(luò)具有41個隱層節(jié)點(diǎn),系統(tǒng)的均方誤差為0.023 3。擬合后的曲面圖像如圖3所示。


    (2)對θ取不同值時的比較,結(jié)果如表1~表3所示。



4 結(jié)語
   
針對RBF神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)的參數(shù)和數(shù)量難以確定的問題,提出了一種自適應(yīng)的學(xué)習(xí)算法。該算法事先不需要確定隱層節(jié)點(diǎn)的中心位置和數(shù)量,而是通過相應(yīng)的添加和刪除策略實(shí)現(xiàn)的。添加策略是根據(jù)輸出誤差在輸入空間分布的不均勻而提出的,通過執(zhí)行相應(yīng)的操作可以使隱層節(jié)點(diǎn)的數(shù)目在學(xué)習(xí)過程中自適應(yīng)的增加。同時,為了使隱層節(jié)點(diǎn)數(shù)目不過于膨脹,還制定了刪除策略。它先分析每個隱層節(jié)點(diǎn)對整個網(wǎng)絡(luò)所作的貢獻(xiàn),然后刪除貢獻(xiàn)小的節(jié)點(diǎn),以保持網(wǎng)絡(luò)結(jié)構(gòu)簡單。仿真研究表明,該網(wǎng)絡(luò)不僅靈活性高,結(jié)構(gòu)簡單,精度高,而且具有較好的泛化能力。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。