曹 林,王之騰,陳 亮,,李洪順,高 申,張自立
1.解放軍陸軍工程大學,南京210007
2.軍事交通學院 汽車士官學校,安徽 蚌埠233011
3.中國人民解放軍31697部隊
4.中國人民解放軍65370部隊
單個神經(jīng)網(wǎng)絡往往都有魯棒性差和泛化能力弱的缺陷,多網(wǎng)絡集成可以克服缺陷,逼近完美。1990 年,Hansen和Salamon提出通過訓練多個神經(jīng)網(wǎng)絡,并將其結論進行簡單合成,就能明顯提高神經(jīng)網(wǎng)絡模型的泛化能力[1]。由于神經(jīng)網(wǎng)絡集成操作簡單,效果明顯,在分類[2]、識別[3-5]、預測[6-10]、診斷[11-12]、評估[13-14]等很多領域得到成功應用。隨著神經(jīng)網(wǎng)絡集成的廣泛應用,對集成性能的要求也越來越高。目前主要有三個改進性能的方向:一是采用選擇方法構建高格群體;二是建立多層集成結構;三是改進集成結論生成方法。其中,改進集成結論生成方法是相對有效且容易實現(xiàn)的方法。
線性組合是最直接最易使用的結論生成方法,但在實際問題中,神經(jīng)網(wǎng)絡集成中的個體網(wǎng)絡可能存在“共線性”“過擬合”等問題,常用的線性組合方法很難求得合適的組合權值[14]。神經(jīng)網(wǎng)絡集成結論生成方法研究的目的就是尋找合適的權值,降低風險泛函,提高神經(jīng)網(wǎng)絡集成的泛化能力。一些學者將貪心算法、粒子群算法、遺傳算法等智能優(yōu)化算法引入神經(jīng)網(wǎng)絡集成,取得了不錯的效果[15-21]。但在算法迭代過程中,隨著種群多樣性降低,經(jīng)常出現(xiàn)“早熟”現(xiàn)象,以致得不到最優(yōu)的組合權值。
量子免疫算法(Quantum Immune Algorithm,QIA)是基于群體智能的優(yōu)化計算技術。其基本流程是:首先初始化得到一個隨機種群,然后通過免疫克隆和量子旋轉更新種群,以個體適應度為進化目標,最終得到全局最優(yōu)解。每一次種群更新,算法通過追蹤最優(yōu)抗體完成自我更新,最后一代種群的最優(yōu)抗體即是整個種群目前找到的全局最優(yōu)解。量子免疫算法是量子遺傳算法和免疫算法相結合的產(chǎn)物,因其較優(yōu)的收斂性能受到國內(nèi)外很多學者的廣泛關注[22-26]。但是,仿真實驗結果表明,量子免疫算法在神經(jīng)網(wǎng)絡集成結論的權值優(yōu)化時存在精英損失和過早收斂的問題,因此,本文采用精英策略和反轉策略,改進量子免疫算法,進一步提高算法的收斂效率和全局尋優(yōu)能力。
改進量子免疫算法(Improved Quantum Immune Algorithm,IQIA)的核心思想是將精英策略和反轉策略引入量子免疫算法。精英策略可保留優(yōu)秀抗體,有效提高算法的尋優(yōu)效率;反轉策略可增加個體多樣性,防止出現(xiàn)“早熟”現(xiàn)象,有利于提高算法的全局搜索能力。
精英策略是在免疫選擇過程中選取最優(yōu)的個體組合,儲存到抗體精英庫中,并在交叉變異和反轉操作后,進一步更新抗體精英庫,在下次迭代時,將精英庫中的抗體直接添加到新一代種群中。精英策略因抗體精英庫容量s 的不同,可分為靜態(tài)策略和動態(tài)策略,靜態(tài)策略時s 為常量,動態(tài)策略時s 為變量。依據(jù)s 的調(diào)整方式,動態(tài)策略又可細分為線性遞增、線性遞減、非線性遞增和非線性遞減四種情況。為方便研究,在不影響結論的情況下,非線性遞增以正弦函數(shù)為例,非線性遞減以余弦函數(shù)為例。精英庫容量可由下式計算:

其中,s0為精英庫容量初始值,k 為精英庫容量調(diào)整速率,t 為迭代次數(shù),T 為最大迭代次數(shù),表示向上取整。為確保精英庫容量有效,當s ≤0 時,令s=1。
如果將5個子策略稱為純策略,那么將純策略混合使用就是混合策略。混合策略的基本思想是為每個子策略分配一定的比例,共同完成精英群體的保留操作。混合策略最佳分配比例的計算如圖1所示,設初始比例n 次迭代后各子策略所得最優(yōu)個體的適應度為可根據(jù)式(2)調(diào)整分配比例,適應度較大的子策略增加分配比例,適應度較小的子策略減小分配比例,得到

其中,i 表示分配比例調(diào)整次數(shù),j 表示純策略序號。然后再進行n 次迭代,再次調(diào)整分配比例,直到比例不再變化,最終得到就是混合策略的最佳分配比例。n 一般取值5~10,m 表示分配比例調(diào)整最大次數(shù)。

圖1 混合策略最佳比例計算示意圖
反轉策略的核心思想是最差的反面可能最好,具體操作是在免疫選擇過程中選擇親和度最差的個體組合,反轉生成可能的優(yōu)秀群體。反轉策略分位置反轉和大小反轉兩類,而每一類又有整體反轉和局部反轉兩種方式。如圖2所示,依據(jù)位置整體反轉是指第一位置和最末位置的基因位數(shù)值對調(diào),第二位置與倒數(shù)第二位置的基因位數(shù)值對調(diào),以此類推,直至完全反轉;依據(jù)位置局部反轉只對部分位置的基因位數(shù)值對調(diào),比如只對調(diào)首末位置的數(shù)值。如圖3所示,依據(jù)大小整體反轉是指基因位數(shù)值最大和最小的對調(diào),次大和次小的對調(diào),直至完全反轉;依據(jù)大小局部反轉只對部分基因位數(shù)值對調(diào),比如只對調(diào)最大數(shù)值和最小數(shù)值。

圖2 依據(jù)位置整體反轉

圖3 依據(jù)大小整體反轉
改進量子免疫算法的基本流程如圖4所示,與量子免疫算法的主要區(qū)別有二:一是由于精英策略的影響,使得算法結構由單循環(huán)結構轉變?yōu)椴⑿须p循環(huán)結構,增加了精英策略向新一代種群添加精英個體的循環(huán)操作,即在免疫選擇時增加精英保留,根據(jù)適應度進行精英更新,在不滿足終止條件時,則將精英個體添加到新一代種群中;二是在主體結構中增加了最差個體反轉的關鍵環(huán)節(jié)。

圖4 量子免疫算法的基本流程
改進量子免疫算法的具體步驟如下:
步驟1 初始化種群。
步驟2 計算親和度。
對種群個體進行測量:隨機產(chǎn)生0到1之間的數(shù),若大于概率幅的平方,測量結果取1,否則取0。于是,得到一組確定的解為種群中第i 個體的測量值,形式為長度為I 的二進制數(shù)。然后根據(jù)約束條件轉換為十進制形式的種群1,2,…,I;j=1,2,…,J)。假設其他參數(shù)均為已知,根據(jù)適應度函數(shù)f(w)求出抗體的親和度[22]。
步驟3 計算抗體濃度和繁殖概率。
抗體濃度是與抗體i 相似度大于φ 的抗體在種群中所占的數(shù)量比例,可由下式計算:

其中,con(i)表示第i 個抗體的濃度,n 表示與抗體i 相似度大于φ 的抗體數(shù),N 為抗體總數(shù)。φ 為相似度常數(shù),取值范圍為[0,1],通過比較抗體基因位獲取相同基因位數(shù)與染色體基因總數(shù)比較所得,φ 越大則兩條抗體越相似[26]。
第i 個抗體的繁殖概率為:

其中,a 為相似度系數(shù),取值范圍一般為[0.1,0.9],pf為親和度概率,pd為濃度概率。

步驟4 免疫選擇。
首先選取親和度最大的s 個抗體,直接保存在抗體精英庫中;然后選取親和度最小的v 個抗體,反轉生成可能優(yōu)秀的抗體;最后根據(jù)繁殖概率對剩余抗體進行克隆,優(yōu)先繁殖概率大的抗體,抑制濃度過高的抗體,淘汰親和力過低的抗體。
步驟5 交叉變異。
根據(jù)交叉概率pc 選取若干個體進行交叉組合,生成新的個體。根據(jù)變異概率pm 選取若干個體進行變異操作,將其量子比特位隨機重新排序。
步驟6 抗體精英更新。
計算反轉、交叉和變異得到新生抗體的親和度,以更優(yōu)抗體更新抗體精英庫。
步驟7 終止判斷。
若達到最大迭代次數(shù)則停止迭代并輸出結果,否則采用量子旋轉門更新種群,并將精英庫中抗體添加到新種群中繼續(xù)進行迭代計算。
步驟8 量子旋轉更新種群[27]。
使用量子旋轉門更新種群的具體步驟如下:
假設第t 代種群第i 個個體為:


其中,θj為旋轉角,其大小和方向的調(diào)整策略見表1[22]。
線性組合是神經(jīng)網(wǎng)絡集成結論生成的常用方法,其權值分配是典型的組合優(yōu)化問題。假設在輸入x 下的目標輸出為y,輸入輸出之間存在函數(shù)關系g。給定數(shù)據(jù)集D(xi,yi)(i=1,2,…,N),獨立訓練出Q 個神經(jīng)網(wǎng)絡,構成集合H={hq}(q=1,2,…,Q),H 中的每個元素hq都是函數(shù)g 的一個近似[14]。權值優(yōu)化的目的是提高神經(jīng)網(wǎng)絡集成的泛化能力,即降低集成的泛化誤差。泛化誤差反映了神經(jīng)網(wǎng)絡集成的泛化能力,如果一個集成具有更小的泛化誤差,這個集成就更優(yōu)。事實上泛化誤差就是集成優(yōu)化的期望風險,神經(jīng)網(wǎng)絡集成在給定數(shù)據(jù)集上的均方誤差可以作為其泛化誤差的一個估計。因此,依據(jù)神經(jīng)網(wǎng)絡集成的泛化誤差最小原則,權值優(yōu)化的目標函數(shù)為泛化誤差的倒數(shù),即:

表1 量子旋轉門更新策略

其中,wq表示第q 個個體網(wǎng)絡的權值,w=[w1,w2,…,wq]表示權值組合。在利用量子免疫算法進行權值優(yōu)化的過程中,為了減輕共線性和噪聲的影響,通常將權值的取值范圍限制在[0,1]之間,并設定權值和為1。
將一個權值組合w 看作一條染色體,每一個權值代表一個基因位。第t 代種群包含的I 條染色體,就是I 個權值組合,即,每條染色體包含的J 個基因位對應組合中的J 個權值,即與(j=1,2,…,J)對應的權值是以權值優(yōu)化的目標函數(shù)max f(w)為適應度函數(shù),于是權值優(yōu)化的過程就轉變?yōu)榱孔用庖咚惴ㄋ阉髯顑?yōu)個體的過程。
為驗證改進量子免疫算法的性能,本文以Bostonhousing 實例[15]進行仿真實驗。Boston-housing 是來自UCI數(shù)據(jù)庫的一個實際問題,共有506組數(shù)據(jù),輸入數(shù)據(jù)13維,為基礎設施、社會環(huán)境等一些預測房價的基本指標,輸出數(shù)據(jù)1維,為該地區(qū)的房價,目的是根據(jù)基本指標預測房價。通過設置不同的隱藏層數(shù)量獨立訓練優(yōu)選出10個BP神經(jīng)網(wǎng)絡,以均方差估計權值優(yōu)化風險泛函,求解最優(yōu)權值分配方案,使得神經(jīng)網(wǎng)絡集成的泛化能力最好。
由式(9)可得適應度函數(shù)如下:

約束條件為:

參數(shù)設置如下:種群規(guī)模I=50 ,最大迭代次數(shù)T=200,量子計算時染色體長度為200,交叉概率pc=0.5,變異概率pm=0.1,免疫計算時抗體長度J=10,相似度常數(shù)φ=0.7,相似度系數(shù)a=0.9,精英庫初始容量s0為5。
3.3.1 精英策略對算法的影響
在[0,0.5]區(qū)間內(nèi)間隔0.05 取值作為抗體精英庫容量占種群數(shù)量的比例,對每個比例分別進行10 次仿真實驗。全局收斂的平均代數(shù)如圖5所示,當精英庫容量占種群比例為10%左右時,算法迭代35 次就能實現(xiàn)全局收斂,其他比例算法實現(xiàn)全局收斂的迭代次數(shù)都有不同程度的增長,充分說明精英庫容量比例設置為10%是合理的,算法可以在較小的迭代次數(shù)后實現(xiàn)全局收斂。

圖5 精英庫容量占種群比例與算法收斂的關系
進一步研究動態(tài)策略對算法的影響,首先考慮線性遞減調(diào)整精英庫容量的情況。令精英庫初始容量s0分別為5、10、15 時,精英庫容量調(diào)整速率k 在[0,1]區(qū)間內(nèi)間隔0.1 取值,對每個速率分別進行10 次仿真實驗。全局收斂的平均代數(shù)如圖6 所示,當精英庫初始容量為10,調(diào)整速率為0.1時,算法能較早實現(xiàn)全局收斂。

圖6 精英庫容量線性遞減速率與算法收斂的關系
混合策略是精英策略的一個特殊子策略,6 個子策略的全局收斂性能如圖7 所示,與純策略相比,混合策略具有更好的全局收斂性能。在只考慮純策略的情況下,非線性遞減策略和線性遞減策略都具有較好的全局收斂性能,非線性遞減策略略優(yōu)于線性遞減策略。

圖7 精英策略6種子策略與算法收斂的關系
3.3.2 反轉策略對算法的影響
將反轉比例在[0,0.1]區(qū)間內(nèi)間隔0.01取值,對每個比例分別進行10次仿真實驗。全局收斂的平均代數(shù)如圖8 所示,當反轉比例為2%時算法最優(yōu)。固定反轉比例為2%,分別依據(jù)大小整體反轉、依據(jù)大小局部反轉、依據(jù)位置整體反轉、依據(jù)位置局部反轉4種情況進行10次仿真實驗,全局收斂的平均代數(shù)依次為5.5、8.3、11.2、15.8。總體來看,大小反轉優(yōu)于位置反轉,整體反轉優(yōu)于局部反轉,因此反轉操作時通常依據(jù)大小整體反轉。

圖8 反轉比例與算法收斂的關系
3.3.3 與其他算法對比分析
使用簡單平均方法(Basic Ensemble Method,BEM)[14]、推廣集成方法(Generalization Ensemble Method,GEM)[14]、粒子群算法(Particle Swarm Optimization,PSO)[15]、量子遺傳算法(Quantum Genetic Algorithm,QGA)[28]、量子免疫算法(Quantum Immune Algorithm,QIA)[26]、改進量子免疫算法(Improved Quantum Immune Algorithm,IQIA)分別對目標函數(shù)進行優(yōu)化,仿真實驗10次,結果如表2、圖9所示。結果表明,在進行神經(jīng)網(wǎng)絡集成結論優(yōu)化時,改進量子免疫算法的泛化誤差明顯小于簡單平均、推廣集成等傳統(tǒng)方法,比起粒子群、量子遺傳、量子免疫等智能優(yōu)化算法,雖然運算時間略有增加,但其泛化性能卻有一定程度的改善。

表2 不同算法優(yōu)化結果的比較

圖9 不同算法優(yōu)化結果的比較
本文引入精英策略和反轉策略,提出了一種改進的量子免疫算法,并將其應用于神經(jīng)網(wǎng)絡集成結論生成時的權值優(yōu)化。仿真實驗結果表明,精英策略和反轉策略能夠明顯改善算法的全局收斂性能,改進算法能夠顯著提高神經(jīng)網(wǎng)絡集成的泛化能力。