摘要:本文利用思維進(jìn)化克隆算法(Mind Evolution Colon Algorithm 以下簡(jiǎn)稱MECA)來(lái)設(shè)計(jì)BP網(wǎng)絡(luò)。該算法將思維進(jìn)化算法和生物克隆機(jī)制結(jié)合,采用實(shí)數(shù)編碼和自適應(yīng)技術(shù),既保留了思維進(jìn)化算法的全局搜索特性,又能在很大程度上避免未成熟收斂。該算法應(yīng)用于訓(xùn)練XOR問(wèn)題,實(shí)驗(yàn)結(jié)果顯示該算法在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)時(shí)優(yōu)于BP算法和GA,網(wǎng)絡(luò)訓(xùn)練的質(zhì)量和效率都有很大提高。
關(guān)鍵詞:MECA 親和性 BP
中圖分類號(hào):TP183 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)10-0139-02
Abstract:This paper designs BP neural network with mind evoluntion clone algorithm (MECA) . The algorithm combines mind evolution algorithm and biology clone mechanism , introduces real number coding and adaptation technology . It not only reserves the entire search character of mind evolution algorithm , but also avoids premature in much degree . We applied it in training XOR problem . The experiment result showed that it was superior to BP and GA in designing neural network . The quality and efficiency of the network training were enhanced greatly .
Key Words:MECA; appetence; BP
1 引言
人工神經(jīng)網(wǎng)絡(luò)是對(duì)生物神經(jīng)系統(tǒng)的模擬,由大量非線性處理單元通過(guò)密集連接而構(gòu)成的一個(gè)并行信息處理系統(tǒng)。其信息處理功能是由網(wǎng)絡(luò)單元的激活特性、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、連接權(quán)值和神經(jīng)元的閾值所決定。神經(jīng)網(wǎng)絡(luò)按其結(jié)構(gòu)可分為前向神經(jīng)網(wǎng)絡(luò)和反饋神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)在拓?fù)浣Y(jié)構(gòu)固定時(shí),其學(xué)習(xí)歸結(jié)為連接權(quán)的變化。事先給定一個(gè)收斂判據(jù),當(dāng)訓(xùn)練誤差小于此值時(shí)學(xué)習(xí)結(jié)束。在前向神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)中,主要有兩種: 一是采用誤差逆?zhèn)鞑ィ‥rror Back-propagation)算法(簡(jiǎn)稱BP算法)。BP算法把網(wǎng)絡(luò)輸出出現(xiàn)的誤差歸結(jié)為各連接權(quán)的“過(guò)錯(cuò)”,通過(guò)把輸出層的誤差逐層向輸入層逆向傳播以“分?jǐn)偂苯o各層單元,從而獲得各層單元的參考誤差以便調(diào)整相應(yīng)的連接權(quán)。這種方法采用逐步增減式的探測(cè)方法獲得網(wǎng)絡(luò)的權(quán)值,本質(zhì)上屬于梯度下降算法,因而不可避免其本身的固有不足:訓(xùn)練時(shí)間過(guò)長(zhǎng)、局部極小點(diǎn)易逃離、誤差函數(shù)必須可導(dǎo)、不一定收斂、訓(xùn)練結(jié)果依賴于探測(cè)過(guò)程等。
為了避免BP算法存在的缺陷,可用遺傳算法GA來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò)。GA采用全局隨機(jī)搜索方法,能在復(fù)雜的、不可導(dǎo)的向量空間中快速收斂,在這點(diǎn)上它優(yōu)于BP算法。但GA仍然存在許多不足:(1)初始群體是隨機(jī)生成的,算法在解群分布不均勻時(shí)易于出現(xiàn)未成熟收斂,陷入局部極優(yōu);(2)采用二進(jìn)制編碼,當(dāng)神經(jīng)網(wǎng)絡(luò)的規(guī)模稍大時(shí),染色體的長(zhǎng)度就可能很長(zhǎng),從而影響GA訓(xùn)練的精度和效率;(3)當(dāng)GA快速收斂到最優(yōu)解時(shí),無(wú)法精確確定最優(yōu)解的位置,微調(diào)能力較差,會(huì)引起網(wǎng)絡(luò)的局部振蕩。
本文采用MECA來(lái)設(shè)計(jì)BP網(wǎng)絡(luò),避免了BP算法和GA訓(xùn)練網(wǎng)絡(luò)時(shí)的不足。第二節(jié)描述了MECA,第三節(jié)根據(jù)BP網(wǎng)絡(luò)的特點(diǎn),與MECA相結(jié)合構(gòu)造了抗體—抗體、抗體—抗原的親和性函數(shù)。最后用XOR問(wèn)題測(cè)試該算法并與BP算法和GA相比較,實(shí)驗(yàn)結(jié)果顯示該算法在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)時(shí)優(yōu)于BP算法和GA,網(wǎng)絡(luò)訓(xùn)練的質(zhì)量和效率都有很大提高。
2 MECA
MECA由圖1所示的6個(gè)階段主要組成??乖⒖贵w、抗原和抗體之間的親和性對(duì)應(yīng)于優(yōu)化問(wèn)題的目標(biāo)函數(shù)、優(yōu)化解、解與目標(biāo)函數(shù)的匹配程度。圖1中Gen代表克隆選擇算法(迭代)的代次。根據(jù)優(yōu)化問(wèn)題,設(shè)定目標(biāo)函數(shù)和各種約束作為算法的抗原,采用隨機(jī)的方法產(chǎn)生抗體, 從包含最優(yōu)解的數(shù)據(jù)庫(kù)中隨機(jī)選擇產(chǎn)生M個(gè)初始抗體;計(jì)算抗原和抗體之間的親和力函數(shù)值。按抗體-抗原親和力函數(shù)值對(duì)M個(gè)個(gè)體從大到小排序,對(duì)每個(gè)親和力最高的個(gè)體,以其為中心半徑點(diǎn),在一定的半徑個(gè)體中隨機(jī)選擇k-1個(gè)個(gè)體,形成一個(gè)子群體(子群體大小為k)。同時(shí)對(duì)N個(gè)親和力函數(shù)最高的個(gè)體進(jìn)行相同的操作,產(chǎn)生N個(gè)子群體。之后進(jìn)行克隆變異、克隆重組和克隆選擇操作。如此重復(fù)迭代,直至滿足終止條件。
3 神經(jīng)網(wǎng)絡(luò)親和性函數(shù)的構(gòu)造
在設(shè)計(jì)BP網(wǎng)絡(luò)時(shí),假設(shè)其輸入Xi (包括輸入節(jié)點(diǎn)數(shù)及輸入值)和輸出Oj (包括輸出節(jié)點(diǎn)數(shù)及輸出值)是已知的,三層BP網(wǎng)絡(luò)如圖2所示。
Xi(i=0,1,2……n)為網(wǎng)絡(luò)輸入,Oj(j=0,1,2……m)為網(wǎng)絡(luò)輸出。輸入層與隱層之間的輸出權(quán)值為Wij,隱層與輸出層之間的權(quán)值為Vij。神經(jīng)元的隱層節(jié)點(diǎn)i的輸出表達(dá)式為
其中 一般為,a,b,d為常數(shù),其飽和值為a和a+b。首先從樣本集中取一個(gè)樣本(Xk,Ok),將Xk輸入網(wǎng)絡(luò),計(jì)算相應(yīng)得實(shí)際輸出Ok理想輸出Yk的差,則網(wǎng)絡(luò)中關(guān)于第k個(gè)樣本的誤差測(cè)度:
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程實(shí)質(zhì)上是在權(quán)值空間中搜索最優(yōu)權(quán)值集合的過(guò)程,采用實(shí)數(shù)編碼將神經(jīng)網(wǎng)絡(luò)的各個(gè)權(quán)值按一定的順序級(jí)聯(lián)為一個(gè)長(zhǎng)串,則表達(dá)式為圖3所示。
串中每一個(gè)基因代表了某一特定的連接權(quán)值和閾值,形式vij的基因表示隱層Hi節(jié)點(diǎn)到輸出節(jié)點(diǎn)Oi的連接權(quán)值,oi和hi表示神經(jīng)元的偏置閾值;形式wij的基因表示輸入層X(jué)i節(jié)點(diǎn)到隱層Hj節(jié)點(diǎn)連接權(quán)值。這樣網(wǎng)絡(luò)與抗體就構(gòu)成了一個(gè)一一映射,而包含多個(gè)抗體的群體就對(duì)應(yīng)著多個(gè)網(wǎng)絡(luò)。
為了評(píng)價(jià)抗體群中各抗體的質(zhì)量,必須建立抗體-抗體,抗體-抗原的親和性函數(shù)。對(duì)神經(jīng)網(wǎng)絡(luò)來(lái)使用網(wǎng)絡(luò)實(shí)際輸出與期望值之間的均方誤差來(lái)構(gòu)造抗體-抗原親和性函數(shù):
其中yj為輸入第j個(gè)訓(xùn)練樣本的期望值,oj為相應(yīng)得輸出值,n為訓(xùn)練集合的大小??贵w-抗體的親和性函數(shù)用Manhattan距離計(jì)算:
MECA算法就是要在該初始抗體群中通過(guò)各種操作算子,訓(xùn)練出網(wǎng)絡(luò)誤差測(cè)度最小的個(gè)體。隨著訓(xùn)練的進(jìn)行,網(wǎng)絡(luò)輸出誤差逐漸減少,當(dāng)誤差小于某一預(yù)定閾值時(shí),訓(xùn)練結(jié)束。這時(shí)解群中親和性最好的抗體即為網(wǎng)絡(luò)訓(xùn)練的最終結(jié)果。
MECA選擇算法的訓(xùn)練步驟如下:
步驟1:抗原識(shí)別。確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),輸入層、隱層以及輸出層節(jié)點(diǎn)數(shù);步驟2:產(chǎn)生初始抗體。采用區(qū)間[-1,1]中的均勻分布產(chǎn)生初始權(quán)值,并按上節(jié)所述方法進(jìn)行編碼;步驟3:計(jì)算親和力。分別計(jì)算抗原-抗體及抗體-抗體之間的親和力;步驟4:構(gòu)建子群體。選出N個(gè)親和力最高的個(gè)體,并排序。對(duì)每個(gè)親和力最高的個(gè)體,在剩余的個(gè)體中隨機(jī)選擇k-1個(gè)個(gè)體,形成一個(gè)子群體(子群體大小為k)。依次對(duì)N個(gè)親和力最高的個(gè)體進(jìn)行相同的操作,產(chǎn)生N個(gè)子群體;步驟5:重新計(jì)算各子群體中各個(gè)體親和力;步驟6:根據(jù)克隆算子,用克隆、克隆變異、克隆重組以及克隆選擇下產(chǎn)生新群體;步驟7:終止條件。重復(fù)執(zhí)行步驟5至步驟6,直到終止條件(收斂判據(jù)) 滿足為止。終止條件滿足后,優(yōu)化過(guò)程結(jié)束,選擇最佳個(gè)體作為算法得結(jié)果。在本文中,采用了限定迭代次數(shù)以及在連續(xù)幾次(如n次) 迭代中的最好解都無(wú)法改善則停止計(jì)算的混合形式的終止條件。
4 實(shí)驗(yàn)與結(jié)論
筆者用XOR問(wèn)題對(duì)BP算法、GA和MECA的性能進(jìn)行測(cè)試。 XOR問(wèn)題被廣泛應(yīng)用于評(píng)價(jià)一個(gè)前饋網(wǎng)絡(luò)的優(yōu)劣,其本質(zhì)就是映射問(wèn)題:(0,0) →0,(1,0) →1,(0,1) →1,(1,1)→0,用一個(gè)2—2—1 的神經(jīng)網(wǎng)絡(luò)來(lái)模擬它。對(duì)XOR問(wèn)題網(wǎng)絡(luò)進(jìn)行權(quán)值訓(xùn)練時(shí),輸入層2個(gè)節(jié)點(diǎn),隱層2個(gè)節(jié)點(diǎn),輸出層1個(gè)節(jié)點(diǎn)。規(guī)定網(wǎng)絡(luò)誤差e≤0.001時(shí)算法收斂。重復(fù)運(yùn)行了100次,每次迭代300代后,試驗(yàn)結(jié)果顯示三種算法都達(dá)到收斂。實(shí)驗(yàn)結(jié)果如表1所示。
由表1可知,用MECA算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),收斂速度和質(zhì)量明顯優(yōu)于BP和GA算法,收斂速度和精度又進(jìn)一步提高,由于MECA算法采用抗體—抗體濃度調(diào)整機(jī)制,在一定程度提高了算法的自適應(yīng)的局部尋優(yōu)能力。
參考文獻(xiàn)
[1]李孝安,張曉繢.神經(jīng)網(wǎng)絡(luò)與神經(jīng)計(jì)算機(jī)導(dǎo)論[M].西北工業(yè)大學(xué)出版社,1995.
[2]靳蕃.神經(jīng)計(jì)算智能基礎(chǔ)[M].成都:西南交通大學(xué)出版社,2001.
[3]張立明.人工神經(jīng)網(wǎng)絡(luò)的模型及其應(yīng)用[M].上海:復(fù)旦大學(xué)出版社,1993.
[4]蔡自興,徐佑元.人工智能及其應(yīng)用[M].清華大學(xué)出版社,1996.
[5]石純一,黃昌寧.人工智能原理[M].清華大學(xué)出版社,1993.
[6]莫宏偉.人工免疫系統(tǒng)原理與應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002.
[7]莫宏偉,王科俊,金鴻章.計(jì)算智能的融合應(yīng)用研究[J].自動(dòng)化技術(shù)及應(yīng),2002(1):12-16.
[8]宮新保,周希朗.基于免疫聚類和遺傳算法的RBF網(wǎng)絡(luò)設(shè)計(jì)方法[J].應(yīng)用科學(xué)學(xué)報(bào),2004(01):81-84.
收稿日期:2016-09-09
作者簡(jiǎn)介:李曉敏(1983—),女,山西大同人,碩士研究生,畢業(yè)于華北電力大學(xué)(北京),講師,研究方向:科研與教學(xué)工作。