引言
徑向基函數(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ù)量和初始向量之后,采用基于歐氏距離的最近鄰方法來(lái)實(shí)現(xiàn)聚類的。對(duì)于類間距離大,類內(nèi)距離小的樣本可以得到比較不錯(cuò)的結(jié)果,而對(duì)于類間交錯(cuò)較大,類內(nèi)距離大的情形,這種方法的分類能力將嚴(yán)重減弱,從而不利于網(wǎng)絡(luò)的泛化應(yīng)用。另外,網(wǎng)絡(luò)的訓(xùn)練過(guò)程和工作過(guò)程完全獨(dú)立,如果外部環(huán)境發(fā)生變化,系統(tǒng)的特性會(huì)隨之發(fā)生變化,由此需要重新對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,這使問(wèn)題變得更加復(fù)雜,也使網(wǎng)絡(luò)的應(yīng)用領(lǐng)域受到限制。
針對(duì)以上算法存在的問(wèn)題,本文提出了一種RBF網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)算法。該算法事先不需要確定RBF的數(shù)量和中心向量,而是在學(xué)習(xí)過(guò)程中,根據(jù)誤差在輸入空間的分布,自適應(yīng)地增加RBF的數(shù)量,并適當(dāng)調(diào)節(jié)中心向量。為了不使RBF的數(shù)量過(guò)于膨脹,還制定了相應(yīng)的刪除策略,該策略通過(guò)綜合評(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ò)的輸出可表示為:
整個(gè)算法的流程大體可分成三個(gè)部分。第一個(gè)部分是調(diào)節(jié)隱層節(jié)點(diǎn)的中心位置和隱層與輸出層之間的權(quán)值。本文采用梯度下降法,每循環(huán)一次,相應(yīng)地調(diào)節(jié)一次。第二個(gè)部分是執(zhí)行添加操作。添加的策略是根據(jù)輸出誤差在輸入空間分布的不均勻性而提出的。如果執(zhí)行該操作過(guò)頻,不但會(huì)減小隱層節(jié)點(diǎn)的中心位置和權(quán)值的調(diào)節(jié)速度,而且會(huì)造成隱層節(jié)點(diǎn)數(shù)目過(guò)多,計(jì)算量增大,導(dǎo)致過(guò)度擬合??紤]到以上因素,采用間歇的方式執(zhí)行添加操作,只有當(dāng)i=4n+1(n=0,1,2,…)時(shí),才執(zhí)行添加操作。第三個(gè)部分是執(zhí)行刪除操作。如果執(zhí)行該操作過(guò)頻,對(duì)于一些新增加的隱層節(jié)點(diǎn),其中心位置和權(quán)值有可能還沒(méi)來(lái)得及調(diào)整就已經(jīng)被刪除了,所以也采用間歇的方式執(zhí)行。當(dāng)i=8m+7(m=0,1,2,…)時(shí),才執(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í)際輸出為:
3 仿真實(shí)例
(1)對(duì)隨機(jī)曲面進(jìn)行恢復(fù)
仿真中定義曲面方程如下:
以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)過(guò)20次訓(xùn)練,最后得到的網(wǎng)絡(luò)具有41個(gè)隱層節(jié)點(diǎn),系統(tǒng)的均方誤差為0.023 3。擬合后的曲面圖像如圖3所示。
(2)對(duì)θ取不同值時(shí)的比較,結(jié)果如表1~表3所示。
4 結(jié)語(yǔ)
針對(duì)RBF神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)的參數(shù)和數(shù)量難以確定的問(wèn)題,提出了一種自適應(yīng)的學(xué)習(xí)算法。該算法事先不需要確定隱層節(jié)點(diǎn)的中心位置和數(shù)量,而是通過(guò)相應(yīng)的添加和刪除策略實(shí)現(xiàn)的。添加策略是根據(jù)輸出誤差在輸入空間分布的不均勻而提出的,通過(guò)執(zhí)行相應(yīng)的操作可以使隱層節(jié)點(diǎn)的數(shù)目在學(xué)習(xí)過(guò)程中自適應(yīng)的增加。同時(shí),為了使隱層節(jié)點(diǎn)數(shù)目不過(guò)于膨脹,還制定了刪除策略。它先分析每個(gè)隱層節(jié)點(diǎn)對(duì)整個(gè)網(wǎng)絡(luò)所作的貢獻(xiàn),然后刪除貢獻(xiàn)小的節(jié)點(diǎn),以保持網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單。仿真研究表明,該網(wǎng)絡(luò)不僅靈活性高,結(jié)構(gòu)簡(jiǎn)單,精度高,而且具有較好的泛化能力。
聯(lián)系客服