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