尹洪紅 楊曉文 劉佳鳴 韓 燮
(中北大學(xué)大數(shù)據(jù)學(xué)院 山西 太原 030051)
ELM是2004年黃廣斌等人[1]提出的,是一種單隱藏層前饋神經(jīng)網(wǎng)絡(luò)(Single-hidden-Layer Feedforward neural Networks, SLFNs)機器學(xué)習(xí)算法。其打破了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速度緩慢的限制,訓(xùn)練速度快,泛化性能好,成功地應(yīng)用于分類分割[2-3]、農(nóng)業(yè)生產(chǎn)[4]、行業(yè)預(yù)測[5-6]等各個領(lǐng)域,成為了炙手可熱的研究課題。但是由于ELM隨機生成輸入權(quán)值和隱含層偏置矩陣,訓(xùn)練得到的ELM模型不是最優(yōu)的,影響到ELM的泛化性能與穩(wěn)定性。唯有增設(shè)更多的隱含層節(jié)點才能保證分類精度,而增加隱含層節(jié)點的數(shù)目加劇時間的消耗。國內(nèi)外學(xué)者針對這一情況進行研究,提出了許多改進算法[7-13]。近些年來,研究人員將智能優(yōu)化算法[14]與ELM結(jié)合,對其進行改進。智能優(yōu)化算法利用的種群中的多個個體進行并行尋優(yōu)的能力,可以提高參數(shù)的尋優(yōu)效率,其對初始值不敏感等優(yōu)勢,成為了優(yōu)化的ELM參數(shù)的理想方法?,F(xiàn)已存在的智能優(yōu)化算法對ELM進行優(yōu)化改進的方法主要包括:遺傳算法(Genetic Algorithm, GA)[6]、粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)[8-10]、人工蜂群優(yōu)化算法(Artificial Bee Colony Optimization, ABCO)[11]、差分進化算法(Differential Evolution, DE)[12-13]等。同樣作為智能優(yōu)化算法的蟻獅優(yōu)化算法(Ant Lion Optimization, ALO),盡管2015年才被提出[15],國內(nèi)外對其研究和應(yīng)用相對較少,但在文獻[15]中通過對單峰基準(zhǔn)函數(shù)、多峰基準(zhǔn)函數(shù)以及復(fù)合函數(shù)的大量實驗,證明了ALO相較于其他算法具有更好的尋優(yōu)性能。基于此,本文采用蟻獅優(yōu)化算法對ELM中的輸入權(quán)值與隱含層偏置兩個參數(shù)進行優(yōu)化改進,實驗通過對UCI 數(shù)據(jù)集中的5類數(shù)據(jù)進行實例化分析驗證,實驗結(jié)果證明蟻獅優(yōu)化算法優(yōu)化ELM的分類模型具有更高的分類準(zhǔn)確度。
ALO是2015年新提出的一種智能優(yōu)化算法[15],其模擬的是自然界中蟻獅捕食螞蟻的行為活動。螞蟻會受到蟻獅陷阱的影響,圍繞蟻獅進行隨機游走進而探索搜索空間,為確保種群的多樣性與算法的尋優(yōu)性能,螞蟻還向蟻獅與精英蟻獅學(xué)習(xí)。蟻獅優(yōu)化算法中有螞蟻、蟻獅和精英蟻獅,初始化螞蟻與蟻獅的位置與適應(yīng)度值,位置是指定解決方案的相關(guān)參數(shù),適應(yīng)度值為每個解決方案的相關(guān)解。螞蟻游走受邊界限制與蟻獅陷阱的影響,當(dāng)螞蟻探索到相比于它圍繞的蟻獅位置更優(yōu)解時,蟻獅就會捕食螞蟻,取代螞蟻的位置,實現(xiàn)對解的更新操作,每一次迭代得到蟻獅中的最優(yōu)解即為精英蟻獅,最終迭代完成得到全局最優(yōu)解精英蟻獅。蟻獅優(yōu)化算法中涉及的重要公式描述如下:
螞蟻搜尋食物時進行隨機游走的公式為:
X(t)=[0,cs(2r(t1)-1),cs(2r(t2)-1),…,cs(2r(tn)-1)]
(1)
式中:cs是計算累積和,n是最大迭代次數(shù),r(t)是隨機函數(shù),表達式如下:
式中:t表示隨機游走的步驟,rand是[0,1]區(qū)間內(nèi)均勻分布生成的隨機數(shù)。
螞蟻的搜索空間是有邊界的,為了保證螞蟻在搜索空間內(nèi)隨機游走,螞蟻的第i維變量在第t次迭代時的位置計算公式如下所示:
螞蟻隨機游走同時受到蟻獅陷阱的影響,其在選定的蟻獅周圍的超球內(nèi)運動,公式如下所示:
螞蟻從步入蟻獅陷阱起,其隨機游走的超球面的半徑就會減少。因此,隨著迭代次數(shù)增加自適應(yīng)的減小c與d的值,公式如下所示,這樣就能有效地提高收斂速度,尋求得到最優(yōu)解。
式中:I是比率,具體參見文獻[15]。
螞蟻被蟻獅吃掉,即此時螞蟻比蟻獅具有更好的目標(biāo)位置,蟻獅需要更新到捕獲螞蟻的位置,以此獲得更大機會來捕食新的螞蟻,公式如下所示:
每一次迭代得到最佳蟻獅將被保存,并視其為精英蟻獅。在ALO算法迭代期間精英蟻獅能影響所有螞蟻的活動。為降低算法陷入局部極值的概率,ALO算法通過輪盤賭選擇和隨機游走確定螞蟻的位置,公式如下所示:
極限學(xué)習(xí)機作為一種單隱層前饋神經(jīng)網(wǎng)絡(luò),它的的結(jié)構(gòu)包括輸入層、一層隱含層和輸出層,對于ELM模型描述如下:
任選M個樣本構(gòu)成數(shù)據(jù)集表達式如下:
{(xj,tj),j=1,2,…,M}
(10)
式中:xj=(xj1,xj2,…,xjn)T∈Rn,tj=(tj1,tj2,…,tjm)T∈Rm,則L個隱層節(jié)點的單隱層前饋神經(jīng)網(wǎng)絡(luò)的ELM可以表示為:
式中:wi=(wi1,wi2,…,win)T表示第i個隱層節(jié)點的輸入權(quán)值,bi表示隱含層偏置;gi(wi·xj+bi)表示樣本xj的第i個隱層節(jié)點的輸出,其中g(shù)(·)代表激活函數(shù), 本文中使用S型激活函數(shù);βi表示第i個隱層節(jié)點的輸出權(quán)值。
單隱層前饋神經(jīng)網(wǎng)絡(luò)的實際輸出結(jié)果與期望輸出結(jié)果tj可以無限接近, 表達式為:
(12)
式(12)可以轉(zhuǎn)換成矩陣形式如下:
Hβ=T
(13)
式中:H代表隱層輸出矩陣,具體表達式為:
輸出權(quán)值矩陣β與期望輸出矩陣T具體表達式為:
式中:m表示輸出層維度大小,由具體的問題確定。
為改進極限學(xué)習(xí)機,蟻獅優(yōu)化算法需要對式(11)中的輸入權(quán)值wi=(wi1,wi2,…,win)T以及隱含層偏置bi進行優(yōu)化。ALO-ELM算法以數(shù)據(jù)集的分類準(zhǔn)確度最大化作為優(yōu)化的原則,相關(guān)的組合優(yōu)化函數(shù)可以表示為:
蟻獅優(yōu)化算法對極限學(xué)習(xí)機參數(shù)組合F(w,b)進行優(yōu)化的實驗步驟描述如下:
步驟一對UCI數(shù)據(jù)進行歸一化處理,消除量綱差異。
步驟二將數(shù)據(jù)按比例分為訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集。
步驟三設(shè)置ALO-ELM模型參數(shù),包括最大迭代次數(shù)Imax和種群規(guī)模N大小和隱含層節(jié)點數(shù)目L。
步驟四初始化種群,ALO-ELM模型中待優(yōu)化的參數(shù)組合F(w,b)(輸入權(quán)值矩陣與隱含層偏置)由每只螞蟻與蟻獅表示,依據(jù)式(17)中的限制條件隨機初始化螞蟻與蟻獅種群。
步驟五分別計算ALO-ELM模型中每只螞蟻與蟻獅的適應(yīng)度值,這里適應(yīng)度值表示UCI某一數(shù)據(jù)集分類準(zhǔn)確度;然后將螞蟻與蟻獅合并,并且按適應(yīng)度值從大到小排序;最后將排在前的N個個體賦值給蟻獅種群,N個個體的蟻獅種群并行搜索。
步驟六對蟻獅種群按適應(yīng)度值從大到小重新排序,并更新蟻獅精英。更新過程中執(zhí)行式(8),即如果存在蟻獅種群的最優(yōu)個體的適應(yīng)度值優(yōu)于蟻獅精英的適應(yīng)度值,則用該蟻獅替換精英蟻獅,反之,則精英蟻獅保持不變。
步驟七判斷ALO算法是否達到最大迭代次數(shù)Imax。如果是,就輸出蟻獅精英對應(yīng)的最優(yōu)適應(yīng)度值和ELM的待優(yōu)化參數(shù)組合F(w,b),否則迭代次數(shù)加1,跳回步驟五繼續(xù)循環(huán)迭代,直到達到最大迭代次數(shù)。
本文算法使用的數(shù)據(jù)來自UCI標(biāo)準(zhǔn)數(shù)據(jù)庫[16]。實驗是在處理器為Intel(R) Xeon(R) CUP E5-1603 v3 @ 2.8 GHz,內(nèi)存為16 GB的DELL工作站上完成。
為了驗證蟻獅優(yōu)化算法優(yōu)化的極限學(xué)習(xí)機分類的有效性和可行性,以UCI標(biāo)準(zhǔn)數(shù)據(jù)庫中的5類數(shù)據(jù)集Diabetes、Iris、Wine、Seeds和Ecoli為實驗數(shù)據(jù)進行分類驗證實驗。這5類UCI實驗數(shù)據(jù)集詳細(xì)信息描述如表1所示。
表1 實驗數(shù)據(jù)集詳細(xì)描述
可以看出,在實驗過程中,將每類數(shù)據(jù)集分為兩個非重疊的數(shù)據(jù)集:訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,確定數(shù)據(jù)集的方法是均勻隨機選取樣本總數(shù)的80%作為訓(xùn)練數(shù)據(jù)集,其余的20%作為測試數(shù)據(jù)集。
本文將原始的極限學(xué)習(xí)機(ELM)、粒子群優(yōu)化的極限學(xué)習(xí)機(PSO-ELM)、自適應(yīng)差分進化優(yōu)化的極限學(xué)習(xí)機(SaDE-ELM)與本文所提蟻獅優(yōu)化的極限學(xué)習(xí)機(ALO-ELM)在5類分類數(shù)據(jù)集上進行對比實驗,以此驗證ALO-ELM的優(yōu)越性。
為了便于不同算法之間的比較,將所有智能優(yōu)化算法中涉及的種群大小N設(shè)置為80、最大迭代次數(shù)Imax設(shè)置為50。實驗一開始為了確定每種算法針對不同數(shù)據(jù)集的隱含層節(jié)點數(shù)目,先將每類數(shù)據(jù)集分為兩個非重疊的數(shù)據(jù)集:訓(xùn)練數(shù)據(jù)集和驗證數(shù)據(jù)集。實驗中通過使用驗證數(shù)據(jù)集確定所有這些算法的合適數(shù)量的隱含層節(jié)點。當(dāng)逐漸增加算法中隱含層節(jié)點的數(shù)目時,選擇具有最高分類率的隱含層節(jié)點數(shù)。對于這4種算法,針對UCI的5類數(shù)據(jù)集分別進行20次實驗,并記錄20次實驗的分類測試準(zhǔn)確率的均值(mean)、標(biāo)準(zhǔn)差(std)、訓(xùn)練時間均值(time)和隱含層節(jié)點個數(shù)(L),最終結(jié)果如表2-表6所示。
表2 Diabetes分類結(jié)果對比
表3 Iris分類結(jié)果對比
表4 Wine分類結(jié)果對比
表5 Seeds分類結(jié)果對比
表6 Ecoli分類結(jié)果對比
為了便于觀察,依據(jù)表2-表6中mean值繪制平均分類準(zhǔn)確率柱狀對比圖,如圖1所示。
圖1 平均分類準(zhǔn)確率柱狀對比圖
圖1中每一數(shù)據(jù)類別上的四個矩形從左到右分別表示ELM、PSO-ELM、SaDE-ELM、ALO-ELM 20次實驗的平均分類準(zhǔn)確率。從圖中可以看出,無論PSO-ELM、SaDE-ELM還是ALO-ELM,采用智能優(yōu)化算法均提高了原始ELM的分類精度,足見智能優(yōu)化算法的優(yōu)勢。同時相比于其他算法,ALO-ELM算法在這5類數(shù)據(jù)集上均獲得了更高的分類準(zhǔn)確率,顯示出了更好的尋優(yōu)能力。表2中顯示ALO-ELM算法的訓(xùn)練時間相較于SaDE-ELM用時較小,與PSO-ELM相似。但ALO-ELM算法20次實驗的標(biāo)準(zhǔn)偏差不是最優(yōu)的,可能是蟻獅種群中出現(xiàn)適應(yīng)度值較差的個體,螞蟻圍繞該蟻獅隨機游走陷入局部極值,影響到算法每一次尋優(yōu)結(jié)果。綜合而言,蟻獅算法優(yōu)化的極限學(xué)習(xí)機是有效可行的。
本文針對極限學(xué)習(xí)機隨機生成輸入權(quán)值與隱含層偏置矩陣存在的問題,首次將蟻獅優(yōu)化算法應(yīng)用到極限學(xué)習(xí)機參數(shù)優(yōu)化上。通過蟻獅優(yōu)化算法中種群的多個個體進行并行尋優(yōu)的能力,螞蟻向蟻獅與精英蟻獅學(xué)習(xí)確保種群的多樣性,并使用輪盤賭選擇降低算法陷入局部極值的概率,改進優(yōu)化極限學(xué)習(xí)機的輸入權(quán)值與隱含層偏置矩陣,得到一個分類精度更高模型。在UCI數(shù)據(jù)集進行分類實驗,取得更好的分類結(jié)果。本文還存在一些后續(xù)工作有待研究,蟻獅種群中可能出現(xiàn)適應(yīng)度值較差的個體,螞蟻圍繞該蟻獅隨機游走會陷入局部極值,影響到算法每一次尋優(yōu)結(jié)果,有待進一步改進蟻獅優(yōu)化算法,提高算法的穩(wěn)定性。