一種RBF神經(jīng)網(wǎng)絡(luò )的自適應學(xué)習算法
引言
徑向基函數(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò )具有結構簡(jiǎn)單,學(xué)習速度快等優(yōu)點(diǎn),在函數逼近、系統辨識、模式識別等領(lǐng)域得到了廣泛應用。
構造RBF網(wǎng)絡(luò )的關(guān)鍵是合理選取徑向基函數的數量和中心向量。目前,比較常用的方法主要有K均值聚類(lèi)法、C-Means算法等。這些方法都是在人為確定徑向基函數的數量和初始向量之后,采用基于歐氏距離的最近鄰方法來(lái)實(shí)現聚類(lèi)的。對于類(lèi)間距離大,類(lèi)內距離小的樣本可以得到比較不錯的結果,而對于類(lèi)間交錯較大,類(lèi)內距離大的情形,這種方法的分類(lèi)能力將嚴重減弱,從而不利于網(wǎng)絡(luò )的泛化應用。另外,網(wǎng)絡(luò )的訓練過(guò)程和工作過(guò)程完全獨立,如果外部環(huán)境發(fā)生變化,系統的特性會(huì )隨之發(fā)生變化,由此需要重新對網(wǎng)絡(luò )進(jìn)行訓練,這使問(wèn)題變得更加復雜,也使網(wǎng)絡(luò )的應用領(lǐng)域受到限制。
針對以上算法存在的問(wèn)題,本文提出了一種RBF網(wǎng)絡(luò )的自適應學(xué)習算法。該算法事先不需要確定RBF的數量和中心向量,而是在學(xué)習過(guò)程中,根據誤差在輸入空間的分布,自適應地增加RBF的數量,并適當調節中心向量。為了不使RBF的數量過(guò)于膨脹,還制定了相應的刪除策略,該策略通過(guò)綜合評價(jià)每個(gè)RBF對網(wǎng)絡(luò )所作的貢獻,然后刪除貢獻小的RBF,使網(wǎng)絡(luò )結構始終保持簡(jiǎn)潔。
1 RBF神經(jīng)網(wǎng)絡(luò )
RBF網(wǎng)絡(luò )是一種三層前饋網(wǎng)絡(luò ),由輸入層、輸出層和隱層組成。其中,輸入層和輸出層皆由線(xiàn)性神經(jīng)元組成;隱層的激活函數(核函數)采用中心徑向對稱(chēng)衰減的非負非線(xiàn)性函數,其作用是對輸入信號在局部產(chǎn)生響應。輸入層與隱層之間的權值固定為1,只有隱層與輸出層之間的權值可調。
設輸入矢量x=(x1,x2,…,xn)T,隱層節點(diǎn)個(gè)數為m,RBF網(wǎng)絡(luò )的輸出可表示為:
式中:ωi是第i個(gè)隱層節點(diǎn)與輸出層之間的權值;φi(‖x—ci‖),i=1,2,…,m為隱層激活函數。通常采用如下高斯函數:
式中:σi和ci分別表示該隱層節點(diǎn)的寬度和中心矢量;‖·‖是歐氏范數。
2 RBF網(wǎng)絡(luò )自適應學(xué)習算法
RBF選取得越多,網(wǎng)絡(luò )的逼近精度越高,但同時(shí)也會(huì )使網(wǎng)絡(luò )的泛化能力下降,因此,在滿(mǎn)足一定逼近精度的條件下,應選取盡可能少的中心向量,以保證網(wǎng)絡(luò )有較好的泛化能力。本文提出的算法,根據網(wǎng)絡(luò )的輸出誤差在輸入空間的非均勻分布,以及每個(gè)RBF對網(wǎng)絡(luò )所作貢獻的大小,通過(guò)相應的添加和刪除策略對網(wǎng)絡(luò )參數進(jìn)行自適應調整,使網(wǎng)絡(luò )的逼近性能和泛化能力都達到較高的要求。同時(shí),網(wǎng)絡(luò )的訓練和工作可以交替進(jìn)行,所以它能夠適應外界環(huán)境的緩慢變化。
2.1 添加策略
添加策略綜合考慮了網(wǎng)絡(luò )輸出誤差在輸入空間的非均勻分布。需要統計每個(gè)輸入矢量產(chǎn)生的輸出誤差,然后通過(guò)比較找出誤差相對較大的點(diǎn),再在這些點(diǎn)附近適當地插入隱層節點(diǎn)。
設(xk,yk),k=1,2,…,N是一組訓練樣本,初始時(shí)刻,隱層節點(diǎn)數為零,每次執行添加操作,依據以下準則判斷是否添加隱層節點(diǎn):
式中:是網(wǎng)絡(luò )輸出均方誤差;ck,nearest和xk,nearest分別對應與輸入向量xk最接近的隱層節點(diǎn)中心和輸入向量。如果滿(mǎn)足添加條件,則將(xk+xk,nearest)/2設為新的隱層節點(diǎn)中心,將ek設為新節點(diǎn)的權值,中心寬度取
。
2.2 刪除策略
由于RBF神經(jīng)網(wǎng)絡(luò )是一種局部感知場(chǎng)網(wǎng)絡(luò ),網(wǎng)絡(luò )總的輸出取決于隱層與輸出層之間的權值和隱層節點(diǎn)中心與輸入矢量之間的距離。進(jìn)行訓練時(shí),所選取的訓練樣本相對比較稀疏。當某一個(gè)隱層節點(diǎn)中心離每一個(gè)輸入矢量都很遠時(shí),即使其權值是一個(gè)較大的數,也不會(huì )對輸出產(chǎn)生太大的影響。在訓練結束后進(jìn)行檢驗的過(guò)程中,檢驗的數據一般都比較密集,若某些輸入矢量離該隱層中心較近,則輸出會(huì )受到很大的影響,這使網(wǎng)絡(luò )的泛化能力變差。因此需要制定一種策略來(lái)刪除這樣的隱層節點(diǎn),由此引入了刪除策略。
刪除策略是針對每個(gè)隱層節點(diǎn)對整個(gè)網(wǎng)絡(luò )所作貢獻的大小不同而提出的。貢獻大的節點(diǎn),繼續保留;貢獻小的節點(diǎn),則刪除。對任意隱層節點(diǎn)i,用Ai來(lái)表示它對整個(gè)網(wǎng)絡(luò )所作的貢獻。Ai定義為:
執行刪除操作前,先對Ai進(jìn)行歸一化處理,即。最后的判斷規則為:若
,則刪除第i個(gè)隱層節點(diǎn),其中θ為判決門(mén)限。
在采用梯度下降法調整隱層節點(diǎn)中心位置和權值的過(guò)程中,需要計算每個(gè)輸入矢量對應的輸出誤差ek,以及每個(gè)隱層節點(diǎn)的輸出值φ(‖xk-ci‖)。而執行添加和刪除操作時(shí)也需要計算ek和φ(‖xk-ci‖)。為了減小計算量,提高運算效率,可以在調整隱層的中心位置和權值的過(guò)程中先保存ek和φ(‖xk-ci‖)的值。
2.3 算法流程
自適應RBF神經(jīng)網(wǎng)絡(luò )學(xué)習算法的具體流程如圖1所示。對RBF進(jìn)行訓練之前,先確定最大訓練次數M和訓練允許誤差Er,作為訓練結束的條件。
評論