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