尹洪紅 楊曉文 劉佳鳴 韓 燮
(中北大學大數據學院 山西 太原 030051)
ELM是2004年黃廣斌等人[1]提出的,是一種單隱藏層前饋神經網絡(Single-hidden-Layer Feedforward neural Networks, SLFNs)機器學習算法。其打破了神經網絡學習速度緩慢的限制,訓練速度快,泛化性能好,成功地應用于分類分割[2-3]、農業生產[4]、行業預測[5-6]等各個領域,成為了炙手可熱的研究課題。但是由于ELM隨機生成輸入權值和隱含層偏置矩陣,訓練得到的ELM模型不是最優的,影響到ELM的泛化性能與穩定性。唯有增設更多的隱含層節點才能保證分類精度,而增加隱含層節點的數目加劇時間的消耗。國內外學者針對這一情況進行研究,提出了許多改進算法[7-13]。近些年來,研究人員將智能優化算法[14]與ELM結合,對其進行改進。智能優化算法利用的種群中的多個個體進行并行尋優的能力,可以提高參數的尋優效率,其對初始值不敏感等優勢,成為了優化的ELM參數的理想方法。現已存在的智能優化算法對ELM進行優化改進的方法主要包括:遺傳算法(Genetic Algorithm, GA)[6]、粒子群優化算法(Particle Swarm Optimization, PSO)[8-10]、人工蜂群優化算法(Artificial Bee Colony Optimization, ABCO)[11]、差分進化算法(Differential Evolution, DE)[12-13]等。同樣作為智能優化算法的蟻獅優化算法(Ant Lion Optimization, ALO),盡管2015年才被提出[15],國內外對其研究和應用相對較少,但在文獻[15]中通過對單峰基準函數、多峰基準函數以及復合函數的大量實驗,證明了ALO相較于其他算法具有更好的尋優性能。基于此,本文采用蟻獅優化算法對ELM中的輸入權值與隱含層偏置兩個參數進行優化改進,實驗通過對UCI 數據集中的5類數據進行實例化分析驗證,實驗結果證明蟻獅優化算法優化ELM的分類模型具有更高的分類準確度。
ALO是2015年新提出的一種智能優化算法[15],其模擬的是自然界中蟻獅捕食螞蟻的行為活動。螞蟻會受到蟻獅陷阱的影響,圍繞蟻獅進行隨機游走進而探索搜索空間,為確保種群的多樣性與算法的尋優性能,螞蟻還向蟻獅與精英蟻獅學習。蟻獅優化算法中有螞蟻、蟻獅和精英蟻獅,初始化螞蟻與蟻獅的位置與適應度值,位置是指定解決方案的相關參數,適應度值為每個解決方案的相關解。螞蟻游走受邊界限制與蟻獅陷阱的影響,當螞蟻探索到相比于它圍繞的蟻獅位置更優解時,蟻獅就會捕食螞蟻,取代螞蟻的位置,實現對解的更新操作,每一次迭代得到蟻獅中的最優解即為精英蟻獅,最終迭代完成得到全局最優解精英蟻獅。蟻獅優化算法中涉及的重要公式描述如下:
螞蟻搜尋食物時進行隨機游走的公式為:
X(t)=[0,cs(2r(t1)-1),cs(2r(t2)-1),…,cs(2r(tn)-1)]
(1)
式中:cs是計算累積和,n是最大迭代次數,r(t)是隨機函數,表達式如下:

式中:t表示隨機游走的步驟,rand是[0,1]區間內均勻分布生成的隨機數。
螞蟻的搜索空間是有邊界的,為了保證螞蟻在搜索空間內隨機游走,螞蟻的第i維變量在第t次迭代時的位置計算公式如下所示:

螞蟻隨機游走同時受到蟻獅陷阱的影響,其在選定的蟻獅周圍的超球內運動,公式如下所示:

螞蟻從步入蟻獅陷阱起,其隨機游走的超球面的半徑就會減少。因此,隨著迭代次數增加自適應的減小c與d的值,公式如下所示,這樣就能有效地提高收斂速度,尋求得到最優解。
式中:I是比率,具體參見文獻[15]。
螞蟻被蟻獅吃掉,即此時螞蟻比蟻獅具有更好的目標位置,蟻獅需要更新到捕獲螞蟻的位置,以此獲得更大機會來捕食新的螞蟻,公式如下所示:

每一次迭代得到最佳蟻獅將被保存,并視其為精英蟻獅。在ALO算法迭代期間精英蟻獅能影響所有螞蟻的活動。為降低算法陷入局部極值的概率,ALO算法通過輪盤賭選擇和隨機游走確定螞蟻的位置,公式如下所示:

極限學習機作為一種單隱層前饋神經網絡,它的的結構包括輸入層、一層隱含層和輸出層,對于ELM模型描述如下:
任選M個樣本構成數據集表達式如下:
{(xj,tj),j=1,2,…,M}
(10)
式中:xj=(xj1,xj2,…,xjn)T∈Rn,tj=(tj1,tj2,…,tjm)T∈Rm,則L個隱層節點的單隱層前饋神經網絡的ELM可以表示為:
式中:wi=(wi1,wi2,…,win)T表示第i個隱層節點的輸入權值,bi表示隱含層偏置;gi(wi·xj+bi)表示樣本xj的第i個隱層節點的輸出,其中g(·)代表激活函數, 本文中使用S型激活函數;βi表示第i個隱層節點的輸出權值。
單隱層前饋神經網絡的實際輸出結果與期望輸出結果tj可以無限接近, 表達式為:
(12)
式(12)可以轉換成矩陣形式如下:
Hβ=T
(13)
式中:H代表隱層輸出矩陣,具體表達式為:
輸出權值矩陣β與期望輸出矩陣T具體表達式為:
式中:m表示輸出層維度大小,由具體的問題確定。

為改進極限學習機,蟻獅優化算法需要對式(11)中的輸入權值wi=(wi1,wi2,…,win)T以及隱含層偏置bi進行優化。ALO-ELM算法以數據集的分類準確度最大化作為優化的原則,相關的組合優化函數可以表示為:

蟻獅優化算法對極限學習機參數組合F(w,b)進行優化的實驗步驟描述如下:
步驟一對UCI數據進行歸一化處理,消除量綱差異。
步驟二將數據按比例分為訓練數據集與測試數據集。
步驟三設置ALO-ELM模型參數,包括最大迭代次數Imax和種群規模N大小和隱含層節點數目L。
步驟四初始化種群,ALO-ELM模型中待優化的參數組合F(w,b)(輸入權值矩陣與隱含層偏置)由每只螞蟻與蟻獅表示,依據式(17)中的限制條件隨機初始化螞蟻與蟻獅種群。
步驟五分別計算ALO-ELM模型中每只螞蟻與蟻獅的適應度值,這里適應度值表示UCI某一數據集分類準確度;然后將螞蟻與蟻獅合并,并且按適應度值從大到小排序;最后將排在前的N個個體賦值給蟻獅種群,N個個體的蟻獅種群并行搜索。
步驟六對蟻獅種群按適應度值從大到小重新排序,并更新蟻獅精英。更新過程中執行式(8),即如果存在蟻獅種群的最優個體的適應度值優于蟻獅精英的適應度值,則用該蟻獅替換精英蟻獅,反之,則精英蟻獅保持不變。
步驟七判斷ALO算法是否達到最大迭代次數Imax。如果是,就輸出蟻獅精英對應的最優適應度值和ELM的待優化參數組合F(w,b),否則迭代次數加1,跳回步驟五繼續循環迭代,直到達到最大迭代次數。
本文算法使用的數據來自UCI標準數據庫[16]。實驗是在處理器為Intel(R) Xeon(R) CUP E5-1603 v3 @ 2.8 GHz,內存為16 GB的DELL工作站上完成。
為了驗證蟻獅優化算法優化的極限學習機分類的有效性和可行性,以UCI標準數據庫中的5類數據集Diabetes、Iris、Wine、Seeds和Ecoli為實驗數據進行分類驗證實驗。這5類UCI實驗數據集詳細信息描述如表1所示。

表1 實驗數據集詳細描述
可以看出,在實驗過程中,將每類數據集分為兩個非重疊的數據集:訓練數據集和測試數據集,確定數據集的方法是均勻隨機選取樣本總數的80%作為訓練數據集,其余的20%作為測試數據集。
本文將原始的極限學習機(ELM)、粒子群優化的極限學習機(PSO-ELM)、自適應差分進化優化的極限學習機(SaDE-ELM)與本文所提蟻獅優化的極限學習機(ALO-ELM)在5類分類數據集上進行對比實驗,以此驗證ALO-ELM的優越性。
為了便于不同算法之間的比較,將所有智能優化算法中涉及的種群大小N設置為80、最大迭代次數Imax設置為50。實驗一開始為了確定每種算法針對不同數據集的隱含層節點數目,先將每類數據集分為兩個非重疊的數據集:訓練數據集和驗證數據集。實驗中通過使用驗證數據集確定所有這些算法的合適數量的隱含層節點。當逐漸增加算法中隱含層節點的數目時,選擇具有最高分類率的隱含層節點數。對于這4種算法,針對UCI的5類數據集分別進行20次實驗,并記錄20次實驗的分類測試準確率的均值(mean)、標準差(std)、訓練時間均值(time)和隱含層節點個數(L),最終結果如表2-表6所示。

表2 Diabetes分類結果對比

表3 Iris分類結果對比

表4 Wine分類結果對比

表5 Seeds分類結果對比

表6 Ecoli分類結果對比
為了便于觀察,依據表2-表6中mean值繪制平均分類準確率柱狀對比圖,如圖1所示。

圖1 平均分類準確率柱狀對比圖
圖1中每一數據類別上的四個矩形從左到右分別表示ELM、PSO-ELM、SaDE-ELM、ALO-ELM 20次實驗的平均分類準確率。從圖中可以看出,無論PSO-ELM、SaDE-ELM還是ALO-ELM,采用智能優化算法均提高了原始ELM的分類精度,足見智能優化算法的優勢。同時相比于其他算法,ALO-ELM算法在這5類數據集上均獲得了更高的分類準確率,顯示出了更好的尋優能力。表2中顯示ALO-ELM算法的訓練時間相較于SaDE-ELM用時較小,與PSO-ELM相似。但ALO-ELM算法20次實驗的標準偏差不是最優的,可能是蟻獅種群中出現適應度值較差的個體,螞蟻圍繞該蟻獅隨機游走陷入局部極值,影響到算法每一次尋優結果。綜合而言,蟻獅算法優化的極限學習機是有效可行的。
本文針對極限學習機隨機生成輸入權值與隱含層偏置矩陣存在的問題,首次將蟻獅優化算法應用到極限學習機參數優化上。通過蟻獅優化算法中種群的多個個體進行并行尋優的能力,螞蟻向蟻獅與精英蟻獅學習確保種群的多樣性,并使用輪盤賭選擇降低算法陷入局部極值的概率,改進優化極限學習機的輸入權值與隱含層偏置矩陣,得到一個分類精度更高模型。在UCI數據集進行分類實驗,取得更好的分類結果。本文還存在一些后續工作有待研究,蟻獅種群中可能出現適應度值較差的個體,螞蟻圍繞該蟻獅隨機游走會陷入局部極值,影響到算法每一次尋優結果,有待進一步改進蟻獅優化算法,提高算法的穩定性。