摘 要:BP神經網絡算法存在收斂速度慢和網絡泛化能力差的缺點,影響分類識別率。為了提高網絡的分類識別能力和泛化能力,在此介紹一種基于遺傳算法的神經網絡集成方法,即訓練出多個個體BP神經網絡,利用遺傳算法選擇差異度較大的個體BP網絡進行神經網絡集成,再利用該神經網絡集成進行分類識別。實驗結果表明,神經網絡集成可以提高識別率。
關鍵詞:BP神經網絡; 遺傳算法; 神經網絡集成; 人耳識別
中圖分類號:TP183文獻標識碼:B
文章編號:1004-373X(2010)08-0148-03
Application of Neural Network Ensemble Based on Genetic Algorithm in Ear Recognition
CHEN Chun-lan1, ZENG Huang-lin2, XU Li-zhi2
(1. Luzhou Vocational and Technical College, Luzhou 646005, China; 2. Sichuan University of Science Engineering, Zigong 643000, China)
Abstract:Since the constringency of the BP neural network algorithm is too slow and generalization capability of neural network is not ideal, the disadvantageseffect the classification identification. A method of theneural network ensemble based on the genetic algorithm is introduced for improving the classification accuracy and generalization of neural network, the way which trains several individual BP neural networks, selects those who have great variance each other to perform the neural network ensemble by means of the genetic algorithm, and then carries out the classification identification with the neural network ensemble. The experimental result shows that themethod can improve the identification rate.
Keywords:BP neural network; genetic algorithm; neural network ensemble; ear recognition
傳統的BP神經網絡雖然具有在線學習,非線性映射能力,不需要精確的數學模型,擅長從輸入/輸出數據中學習有用的知識,容易實現并行計算,由于神經網絡由大量的簡單計算單元組成,因而具有易于用軟、硬件實現等優點。但是該學習算法是一個非線性優化問題,存在局部極小;BP算法使用的是最速下降法,學習算法的收斂速度很慢;最重要的是網絡的泛化能力差。當圖像數據較大時,影響分類識別能力。1990年,Hansen和Salamon開創性地提出了神經網絡集成(Neural Network Ensemble)方法,通過訓練多個神經網絡,并將其結果進行合并,顯著地提高了神經網絡系統的泛化能力[1]。在此,采用Bagging方法訓練個體神經網絡,用遺傳算法選擇最優的個體網絡用于神經網絡集成。實驗表明,這種方法可以提高人耳的識別率。
1 基于遺傳算法的神經網絡集成
1.1 神經網絡集成
當神經網絡集成用于分類器時,通過Bagging算法訓練多個個體神經網絡,通常集成的輸出由個體網絡的輸出投票產生,采用絕對多數投票法(某分類成為最終結果,當且僅當有超過半數的神經網絡輸出結果為該分類),提高網絡的泛化能力和分類能力[1]。Bagging算法思想實現過程如圖1所示。
圖1 Bagging算法思想實現過程
Bagging基本思想如下:
(1) 給定一個弱學習算法和一個訓練集;
(2) 單個弱學習算法準確率不高;
(3) 將該學習算法使用多次,得出預測函數序列,進行投票;
(4) 最后結果準確率將得到提高。
Bagging算法:
For t = 1, 2, …, T;
從數據集S中取樣(放回選樣);
訓練得到模型Ht;
對未知樣本X分類時,每個模型Ht都得出一個分類,得票最高的即為未知樣本X的分類[1]。
1.2 遺傳算法用于神經網絡集成
當神經網絡集成中的個體網絡差異較大時,集成的效果較好,但是如何獲得差異較大的個體網絡以及如何評價多個網絡之間的差異度,目前仍然沒有較好的方法。Bagging算法通過訓練數據的隨機性及獨立性來提供集成的差異性,盡管這種方法非常流行,但是他的魯棒性較差,而且當數據量不足時,該方法的執行效果也差[1]。
遺傳算法作為一種可以全局收斂的方法,理論上可以在一定的遺傳步驟后達到全局或者接近全局最優。這里考慮用遺傳算法作為Bagging算法中最終集成權值的優化方法。
假設已經獨立訓練出N個神經網絡f1,f2,…,fN,使用簡單平均方法組成神經網絡集成,考慮去除神經網絡fN后,由f1,f2,…,fN-1使用簡單平均方法組成神經網絡集成′,滿足:
′(x)=∑N-1i=1\\(1)
定義神經網絡fi與fj的相關度為:
Cij=∫p(x)\\\\dx(2)
有Cii=Ei,Cij=Cj。由于:
(x)-d(x)=∑Ni=1\\/N
因此有:
E=∑Ni=1∑Nj=1Cij/N2(3)
考慮的泛化誤差E與′的泛化誤差E′的大小關系,根據式(3),′的泛化誤差為:
E′=∑N-1i=1∑N-1j=1Cij/(N-1)2(4)
(N-1)2N2(E′-E)=(2N-1)∑N-1i=1∑N-1j=1Cij-
2(N-1)2∑N-1i=1CiN-(N-1)2CNN(5)
(2N-1)∑N-1i=1∑N-1j=1Cij<2(N-1)∑N-1i=1CiN+
(N-1)2CNN(6)
根據式(5),當式(6)滿足時,E′ 使用遺傳算法來解決神經網絡選取的問題。若某遺傳個體與{f1,f2,…,fN}的子集S相對應,假設驗證集為V,用驗證集V 計算的神經網絡fi與fj的相關度估計值為: CVij=∑X∈V\\\\/|V|(7) 從而根據式(7),與S對應的神經網絡集成在驗證集V上的平均誤差為: (∑fi,fj∈SCVij)/|S|2(8) 將該誤差的倒數作為遺傳算法的適應度值[2]。 2 基于遺傳算法的神經網絡集成用于人耳識別 采用Carreira-Perpinan建立的人耳圖像庫(如圖2所示部分人耳圖像),該圖像包括了17人,每人6幅,共102幅人耳圖像[3]。由于該人耳圖像庫中的所有圖像已經經過剪裁和旋轉,長寬比例為1∶6(這是由人耳的結構特點決定的,人耳長寬比例的均值大致在1∶6附近),且進行了亮化處理,因此圖像較理想,本文不在進行圖像的預處理。本實驗在Matlab 7.1環境下進行。 圖2 Carreira-Perpinan部分人耳圖像 2.1 融合特征提取 將圖像庫中每人前三幅圖像組成訓練樣本集,其余圖像組成測試樣本集。 采用Zernike矩方法提取的圖像具有旋轉不變性的人耳幾何特征,其穩定性強,有利于分類識別,但是當人耳圖像受到其他因素如光照影響時,這種識別率就會降低。改進的非負矩陣分解是將線性判別融入到傳統的非負矩陣分解方法中,通過最大化樣本類間差異,最小化樣本類內差異,提取具有判別能力的低維人耳特征,對光照等不敏感。將這兩種具有互補性的特征串性融合,得到一個分類能力更強的特征[4-5]。將15維Zernike矩特征和16維子空間投影系數特征串行組合,得到一個31維的人耳特征向量。 2.2 Bagging算法生成個體網絡 本文采用Bagging算法生成個體網絡(如圖3所示),每次從訓練樣本集中隨機抽取2/3個樣本進行訓練,得到一個神經網絡分類器,神經網絡的輸入是以上提取的31維人耳特征向量。輸出為7維的樣本類別向量(1個隱層,6個神經元)。神經網絡集成的規模(訓練神經網絡集成中神經網絡的個數)為10。 圖3 Bagging算法生成個體神經網絡集成 2.3 基于遺傳算法的神經網絡集成用于人耳識別 個體網絡的選擇:典型的神經網絡集成方法可能生成彼此很相似的個體神經網絡,這種網絡不一定能夠促使集成泛化誤差的降低,還可能起到相反的作用?;谶z傳算法的神經網絡集成方法從訓練好的10個BP網絡中選擇部分網絡進行集成。實驗中的參數設置:每個遺傳個體的染色體長度為10(網絡個數為10),遺傳算法的群體規模為40,選擇概率為0.5,交叉概率為0.8,變異概率為0.05,遺傳算法的最大代數為50代,適應度函數選擇式(8),精英變異位數量為6,變異范圍是全體個體。神經網絡的集成,將上步選擇的神經網絡組成集成,采用投票方法進行結果集成。輸入測試樣本,訓練好的神經網絡集成模型進行人耳識別,結果如表1所示。 表1 神經網絡集成人耳識別實驗結果比較 特征單個BP神經網絡分類識別/%基于遺傳算法的神經網絡集成分類識別/% 融合特征88.394.2 從表1可以知道,使用單一BP神經網絡作為分類器的識別率低于采用神經網絡集成分類的識別率。 3 結 語 由于單一BP網絡的泛化能力差和網絡的不穩定,當圖像數據較大時,影響分類識別能力。這里介紹了一種基于遺傳算法的神經網絡集成用于人耳識別,實驗結果表明,使用采用神經網絡集成可以提高人耳識別率。 參考文獻 [1]周志華,陳世福. 神經網絡集成[J]. 計算機學報, 2002, 25(1): 1-8. [2]吳建鑫,周志華,沈學華,等. 一種選擇性神經網絡集成構造方法[J]. 計算機研究與發展, 2000, 37(9): 1039-1045. [3]LAMMI H K. Ear biometrics[EB/OL]. \\. http: //www. it. lut. fi/kurssit/03-04/010970000/seminars/Lammi. pdf. [4]張志偉,夏克文,楊帆,等. 一種改進NMF算法及其在人臉識別中的應用[J]. 光電工程, 2007, 34(8): 121-126. [5]張偉偉, 夏利民. 基于多特征融合和Bagging神經網絡的人耳識別[J]. 計算機應用, 2006, 26(8): 1870-1872. [6]張兆禮,趙春暉,梅曉丹. 現代圖像處理技術及Matlab實現[M]. 北京:人民郵電出版社, 2001. [7]於時才, 陳涓, 馬寧. 一種提高神經網絡集成系統泛化能力的方法[J]. 微電子學與計算機, 2009, 26(4): 105-107. [8]李敏強,寇紀凇,林丹, 等. 遺傳算法的基本理論與應用[M]. 北京:科學出版社, 2002. [9]朱人杰,田雨波,賈則. 混沌搜索神經網絡集成求解廣義異或分類問題[J]. 微電子學與計算機, 2009, 26(5): 99-102. [10]劉茂福,胡慧君,何炎祥. 主成分分析在圖像Zernike矩特征降維中的應用[J]. 計算機應用, 2007, 27(3): 696-700. [11]曾黃麟. 智能計算[M]. 重慶: 重慶大學出版社, 2004. [12]藺廣逢, 范引娣, 張媛. 主成分分析與BP神經網絡的人臉識別方法研究\\. 現代電子技術, 2007, 30(2): 53-54.