劉新建,孫中華
(武漢烽火信息集成技術(shù)有限公司,湖北 武漢 430074)
圖像分類是圖像領(lǐng)域的研究熱點之一,研究者對于不同場景的圖像采用不同的算法進行研究。極限學(xué)習(xí)機(Extreme Learning Machine,ELM)有效避免了傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練的劣勢,基于學(xué)習(xí)速度快、泛化性能好等優(yōu)勢應(yīng)用于圖像分類領(lǐng)域。文獻[1]采用改進蝙蝠算法優(yōu)化極限學(xué)習(xí)機進行圖像分類,提高分類準確率的基礎(chǔ)上加快了分類速度;文獻[2]采用螢火蟲算法(Firefly Algorithm,F(xiàn)A)優(yōu)化極限學(xué)習(xí)機對遙感影響進行分類,F(xiàn)A 優(yōu)化算法高于傳統(tǒng)的遺傳算法(Genetic Algorithm,GA)和粒子群算法(Particle Swarm Optimization,PSO)優(yōu)化方法;文獻[3]采用魚群算法優(yōu)化極限學(xué)習(xí)機,可獲得更好的分類效果;文獻[4]采用局部信息保持極限學(xué)習(xí)機,在分類性能上優(yōu)于KELM 算法;文獻[5]、[6]采用多核多特征進行重構(gòu)ELM,提高了準確性和完整性。綜上,較ELM,采用群智能優(yōu)化算法可獲得更好的分類效果。KELM 采用核函數(shù)來取代ELM 的內(nèi)積運算,增加了函數(shù)逼近能力,提高了非線性分類能力。文獻[7]采用核極限學(xué)習(xí)機應(yīng)用于脈象分類問題,較反向傳播算法(Back Propagation,BP)和支持向量機算法(Support Vector Machine,SVM)提高了分類準確性。文獻[8]采用核極限學(xué)習(xí)機可獲得乳腺良惡性腫塊樣病變數(shù)據(jù)的分類準確率。
文獻[9]指出LSO 比PSO 算法具有收斂速度快、精度高的特點,可獲得全局最優(yōu)解。文獻[10]、[11]指出獅群算法優(yōu)化傳統(tǒng)算法,可獲得更高精度。本文在KELM 良好的分類性能基礎(chǔ)上,結(jié)合LSO 的尋優(yōu)能力,提出LSO優(yōu)化KELM 算法(簡稱LKELM),并采用UCI 數(shù)據(jù)集進行仿真測試,以檢驗分類精度的提高程度。
對于給定的訓(xùn)練樣本集以及前饋網(wǎng)絡(luò)的激活函數(shù)與隱含層節(jié)點數(shù),采用ELM 訓(xùn)練的步驟如下:
(1)隨機給定隱含層連接權(quán)值(ai,…,bi),i=1,…,L,并計算其輸出矩陣H,如式(1)所示:
(2)求解輸出權(quán)值β 的最小二乘范數(shù)解,如式(2)所示:
其中,I 是單位矩陣,C 是常數(shù),Y 是期望矩陣。
由此可得出,采用ELM 的分類公式如式(3)所示:
根據(jù)ELM 的輸出矩陣H,h(xi)可視作xi的非線性映射。當映射關(guān)系未知時,可通過構(gòu)造核函數(shù)來替代HHT,如式(4)所示:
那么,將式(4)帶入式(3)可得式(5):
由此可見,KELM 在ELM 的基礎(chǔ)上引入核函數(shù),增強了其非線性分類能力,而核函數(shù)的選擇影響其分類效果[12]。KELM 的推演過程可見文獻[13]。
LSO 尋優(yōu)主要來源于獅王、母獅和幼獅的社會行為。其中,獅王社會行為包括保護和分配食物給幼獅,面對自身種群的優(yōu)勝劣汰機制以及外來群種的挑戰(zhàn)來獲得首領(lǐng)的地位;母獅主要負責(zé)養(yǎng)育幼獅并根據(jù)獵物蹤跡范圍來獵食,獵食范圍從大范圍勘探直至收縮范圍;幼獅在獅王和母獅的保護下歷經(jīng)索取食物、學(xué)習(xí)捕獵、被獅王驅(qū)逐,公獅則挑戰(zhàn)原有獅王地位。
LSO 的尋優(yōu)思想為:從初始位置(待尋優(yōu)空間),獅王處于最佳適應(yīng)度值的位置;在捕獵獅(一定比例)通過相互配合捕獵獲得比獅王現(xiàn)有獵物更優(yōu)質(zhì)的獵物,獅王將其占有;幼獅在獅王和母獅的護佑下進食和學(xué)習(xí)捕獵,即使在被驅(qū)趕后可憑借記憶向待尋優(yōu)空間靠近,不斷重復(fù)搜尋,最終可獲得目標函數(shù)最優(yōu)值。
成年獅所占比例因子β:在整個獅群中,如果成年獅所占比例越大,則幼獅占比越少。幼獅位置更新多樣性,可增加種群的差異性,從而提高算法的搜索能力。成年獅為0~1 區(qū)間的隨機值,為加快收斂速度,一般小于0.5。
母獅移動范圍擾動因子αf:在快取得全局最優(yōu)解的位置附近通過增加擾動因子來增強局部搜索能力,使得母獅的捕獵范圍能夠由大范圍逐步縮小,直至趨于0 的微小值。增加母獅移動范圍擾動因子可有效避免早熟問題,使得能夠在全局和局部搜索能力間獲得均衡,可獲得最優(yōu)解,如式(6)所示:
幼獅移動范圍擾動因子αc:幼獅在索取食物和學(xué)習(xí)捕獵活動均會在一定范圍內(nèi),幼獅移動范圍擾動因子可有效控制該范圍,該范圍亦從大到小,呈線性下降趨勢,表達式如式(7)所示:
假設(shè)在D 維空間中由N 個獅子組成獅群,成年獅子數(shù)量為nleader,其范圍如式(8)所示:
其中,僅有的一頭公獅為獅王,其余則為母獅。那么,第i(1≤i≤N)個獅子的位置如式(9)所示:
成年獅的數(shù)量為nleader=[Nβ],幼獅數(shù)量為N-nleader。獅王、母獅以及幼獅的位置移動分別如式(10)~式(12)所示:
KELM 有效避免了ELM 算法的隨機初始化問題并適用于小樣本的非線性分類問題,其訓(xùn)練速度快,泛化性能好,且具有較好的魯棒性,廣泛應(yīng)用于數(shù)據(jù)分類及預(yù)測問題。本文采用高斯徑向基核函數(shù),其屬于局部核函數(shù),優(yōu)勢在于局部學(xué)習(xí)能力強,但全局泛化能力差,易陷入局部最優(yōu)解。為提高其全局尋優(yōu)能力,可結(jié)合全局尋優(yōu)的相關(guān)算法。為此,采用LSO 智能算法來提升其全局泛化能力,從而兼顧全局和局部尋優(yōu)能力。在迭代運算中,基于不同獅子的不同移動位置規(guī)則,個體最優(yōu)的被保留,否則將被適應(yīng)度高的個體所替換。在LSO 算法中,采用KELM 計算的測試準確率作為其適應(yīng)度函數(shù),用以判斷全局最優(yōu)位置和歷史最優(yōu)位置,從而獲得全局最優(yōu)解。
優(yōu)化思想:以適應(yīng)度函數(shù)作為評價優(yōu)化算法分類高低函數(shù),適應(yīng)度值越高表明其分類準確率越高,其倒數(shù)可反映優(yōu)化算法的收斂速度。在初始化過程中計算適應(yīng)度值,確定最優(yōu)位置為獅王位置以及歷史最優(yōu)位置作為母獅及幼獅的位置;在迭代過程中,不同類型的獅子按照式(10)~式(12)更新位置,并計算適應(yīng)度值,此適應(yīng)度值與歷史最優(yōu)適應(yīng)度值有所變化,從而尋求最優(yōu)適應(yīng)度值。
本文算法的步驟描述如下:
(1)訓(xùn)練集與測試集在訓(xùn)練前先采用歸一化處理;
(2)建立KELM 的神經(jīng)網(wǎng)路結(jié)構(gòu),確定核函數(shù);
(3)確定LSO 相關(guān)參數(shù),如種群數(shù)量、最大迭代次數(shù)、維度、成年獅占比等;
(4)獅群種群初始化,計算初始適應(yīng)度值等;
(5)設(shè)定適應(yīng)度函數(shù),根據(jù)迭代過程中的移動位置不斷獲取最優(yōu)適應(yīng)度值;
(6)判斷迭代次數(shù),如達到則終止,否則進行執(zhí)行步驟(5)。
實驗采用部分UCI 數(shù)據(jù)集,其數(shù)據(jù)包括類別信息及特征數(shù)據(jù)。其中,Wine 數(shù)據(jù)集包括3 類數(shù)據(jù)178 條記錄(1 類59 個樣本,2 類71 個樣本,3 類48 個樣本),每條記錄包含13 種屬性特征。
采用MATLAB 2013a 軟件測試。KELM 采用徑向基核函數(shù),迭代次數(shù)為50,初始種群為30,維度為2,訓(xùn)練樣本為分別選擇36、89。LKELM 的分類效果對比分別如圖1、圖2 所示。
由圖1、圖2 可知,針對不同數(shù)量的訓(xùn)練樣本,在迭代次數(shù)很低的情況下,采用LKELM 可快速獲得較高的分類預(yù)測精度。訓(xùn)練樣本為36 時,LKELM 分類精度為0.791 67,KELM 分類結(jié)果為0.777 67,精度差異為0.014;訓(xùn)練樣本為89 時,LKELM 分類精度為0.825 4,KELM 分類結(jié)果為0.814 4,精度差為0.011。為進一步對比不同測試集的分類效果,其實驗結(jié)果如表1 所示。
圖1 LSO 優(yōu)化KELM 分類效果(訓(xùn)練樣本36)
圖2 LSO 優(yōu)化KELM 分類效果(訓(xùn)練樣本89)
表1 不同測試集不同訓(xùn)練樣本的分類對比
UCI 測試集較多,本文以表1 中4 種數(shù)據(jù)集為例進行分析。通過表1 數(shù)據(jù)可知,LKELM 比KELM 在分類精度上均有提高。這也表明,LKELM 是KELM 的一種有效的可用于數(shù)據(jù)分類的提高算法。
為了進一步對比智能算法的優(yōu)化效果,本文選取SSA 優(yōu)化KELM 進行對比。SSA 算法于2020 年提出,文獻[14]指出其在優(yōu)化方面有著良好特性。在同等樣本條件下,兩種智能優(yōu)化算法的迭代情況如圖3、圖4 所示。
圖3 LSO 優(yōu)化KELM 分類效果
圖4 SSA 優(yōu)化KELM 分類效果
由圖3、圖4 可知,采用LSO 優(yōu)化KELM 算法比SSA優(yōu)化KELM 算法的收斂速度更快,其優(yōu)化的精度更高。這也表明,LSO 優(yōu)化KELM 算法在優(yōu)化性能方面高于SSA 優(yōu) 化KELM 算 法。
本文提出的LSO 優(yōu)化KELM 算法結(jié)合了KELM 與LSO 的優(yōu)質(zhì)特性,兼顧了全局搜索能力和局部學(xué)習(xí)能力,通過以測試準確率作為適應(yīng)度函數(shù),在迭代過程中可獲得更高的分類精度。較KELM 算法,LSO 優(yōu)化KELM在UCI 數(shù)據(jù)集測試獲得了更高的分類效果;較SSA 優(yōu)化KELM 算法,LSO 優(yōu)化KELM 同樣表現(xiàn)出更優(yōu)的分類性能。