朱亞男
(西安鐵路職業(yè)技術(shù)學(xué)院 牽引動(dòng)力系,陜西 西安 710014)
徑向基函數(shù)(Radial-Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)(RBF網(wǎng)絡(luò))是一種典型的局部逼近網(wǎng)絡(luò)模型[1-2]。與其他類型的神經(jīng)網(wǎng)絡(luò)相比,RBF網(wǎng)絡(luò)不僅具有較強(qiáng)的生理學(xué)基礎(chǔ),而且其結(jié)構(gòu)簡(jiǎn)單,在學(xué)習(xí)速度、逼近性能等方面更具優(yōu)勢(shì)。
RBF網(wǎng)絡(luò)常用的學(xué)習(xí)方法[3-6]有:隨機(jī)選取中心法、正交最小二乘法(OLS法)、自組織選取中心法以及有監(jiān)督地選擇中心法。但這些方法都不能完全通過(guò)學(xué)習(xí)的方式得到全部的RBF網(wǎng)絡(luò)參數(shù),其中部分參數(shù)是靠經(jīng)驗(yàn)預(yù)先設(shè)計(jì)的:如隨機(jī)選取中心法、自組織選取中心法以及有監(jiān)督地選擇中心法,需要預(yù)設(shè)網(wǎng)絡(luò)中心點(diǎn)的數(shù)目;而OLS法則需要預(yù)設(shè)網(wǎng)絡(luò)的擴(kuò)展常數(shù)。此外,除有監(jiān)督地選擇中心法外,其他學(xué)習(xí)方法都主要訓(xùn)練網(wǎng)絡(luò)中心這個(gè)參數(shù),對(duì)網(wǎng)絡(luò)擴(kuò)展常數(shù)的訓(xùn)練則比較忽略,而擴(kuò)展常數(shù)恰恰是決定RBF網(wǎng)絡(luò)性能至關(guān)重要的因素,其值過(guò)大或過(guò)小都會(huì)嚴(yán)重影響RBF網(wǎng)絡(luò)的性能。除上述常用學(xué)習(xí)方法之外,其他一些基于進(jìn)化算法的RBF網(wǎng)絡(luò)學(xué)習(xí)策略,也大多存在類似問(wèn)題,且往往會(huì)導(dǎo)致算法過(guò)于復(fù)雜、訓(xùn)練時(shí)間過(guò)長(zhǎng)且容易陷入局部極小等問(wèn)題。
鑒于上述問(wèn)題和不足,本文提出一種基于免疫機(jī)制的RBF網(wǎng)絡(luò)設(shè)計(jì)與學(xué)習(xí)策略,RBF網(wǎng)絡(luò)的所有參數(shù)都能通過(guò)訓(xùn)練得到全局最優(yōu)值,同時(shí)為了簡(jiǎn)化網(wǎng)絡(luò)訓(xùn)練過(guò)程,該方法特地引入人工免疫系統(tǒng)特有的疫苗抽取與接種機(jī)理,從而進(jìn)一步優(yōu)化了網(wǎng)絡(luò)性能。
RBF網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,表示具有n維輸入、h個(gè)隱節(jié)點(diǎn)、m 維輸出的 RBF 網(wǎng)絡(luò)結(jié)構(gòu)模型。 其中,x=[x1,x2,…,xn]T∈Rn×N為網(wǎng)絡(luò)的輸入向量,N 為樣本數(shù)目;φi(i=1,…,h)為隱層節(jié)點(diǎn)的徑向基函數(shù),w∈Rn×m為輸出權(quán)矩陣,b1, …,bm∈Rm為輸出單元偏置值,y=[y1,y2,…,ym]T∈Rn×m為網(wǎng)絡(luò)輸出,∑表示y是隱節(jié)點(diǎn)輸出的線性加權(quán)。
其中 φ(·)一般為高斯函數(shù),形如式(1):
式(1)中,ci為基函數(shù)的中心,決定了基函數(shù)的位置;σi為擴(kuò)展常數(shù),決定了基函數(shù)的寬度;通常取為歐幾里得距離。
圖1 徑向基函數(shù)(RBF)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Radial basis function (RBF)network structure
由式(1)可看出,當(dāng) RBF 網(wǎng)絡(luò)的 h、ci、σi(i=1,2,…,h)唯一確定后,則網(wǎng)絡(luò)隱層的徑向基函數(shù)就確定了,即確定了輸入空間到隱層空間的映射關(guān)系;當(dāng)wi和b唯一確定后,隱層空間到輸出空間的線性映射關(guān)系也可確定。RBF網(wǎng)絡(luò)的設(shè)計(jì)和訓(xùn)練主要目的就是確定上述參數(shù)。而上述參數(shù)全部在同一個(gè)優(yōu)化空間同時(shí)得到是不必要且極為影響效率的:優(yōu)先確定參數(shù)h就決定了整個(gè)RBF網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),可大大簡(jiǎn)化網(wǎng)絡(luò)訓(xùn)練過(guò)程;然后只要確定了參數(shù),就可構(gòu)建合理的網(wǎng)絡(luò)隱層,進(jìn)而就能夠通過(guò)線性優(yōu)化的方法確定輸出層參數(shù){wi,b}。
基于上述分析,本文提出RBF網(wǎng)絡(luò)三級(jí)學(xué)習(xí)結(jié)構(gòu)策略:將構(gòu)成RBF網(wǎng)絡(luò)的參數(shù)空間Θ分解成為三個(gè)子空間:Θ1={h},Θ2={ci,σi}和 Θ3={wi,b},然后對(duì)這三個(gè)子空間分別進(jìn)行優(yōu)化設(shè)計(jì)。圖2為網(wǎng)絡(luò)的學(xué)習(xí)結(jié)構(gòu)框架,由圖2可看出該框架分為三級(jí)結(jié)構(gòu):第一級(jí)計(jì)算Θ1(抽取疫苗);第二級(jí)經(jīng)疫苗注射后用免疫算法設(shè)計(jì)確定Θ2;第三級(jí)采用最小二乘估計(jì)Θ3。經(jīng)三級(jí)學(xué)習(xí)后就確定了 RBF網(wǎng)絡(luò)參數(shù)空間 Θ3={Θ1,Θ2,Θ3},即構(gòu)造出了完整的RBF網(wǎng)絡(luò)。
圖2 RBF網(wǎng)絡(luò)三級(jí)學(xué)習(xí)結(jié)構(gòu)Fig.2 Athree-level RBF network learning structure
上述RBF網(wǎng)絡(luò)三級(jí)學(xué)習(xí)結(jié)構(gòu),其每一級(jí)具體實(shí)現(xiàn)過(guò)程如下:
第一級(jí):獲取疫苗,得到網(wǎng)絡(luò)結(jié)構(gòu)。
第一級(jí)計(jì)算Θ1={h},直接決定了RBF網(wǎng)絡(luò)隱層神經(jīng)元的個(gè)數(shù),是該學(xué)習(xí)方法中的疫苗,同時(shí)也是形成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的重要步驟。令k以1為步長(zhǎng)在節(jié)點(diǎn)數(shù)目的允許范圍內(nèi)搜索,即k=1:1:Maxh,Maxh為網(wǎng)絡(luò)允許的隱層最大節(jié)點(diǎn)數(shù),1為最小節(jié)點(diǎn)數(shù),同時(shí)搜索過(guò)程中k個(gè)數(shù)據(jù)中心{c1,c2,…,ck}是在輸入樣本 x∈Rn×N中隨機(jī)選取的,滿足式(2):
式(2)中,Round(·)為取整函數(shù),rand 為區(qū)間[0,1]內(nèi)的均勻隨機(jī)數(shù),n為輸入數(shù)據(jù)維數(shù)。確定數(shù)據(jù)中心后,按式(3)選擇擴(kuò)展常數(shù)σ。
此后,采用偽逆陣法確定網(wǎng)絡(luò)輸出層線性參數(shù):
Gw+b=p?[w,b]=[G,I′N]+×p(w∈Rk×m,b∈Rm?[w,b]∈R(k+1)×m
G∈RN×k,I′N∈RN×1?[G,I′N]∈RN×(k+1),p∈RN×m)(4)
式(4)中,p∈RN×m為N個(gè)訓(xùn)練數(shù)據(jù)集的m維期望響應(yīng)矢量;[G,I′N]表示矩陣[G,I′N]的偽逆陣[G,I′N],其中I′N∈RN×1為元素為1的N維列向量,G∈RN×k定義為:
式(5)中,xj是輸入訓(xùn)練數(shù)據(jù)集的第j個(gè)輸入矢量,N是訓(xùn)練樣本數(shù)目。
根據(jù)式(2)~式(5)可構(gòu)建出第一級(jí)的RBF網(wǎng)絡(luò),在 k=1:Maxh的搜索過(guò)程中,k取值不同時(shí)網(wǎng)絡(luò)所表現(xiàn)出的輸出誤差ε也不同,當(dāng)誤差ε≤με時(shí)(με為指定的誤差上限),k值即為該級(jí)提取的疫苗,即該RBF網(wǎng)絡(luò)的隱層節(jié)點(diǎn)數(shù)h。
第一級(jí)輸出為h,h=k。
第二級(jí):經(jīng)注射第一級(jí)結(jié)構(gòu)提取的疫苗后再構(gòu)建RBF網(wǎng)絡(luò)隱層。
第二級(jí)注射疫苗h即確定了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),在此基礎(chǔ)上通過(guò)學(xué)習(xí)確定參數(shù)子空間Θ2={ci,σi}。該級(jí)采用基于實(shí)數(shù)編碼的免疫克隆選擇算法ICSA[7]。具體如下:
1)抗原:需利用當(dāng)前構(gòu)建的RBF網(wǎng)絡(luò)去求解的目標(biāo)函數(shù)。
2)抗體:抗體形式為 ai=[c,σ],與 RBF網(wǎng)絡(luò)隱層參數(shù)相對(duì)應(yīng),其中 c=(c1,c2,…,ch)為數(shù)據(jù)中心,σ=(σ1,σ2,…,σh)為擴(kuò)展常數(shù)。 抗體群 A={a1,a2,…,aM},M 為群規(guī)模。 抗體采用實(shí)數(shù)編碼。
初始化抗體群矢量c和σ矢量均隨機(jī)產(chǎn)生,分別見式(6)和式(7):
3)抗體-抗原親合力:選擇當(dāng)前RBF網(wǎng)絡(luò)的輸出誤差函數(shù)評(píng)價(jià),即式(8):
式(8)中,Yi(t)和 Pi(t)分別是第 t個(gè)輸入模式中第 i個(gè)節(jié)點(diǎn)的實(shí)際輸出和期望輸出,N和h分別為輸入樣本數(shù)目和隱層節(jié)點(diǎn)數(shù)。
4)克隆選擇:新一代抗體群用克隆選擇算子操作產(chǎn)生,依據(jù)變異概率pm對(duì)克隆后的子抗體群進(jìn)行變異操作,針對(duì)抗體中代表中心的矢量c和代表擴(kuò)展常數(shù)的矢量σ分別按式(9)和式(10)進(jìn)行變異;評(píng)價(jià)克隆變異后的子抗體群的親合力進(jìn)行選擇,保留下來(lái)的抗體是親合力最小的,也就是網(wǎng)絡(luò)隱層輸出誤差最小的最優(yōu)值。
第二級(jí)輸出為 ci和 σi。
第三級(jí):在第一級(jí)和第二級(jí)結(jié)構(gòu)得到的參數(shù)子空間Θ1和 Θ2的基礎(chǔ)上,構(gòu)建參數(shù)子空間 Θ3={wi,b},即確定 RBF網(wǎng)絡(luò)輸出層。采用最小二乘法,見矩陣方程式(11):
Gw+b=p (11)
圖3為以上所述RBF網(wǎng)絡(luò)三級(jí)學(xué)習(xí)算法流程圖,其中的停止條件為達(dá)到最大世代數(shù)或達(dá)到要求的誤差標(biāo)準(zhǔn)。
圖3 基于免疫機(jī)制的RBF網(wǎng)絡(luò)三級(jí)學(xué)習(xí)算法流程Fig.3 The three-level RBF network learning algorithm flow chart based on immune system
為檢驗(yàn)算法性能,進(jìn)行Hermit多項(xiàng)式逼近實(shí)驗(yàn),為在實(shí)驗(yàn)中有對(duì)比性,用上節(jié)提出的學(xué)習(xí)方法(以下簡(jiǎn)稱免疫三級(jí)算法)和傳統(tǒng)訓(xùn)練方法中較為常用的梯度算法分別訓(xùn)練RBF網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。Hermit多項(xiàng)式為式(12):
實(shí)驗(yàn)中兩種網(wǎng)絡(luò)學(xué)習(xí)算法的訓(xùn)練、測(cè)試樣本均相同。訓(xùn)練樣本的輸入為區(qū)間[-4,4]內(nèi)的隨機(jī)分布序列,樣本的輸出為 h(xi)+ei(ei∈N(0,1)為服從標(biāo)準(zhǔn)正態(tài)分布的噪聲),訓(xùn)練樣本數(shù)N=100。圖4為目標(biāo)函數(shù)和訓(xùn)練樣本分布圖。
圖4 目標(biāo)函數(shù)和訓(xùn)練樣本Fig.4 The objective function and the training sample
測(cè)試樣本的輸入為區(qū)間[-4,4]內(nèi)的均勻分布序列,輸出則為輸入代入Hermit多項(xiàng)式的對(duì)應(yīng)生成值。測(cè)試樣本數(shù)為NT=101,將梯度算法的隱層節(jié)點(diǎn)數(shù)設(shè)為10,代入訓(xùn)練樣本用兩種算法分別訓(xùn)練RBF網(wǎng)絡(luò)。圖5為兩種方法訓(xùn)練的RBF網(wǎng)絡(luò)分別代入測(cè)試樣本的輸出對(duì)比。
圖5 兩種學(xué)習(xí)算法訓(xùn)練RBF網(wǎng)絡(luò)的測(cè)試輸出Fig.5 Test output of two learning algorithms trained by RBF network
圖6 為兩種RBF網(wǎng)絡(luò)的輸出與實(shí)際輸出的誤差對(duì)比。免疫三級(jí)算法訓(xùn)練最終得到的網(wǎng)絡(luò)測(cè)試誤差為SSE=0.072 7;梯度算法的網(wǎng)絡(luò)測(cè)試誤差則為SSE=0.167 2。
由上可知,經(jīng)免疫三級(jí)算法訓(xùn)練的網(wǎng)絡(luò)較普遍采用的梯度算法訓(xùn)練的網(wǎng)絡(luò)精度更高。同時(shí)梯度算法還需要憑經(jīng)驗(yàn)預(yù)設(shè)網(wǎng)絡(luò)的隱層節(jié)點(diǎn)數(shù)h,經(jīng)驗(yàn)不足設(shè)定偏差會(huì)影響整個(gè)網(wǎng)絡(luò)性能,而免疫三級(jí)算法在自身學(xué)習(xí)過(guò)程中就能夠得到網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)的最優(yōu)解作為疫苗,參數(shù)確定過(guò)程沒(méi)有預(yù)設(shè)因素,因此更加科學(xué)。圖7所示為免疫三級(jí)算法的學(xué)習(xí)過(guò)程。
由圖7(a)可看出免疫三級(jí)算法在第一級(jí)得到的輸出結(jié)果為,說(shuō)明實(shí)驗(yàn)結(jié)果是由9個(gè)位于不同位置且寬度不同的隱層基函數(shù)曲線經(jīng)加權(quán)輸出得到的。算法訓(xùn)練的具體基函數(shù)曲線以及加權(quán)結(jié)果參見圖8。
圖6 兩種學(xué)習(xí)算法訓(xùn)練RBF網(wǎng)絡(luò)的測(cè)試誤差Fig.6 Test error of two learning algorithms trained by RBF network
圖7 免疫三級(jí)算法學(xué)習(xí)過(guò)程Fig.7 The learning process of the three-level immune algorithm
圖8 免疫三級(jí)算法訓(xùn)練RBF網(wǎng)絡(luò)隱層基函數(shù)加權(quán)輸出Fig.8 RBF hidden layer basis functionsweighted output trained by the three-level immune algorithm
本文提出的免疫三級(jí)算法可經(jīng)過(guò)訓(xùn)練得到全局最優(yōu)的RBF網(wǎng)絡(luò)所有參數(shù)空間,將RBF網(wǎng)絡(luò)參數(shù)空間Θ分解為Θ1={h}、Θ2={ci,σi} 和 Θ3={wi,b}3 個(gè)子空間, 采用三級(jí)結(jié)構(gòu)分級(jí)學(xué)習(xí),從而簡(jiǎn)化了參數(shù)空間的尋優(yōu)過(guò)程。在第一級(jí)獲取疫苗,不僅確立了RBF網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),同時(shí)也降低了第二級(jí)結(jié)構(gòu)中搜索空間的復(fù)雜度;第二級(jí)采用先進(jìn)的人工免疫算法進(jìn)行多點(diǎn)搜索,從而找到全局最優(yōu)解;第三級(jí)則采用最小二乘法,簡(jiǎn)便易行,同時(shí)也降低了第二級(jí)結(jié)構(gòu)的維數(shù),提高了算法效率。
由典型的逼近實(shí)驗(yàn)測(cè)試性能可知,免疫三級(jí)算法較常見的梯度算法訓(xùn)練的網(wǎng)絡(luò)測(cè)試精度更高,算法性能更優(yōu)越,因此有非常大的應(yīng)用價(jià)值。
[1]Powell M J.Radial basis function for multivariate interpolation[R].England:Cambridge University,1985.
[2]Hush D R,Horne B G.Progress in supervised neural networks[J].IEEE Signal Progressing Magazine,1993(1):8-39.
[3]Broomhead DS,Lowe D.Multi-variable functional interpolation andadaptivenetworks[J].ComplexSystem,1988,2(2):321-355.
[4]Chen S,Cowan C F N,Grant PM.Orthogonal least squares learning algorithm for radial basis function networks[J].IEEE Transactions on Neural Networks,1991,2(2):302-309.
[5]Moody JE,Darken C J.Fast learning in networks of locallytuned processing units[J].Neural Computation,1989,1(2):281-294.
[6]Karayiannis N B.Reformulated radial basis neural networks trained by gradient descent[J].IEEE Transactions On Neural Networks,1999,10(3):657-671.
[7]焦李成,杜海峰,劉芳,等.免疫優(yōu)化計(jì)算、學(xué)習(xí)與識(shí)別[M].北京:科學(xué)出版社,2006.