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