印煜民,廖柏林
(吉首大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖南 吉首 416000)
反向傳播訓(xùn)練神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,已廣泛應(yīng)用于現(xiàn)實(shí)生活中[1].然而這種傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法存在固有缺陷,需要設(shè)置大量的網(wǎng)絡(luò)訓(xùn)練參數(shù),且在迭代中收斂較慢[2].2004年,黃廣斌等設(shè)計(jì)了一種名為極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)的單隱層前饋神經(jīng)網(wǎng)絡(luò)(Single-Hidden Layer Feed Forward Neural Network,SLFN)[3].
ELM在參數(shù)確定過程中無需任何迭代步驟,從而大大縮短了網(wǎng)絡(luò)參數(shù)調(diào)整時(shí)間[4-8].與傳統(tǒng)的訓(xùn)練方法相比,ELM具有學(xué)習(xí)速度快、泛化性能好的優(yōu)點(diǎn)[9-10],可以有效地應(yīng)用于模式分類[11-14].值得指出的是,在確定參數(shù)時(shí),所有ELM和類ELM神經(jīng)網(wǎng)絡(luò)模型都是隨機(jī)生成輸入層權(quán)值,然后計(jì)算輸出層權(quán)值[15].為了設(shè)計(jì)一種分類準(zhǔn)確率更高、網(wǎng)絡(luò)結(jié)構(gòu)更簡單的類ELM網(wǎng)絡(luò)模型,筆者擬提出一種新的權(quán)值確定方法,即交換輸入權(quán)值和輸出權(quán)值的確定順序,并結(jié)合仿生算法進(jìn)一步優(yōu)化該方法的權(quán)值選擇.
如圖1所示,ELM神經(jīng)網(wǎng)絡(luò)由3層組成,具有較簡單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).其輸入層和輸出層分別有J和K個(gè)神經(jīng)元,采用簡單的線性激活函數(shù);隱層有M個(gè)神經(jīng)元,這些神經(jīng)元被單調(diào)的非線性激活函數(shù)f(·)激活.連接第m個(gè)隱層神經(jīng)元和第k個(gè)輸出層神經(jīng)元的權(quán)值用bmk(m=1,2,…,M;k=1,2,…,K)表示,輸出權(quán)值bmk在(c1,c2)范圍內(nèi)隨機(jī)生成;連接第j個(gè)輸入層神經(jīng)元和第m個(gè)隱層神經(jīng)元的權(quán)值用ajm(j=1,2,…,J;m=1,2,…,M)表示,輸入權(quán)值ajm由偽逆方法確定.在(c3,c4)范圍內(nèi)隨機(jī)生成第m個(gè)隱層神經(jīng)元的偏置hm,并將輸入層和輸出層中的偏移值設(shè)置為0,于是得到某個(gè)神經(jīng)元的輸出結(jié)果:
圖1 極限學(xué)習(xí)機(jī)神經(jīng)網(wǎng)絡(luò)模型
(1)
其中xj表示第j個(gè)輸入層神經(jīng)元的輸入.(1)式可以簡寫成
y=Bf(Ax-h).
(2)
其中:y=(y1,y2,…,yK)T∈RK×l;x=(x1,x2,…,xJ)T∈RJ×l;h=(h1,h2,…,hM)T∈RM×l;輸出層權(quán)值矩陣B與輸入層權(quán)值矩陣A分別定義為
本研究中改進(jìn)的ELM的權(quán)值確定方式與傳統(tǒng)的ELM權(quán)值確定方式互為鏡像,即隨機(jī)生成輸出權(quán)值,隨后通過偽逆計(jì)算的方式獲得輸入層權(quán)值,因此將改進(jìn)的ELM稱為鏡像ELM(Mirror Extreme Learning Machine,MELM).
將實(shí)驗(yàn)樣本數(shù)設(shè)置為N,可得(2)式矩陣形式的輸出,
Y=Bf(AX-H).
(3)
其中:Y=(y1,y2,…,yN)T∈RK×N;X=(x1,x2,…,xN)T∈RJ×N;H表示隱層神經(jīng)元的矩陣形式偏移量,H=(h,h,…,h)T∈RM×N.
定理1假設(shè)激活函數(shù)f(·)是嚴(yán)格單調(diào)的.當(dāng)分別從[c1,c2]和[c3,c4]中選擇輸出權(quán)值B和偏差H時(shí),最佳輸入權(quán)值A(chǔ)=(f-1(B+Y)+H)X+,其中f-1(·)表示f(·)唯一的逆函數(shù),B+和X+分別表示矩陣B和X的偽逆矩陣.
證明(3)式兩邊同乘以B+,得到
B+Y=B+Bf(AX-H)=f(AX-H).
(4)
求解(4)式的反函數(shù),得到f-1(B+Y)=AX-H,將其繼續(xù)改寫為
AX=f-1(B+Y)+H.
(5)
在(5)式兩側(cè)右乘X+,得到AXX+=(f-1(B+Y)+H)X+,即A=(f-1(B+Y)+H)X+.證畢.
天牛須搜索(Beetle Antennae Search,BAS)算法[16]是一種高效的智能優(yōu)化算法.天牛須搜索算法的生物原理為:天牛覓食時(shí)不知道食物的位置,但它會(huì)根據(jù)食物的氣味強(qiáng)弱搜尋其位置.天牛有2只長觸須,如果左側(cè)觸須接收到的氣味強(qiáng)度比右側(cè)強(qiáng),那么天牛飛向左側(cè),否則就飛向右側(cè).根據(jù)這一簡單原理,天??梢杂行У厮褜さ绞澄?
為了便于說明,天牛在時(shí)間t(t=0,1,2…)的質(zhì)心位置用向量pt表示,位置p處的氣味濃度用f(p)表示,f(p)稱為適應(yīng)度函數(shù).適應(yīng)度函數(shù)的最大值對(duì)應(yīng)于氣味的源點(diǎn).觀察天牛的行為發(fā)現(xiàn),天牛用觸須搜尋食物氣味時(shí),主要有2種行為方式,即搜索和探測(cè).搜索行為即天牛用觸須尋找氣味時(shí),它們會(huì)隨機(jī)搜索未知的環(huán)境.在現(xiàn)實(shí)生活中,天牛存在于三維空間,筆者為了使BAS算法有效地應(yīng)用于任何維度的函數(shù),在該算法中設(shè)計(jì)了一個(gè)隨機(jī)的天牛搜索方向,以模擬天牛的搜索行為:
其中ran(·)表示一個(gè)隨機(jī)函數(shù),h表示空間的維數(shù).由于天牛在尋找氣味時(shí)頭部的方向是任意的,因此天牛從右觸須到左觸須的方向也是任意的.為了簡化天牛模型,在BAS算法中將天牛的質(zhì)心坐標(biāo)設(shè)置為p,左觸須和右觸須的坐標(biāo)分別用pl和pr表示.這樣,天牛的運(yùn)動(dòng)過程可以模擬為
(6)
其中d是天牛左右觸須之間的長度.該長度應(yīng)足夠長,以避免在優(yōu)化過程開始時(shí)落入局部最優(yōu)值,其值會(huì)隨時(shí)間逐漸減小.為了描述天牛的探測(cè)行為,結(jié)合天牛搜索行為模型(6)給出如下公式:
pt=pt-1+αtbsign(f(pr)-f(pl)).
(7)
其中:α是搜索的步長,初始步長可以盡可能大,最好等于自變量的最大長度;sign(·)表示符號(hào)函數(shù);f(pr),f(pl)分別表示位置pr,pl處的氣味強(qiáng)度.利用搜索參數(shù),即觸須長度d和步長α,為算法設(shè)計(jì)提供更新規(guī)則,更新規(guī)則示例如下:
dt=ηdt-1+0.01,αt=ηαt-1,
其中η在0和1之間接近1,通常η設(shè)置為0.95.
類ELM的泛化性能在很大程度上取決于其參數(shù)的選擇.因此,筆者采用BAS算法來尋找MELM神經(jīng)網(wǎng)絡(luò)的最佳初始權(quán)值,并將其應(yīng)用于MELM神經(jīng)網(wǎng)絡(luò),以獲得更優(yōu)的MELM預(yù)測(cè)模型,從而構(gòu)建最終的BAS-MELM訓(xùn)練模型.
建模步驟如下:
(ⅰ)構(gòu)建BAS算法所需的方向向量.定義空間維度為w,將模型結(jié)構(gòu)設(shè)置為U-V-1,U為輸入層神經(jīng)元數(shù),V為隱層神經(jīng)元數(shù),輸出層神經(jīng)元數(shù)為1,于是搜索空間維數(shù)w=U×V+V×1+V+1.
(ⅱ)設(shè)置階躍系數(shù)δ.階躍因子δ用于控制天牛觸須的區(qū)域搜索能力.初始步長應(yīng)盡可能大,以覆蓋當(dāng)前搜索區(qū)域,而不會(huì)陷入局部極小值.本研究采用線性遞減權(quán)值策略來確保搜索的精細(xì)化,即δt+1=δtη.
(ⅲ)選擇均方根誤差(Root Mean Squared Error,RMSE,用R表示)作為BAS算法的適應(yīng)度評(píng)價(jià)函數(shù),以促進(jìn)空間區(qū)域的搜索,
(8)
(ⅳ)BAS算法初始化.初始參數(shù)隨機(jī)生成,作為BAS算法的初始解集,即天牛觸須的初始位置,保存在bestP中.
(ⅴ)評(píng)估.根據(jù)(8)式計(jì)算初始位置的適應(yīng)度值,并將其存儲(chǔ)在bestQ中.
(ⅵ)天牛觸須位置更新.根據(jù)(6)式更新天牛左右觸須在空間中的位置坐標(biāo).
(ⅶ)適應(yīng)度函數(shù)更新.根據(jù)BAS算法中天牛觸須兩側(cè)的位置,求出該位置的適應(yīng)度函數(shù)值f(pr)和f(pl).比較強(qiáng)度,根據(jù)(7)式更新天牛的位置,調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)值,然后計(jì)算當(dāng)前位置的適應(yīng)度函數(shù).若此時(shí)的適應(yīng)度函數(shù)值優(yōu)于bestQ,則更新bestQ和bestP.
(ⅷ)迭代停止控制.確定是否達(dá)到迭代次數(shù),若達(dá)到,則轉(zhuǎn)至步驟(ⅸ);否則,返回步驟(ⅵ)繼續(xù)迭代.
(ⅸ)獲得最佳權(quán)值.當(dāng)算法停止迭代時(shí),bestP中的解就是訓(xùn)練的最優(yōu)解,即MELM神經(jīng)網(wǎng)絡(luò)的最優(yōu)初始權(quán)值.
采用公開的標(biāo)準(zhǔn)數(shù)據(jù)集Zoo評(píng)估MELM的性能.該數(shù)據(jù)集提供了100組數(shù)據(jù),屬性和類的個(gè)數(shù)分別為16和7.訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),隨機(jī)抽取50組數(shù)據(jù),其余數(shù)據(jù)用于測(cè)試神經(jīng)網(wǎng)絡(luò),實(shí)驗(yàn)結(jié)果如圖2和圖3所示.
圖2 Zoo數(shù)據(jù)集的訓(xùn)練結(jié)果
圖3 Zoo數(shù)據(jù)集的測(cè)試結(jié)果
由圖2和圖3可見,MELM可以在訓(xùn)練和測(cè)試中很好地執(zhí)行分類任務(wù),測(cè)試和訓(xùn)練的最佳分類準(zhǔn)確率分別為92.15%和88%.此外,通過實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)隱含層神經(jīng)元數(shù)量較小時(shí),MELM的泛化性能就已達(dá)到穩(wěn)定.具體來說,當(dāng)隱層神經(jīng)元數(shù)為2個(gè)左右時(shí),分類準(zhǔn)確度就達(dá)到最優(yōu)并保持穩(wěn)定.
筆者對(duì)比了MELM與其他神經(jīng)網(wǎng)絡(luò)(包括SOCPNN-W,MOCPNN-W,MLP-ELM,MLP-LM,RBFNN和SVM)[17]在達(dá)到最優(yōu)分類時(shí)的隱層神經(jīng)元數(shù)量,結(jié)果見表1.
表1 隱層神經(jīng)元數(shù)量
從表1可知,與其他幾種神經(jīng)網(wǎng)絡(luò)相比,在達(dá)到最優(yōu)分類時(shí),MELM所需的隱含層神經(jīng)元數(shù)量最少,即MELM的結(jié)構(gòu)最簡單.這說明MELM的計(jì)算復(fù)雜度低于其他神經(jīng)網(wǎng)絡(luò).MELM的隱層神經(jīng)元數(shù)量將直接應(yīng)用于后續(xù)BAS-MELM的模式分類實(shí)驗(yàn)中.
采用UCI機(jī)器學(xué)習(xí)庫中的典型現(xiàn)實(shí)世界分類數(shù)據(jù)集對(duì)MELM的性能進(jìn)行評(píng)估,其特征見表2.在實(shí)驗(yàn)期間隨機(jī)選擇50%的數(shù)據(jù)集進(jìn)行訓(xùn)練,其余的數(shù)據(jù)集用于測(cè)試.為了簡單而又不失一般性,將隱層神經(jīng)元的偏差B設(shè)置為0.此外,選用arctan函數(shù)作為神經(jīng)網(wǎng)絡(luò)的激活函數(shù).
表2 實(shí)驗(yàn)數(shù)據(jù)特征
利用表2中的6組數(shù)據(jù)來訓(xùn)練和測(cè)試BAS-MELM神經(jīng)網(wǎng)絡(luò)的模式分類,并比較BAS-MELM與其他神經(jīng)網(wǎng)絡(luò)(包括SOCPNN-W,MOCPNN-W,MLP-ELM,MLP-LM,RBFNN和SVM)[17]的性能.對(duì)所有算法進(jìn)行100次試驗(yàn)以避免初始參數(shù)設(shè)置過程中隨機(jī)性產(chǎn)生的影響,并采用平均排序方法[18](即數(shù)字越小,泛化性能越好)對(duì)7個(gè)神經(jīng)網(wǎng)絡(luò)的泛化性能進(jìn)行綜合排序,結(jié)果見表3.
表3 測(cè)試集的平均分類準(zhǔn)確度比較
從表3可知:對(duì)大多數(shù)數(shù)據(jù)集的測(cè)試集進(jìn)行分類時(shí),BAS-MELM都達(dá)到最高或第二高的平均分類準(zhǔn)確度,即使對(duì)于某類數(shù)據(jù)的分類準(zhǔn)確度不是最優(yōu)結(jié)果,BAS-MELM的分類結(jié)果與最優(yōu)結(jié)果之間的差距也很??;BAS-MELM的平均排名為2.17(最小值),這說明BAS-MELM在7個(gè)神經(jīng)網(wǎng)絡(luò)中所有數(shù)據(jù)集的模式分類中表現(xiàn)最好,驗(yàn)證了BAS-MELM在模式分類中的有效性和優(yōu)越性.
筆者設(shè)計(jì)了一種改進(jìn)的ELM,即MELM,它可以有效地應(yīng)用于模式分類中.MELM的參數(shù)確定過程中,輸出權(quán)值隨機(jī)給出,并通過偽逆方法獲得輸入權(quán)值.MELM完成了ELM神經(jīng)網(wǎng)絡(luò)的逆向推導(dǎo).筆者結(jié)合MELM,采用BAS仿生算法進(jìn)一步優(yōu)化了神經(jīng)網(wǎng)絡(luò)權(quán)值的選擇.實(shí)驗(yàn)結(jié)果表明,與其他神經(jīng)網(wǎng)絡(luò)相比,BAS-MELM在進(jìn)行模式分類時(shí)可達(dá)到更高的分類準(zhǔn)確度,且隱層神經(jīng)元數(shù)量最少.基于真實(shí)分類數(shù)據(jù)集的大量實(shí)驗(yàn)結(jié)果表明,與其他神經(jīng)網(wǎng)絡(luò)相比,BAS-MELM表現(xiàn)出其神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的簡單性和有效性,以及在模式分類實(shí)驗(yàn)中具有良好的泛化性能.