張 毅,王士同
1.江南大學人工智能與計算機學院,江蘇無錫 214122
2.江南大學江蘇省媒體設計與軟件技術重點實驗室,江蘇無錫 214122
極限學習機(extreme learning machine,ELM)[1]在各個領域都有著高度的關注和廣泛的應用[2-6]。但在取得顯著成就的同時,也發(fā)現了一些問題,隱含層輸出的分布方式關注不夠。對比BP(back propagation)神經網絡,如果每一層數據的分布方式大相徑庭,那么訓練就會變得緩慢和復雜,泛化性能大打折扣。反之,如果隱含層輸入與輸出滿足同樣的分布方式,不但能夠節(jié)省訓練優(yōu)化參數的時間,而且能夠提高算法的泛化性能[7]。
ELM 利用激活函數將非線性結構帶入網絡結構,在使用隱節(jié)點隨機參數帶來快速的學習速度和便于實現等特點帶來便利的同時,也造成在網絡結構中使用固定的激活函數的不足。眾所周知,激活函數的選擇取決于隱含層輸入輸出數據的分布[8]。在ELM 中,隱含層的權重和偏置參數具有隨機性,且與輸入數據無關,使用固定的激活函數計算得到的輸出數據,可能會導致不一致的分布方式難以達到良好的泛化性能。由此大量的實驗結果表明隱含層輸入數據的范圍在ELM 中起到關鍵作用[9]。以ELM最常用的激活函數Sigmoid 函數為例,Sigmoid 函數隱含層輸入映射到輸出范圍,如果輸入過大或過小,將落在函數圖像的飽和區(qū)域,也就是在函數圖像中,數據分布過于平緩,由此可知ELM 只會在良好的縮放范圍內產生良好的泛化性能。例如gisette(來自于UCI數據集網站)數據集通過Sigmoid 函數映射之后,其結果過度存在集中在0 和1 附近,即Sigmoid 函數的飽和狀態(tài),如圖1(a)所示。
為了彌補這一缺陷,前人做了大量工作,給出許多方法。DNNs(deep neural networks)采用不飽和的非線性激活函數,如整流器線性單元ReLU(rectifier linear unit)[10]及其改進,包括有參數化ReLU[11]和隨機化ReLU[12]等,這種方法能夠加快訓練速度和泛化能力,但隱節(jié)點參數的優(yōu)化依賴于反向傳播算法,收斂速度慢,并且沒有足夠地研究隱含層數據分布的特性。Zhang 等人[13]利用正則化方法,這種方法只是狹義的參數正則化,在損失函數的基礎上加入正則化項來提高泛化性能的ELM 算法(regularized ELM,RELM),能夠帶來良好的泛化性能。同樣,Huang 等人[14]提出基于核方法的KELM(kernel ELM)算法,通過核函數隱式地將輸入空間中低維線性不可分樣本映射到高維空間中去,能夠避免傳統的ELM 算法隱含層神經元隨機賦值,提高了模型的泛化性和穩(wěn)定性。Liu 等人[15]提出一種基于多核ELM 的多源異構數據集成框架MK-ELM(multiple kernel ELM),在訓練過程中對多個核函數的組合權重和ELM 算法中的結構參數進行聯合優(yōu)化,但對于不同的數據樣本,如何自適應地選擇核函數和不同核函數的權重系數是個問題。Cao 等人[16]介紹了一種具有仿射變換(affine transformation,AT)輸入的新型激活函數,叫作ATELM,文中對比了其中一個算法AT-ELM1。該算法在隱含層輸入上加上縮放和平移變換參數。在不需要調整輸入權重和偏置的基礎上,基于最大熵原理來優(yōu)化仿射變換參數。此算法一如既往地保持ELM的快速學習速度和良好的泛化性能[17],并且在激活函數分布范圍內,強制將數據大致近似地按照均勻分布輸出,來實現隱含層輸出數據的最大熵。實際上不盡如人意,隱含層的輸入數據無法真正滿足最大熵原理,只能通過調節(jié)仿射參數讓隱含層輸出近似達到均勻分布。而且,仿射參數主要是利用梯度下降算法迭代優(yōu)化的,梯度下降算法中不適當的步長,又難以很好地調節(jié)仿射參數。是否還有其他方法讓輸入數據有更好的效果或者仿射參數是否可能在其他分布方式中表現得更加出色,本文做了一些嘗試并取得了一些效果。
Fig.1 Hidden layer output map of gisette dataset in two algorithms圖1 gisette數據集在兩種算法中隱含層輸出圖
為了解決上述問題,本文介紹了一種基于高斯分布來優(yōu)化激活函數中輸入數據的縮放和轉換參數,在不需要調整隱含層輸入權重和偏置的基礎上,調整仿射參數來適應隱含層輸入的分布方式,讓隱藏層輸出的分布在映射后近似于高斯分布。文中采用基于梯度下降的迭代算法來優(yōu)化仿射參數。
本文的主要貢獻概述如下:
(1)利用基于高斯分布計算的仿射參數的方法能夠避免激活函數映射之后產生飽和狀態(tài),通過調節(jié)梯度下降參數迭代優(yōu)化仿射參數,能夠使激活函數主要映射在[0.2,0.8]之間。如圖1(b)所示,例中采用gisette 數據集通過Sigmoid 函數映射得到的結果圖。數據明顯映射在[0.1,0.9]之間,并且絕大部分都在[0.2,0.8]區(qū)間內,飽和部分占極小比例。這種優(yōu)化方式達到的效果明顯優(yōu)于圖1(a)。
(2)開發(fā)出新型的計算仿射參數的方法,讓隱含層輸入與輸出數據服從高斯分布,那么在這種狀態(tài)下通過優(yōu)化參數使整個隱含層輸出數據能夠滿足高斯分布。
本章簡要回顧ELM,并給出原始ELM和RELM的求解隱含層輸出權重的方法。
原始ELM 作為一種求解單隱含層神經網絡的訓練框架[18],其高效的學習速度和易于實現等能力受到極大的關注,成為當前人工智能領域最熱門的研究方向之一。在保證算法測試精度的前提下,較于傳統的BP 算法[19],ELM 算法速度更快并且具有良好的泛化性能。ELM 特點在于隨機初始化隱含層輸入權重和偏置并得到相應的隱含層輸出權重。其數學模型表示為:
式中,xi=[xj1,xj2,…,xjn]T表示第i個樣本,βi=[βi1,βi2,…,βiL]T是連接第j個隱含層節(jié)點到輸出層的權重向量。G(wi,bi,xj)表示激活函數,表示隱節(jié)點的輸入權重和偏置。yj=[yj1,yj2,…,yjm]T是第j個輸入樣本的網絡輸出。ELM 理論指出隱節(jié)點的參數按照概率分布選取是隨機固定的,無需調整[20]。這使得網絡模型變成求解線性方程組。
ELM 最初只能用來處理單隱含層神經網絡,后來被推廣到RBF(radial basis function)神經網絡、反饋神經網絡、多隱含層神經網絡等。整個ELM 模型通過利用如下矩陣乘法得到[21]:
式中,β和T分別為輸出層權重矩陣和整個網絡的目標輸出矩陣,H為隱含層輸出矩陣,表示為:
那么輸出權重就變成求解線性方程Hβ=Τ的最小二乘解:
其中,H?是矩陣H的廣義逆矩陣。
隱節(jié)點數是隨機的,由通用逼近性可知激活函數無限可微分,隱含層輸出近似看成連續(xù)函數。
(1)對于隱節(jié)點數L等于輸入樣本個數N,可找到矩陣H,使得=0。
(2)對于隱節(jié)點數L不等于樣本個數N,對于任意ε>0,總存在H,使得<ε。
利用最小方差尋找最優(yōu)輸出權重β,即優(yōu)化訓練誤差函數:
標準的ELM 算法是一個基于經驗風險最小化原理的訓練過程,在沒有進行調整隱含層輸入隨機參數的基礎上可能導致隱含層輸出數據分布不一致,容易產生過擬合現象,并且當訓練樣本中出現許多異常點時,隱含層輸出具有不適定性。標準正則ELM[22-23]提出用正則化參數λ來平衡誤差矩陣和輸出權重,正則化理論在本質上是結構風險最小化策略的實現,輸出權重β的范數越小,整個網絡結構的泛化性能越好。RELM 的數學模型表示如下:
根據隱節(jié)點數與樣本數的比較,求解式(7)可得RELM的輸出權重矩陣β閉式解[24],其中I是單位矩陣:
當L≤N時,即隱含層神經元個數小于樣本數,此時I為L×L的單位矩陣,而隱含層神經元個數大于樣本數時L>N,此時I為N×N的單位矩陣。顯然這樣求得的偽逆矩陣簡化不少。
文中提出的GAT-ELM(Gaussian affine transformation extreme learning machine)算法,在保證了ELM的學習速度和泛化性能的同時,也避免了隱含層的輸入權重和偏置的迭代,讓隱含層輸出數據大致映射在激活函數輸出的合理范圍之內,并且使隱含層輸入與輸出數據滿足高斯分布方式,達到最優(yōu)效果。
對比其他先進的ELM 網絡框架,AT-ELM1算法主要工作是在隱含層,在隱含層中設置的仿射參數由帶有均勻分布隨機數的目標函數優(yōu)化,最終目的是能夠讓隱含層輸入與輸出服從均勻分布。這種方法的好處是能夠讓隱含層輸入線性映射到更低維空間,以防止最終非線性映射到激活函數特征空間的飽和狀態(tài)中去。
然而,利用極大熵原理計算仿射參數的做法,也帶來一些問題,不足主要體現在以下幾點:
(1)完全拋棄了節(jié)點之間的依賴性關系[25]。ATELM1算法中讓隱含層輸出服從均勻分布只是保證了輸出數據的獨立性,完全拋棄了節(jié)點的依賴性關系。因為無論仿射參數如何變化均為線性映射,隱節(jié)點始終會保留著依賴關系。要完全忽視隱節(jié)點的依賴性,這是遠遠達不到的,這就是造成不能完全滿足均勻分布的主要原因。
(2)隱含層輸入數據方差。對于數據本質而言,假設隱含層輸入和輸出是獨立且同分布的,其輸入權重和偏置的元素一般在[-1,1]均勻分布或者(0,1)正態(tài)分布中產生,且相互獨立。則隱含層輸入的方差表示為var(vi)=L?var(wi)+var(bi)[10]。無論權重和偏置在哪個分布下產生,它們均有共同的特點,那就是輸入方差與輸入數據的數學期望和隱節(jié)點的個數有關,并且輸入數據的數學期望在一般情況下并不為0,那么隱含層輸出便不太可能在激活函數范圍內服從均勻分布,引入縮放和平移參數強制映射,效果也可能會差強人意。
(3)激活函數的非線性映射。例如Sigmoid 函數,隱含層輸出數據一般為離散的點,根據通用逼近性可知,能夠近似形成一條曲線,引入仿射參數之后,為了讓輸出數據能夠很好地服從均勻分布這一方法,需要多次手動的調參來尋找最優(yōu)的仿射參數,即耗時,同樣由于迭代次數和步長選擇的限制也無法真正達到最優(yōu)。
針對上述AT-ELM1算法中求解仿射參數的不足,本文提出一種新的思想,依據如下:
樣本數據預處理后,對于單個樣本而言,如圖2所示,輸入層到隱含層為線性映射,從n維的輸入層映射到隱含層第一個神經元時,可以看作是線性降維,數據在高維空間中有以下幾個特點[26-28]:
(1)數據在高維空間有著低維結構,投影到低維空間不會損失過多判別信息。
(2)高斯分布的數據有著向尾部聚集的趨勢,均勻分布的數據有著向角落聚集的趨勢,因此在高維空間估計數據的概率分布變得十分困難。
(3)高維數據的低維投影有著符合高斯分布或者高斯分布組合的趨勢。維數越大越逼近高斯分布。
(4)在有限個樣本的情況下,高維空間的線性可分概率隨著維數增加而增加,樣本數小于或接近維數時,樣本線性可分概率趨于1。
因此,數據由高維向低維映射趨于高斯分布,且維數越大高斯分布趨勢越明顯。這一顯著特征,可以認為在這種映射之后的數據具有高斯分布的特征,且不會帶來太大誤差。于是,圖2 中第一個神經元V1由于輸入層神經元個數是遠大于1 的,映射之后便有著高斯分布的趨勢。對于其他每個神經元而言,同樣由輸入層映射到當前隱含層神經元,且均為高維向低維映射,按照上述,則同樣有著高斯分布趨勢。那么這L個獨立的隱含層神經元所連接形成的L維隱含層空間Φ(x1)由于空間中的每個神經元均趨于高斯分布,則整體有著高斯分布或者高斯分布組合的趨勢。針對整體樣本而言,線性映射之后得到的隱含層空間可以表示為:
Fig.2 ELM network structure圖2 ELM 網絡結構
式中,? 表示為整個隱含層空間,對于每個樣本空間Φ(xi)都有著服從高斯分布的趨勢,可以假定看作是一組具有高斯分布的離散數據,那么這N個樣本所連接形成的整個隱含層空間就可以被認為是N組具有高斯分布的離散數據的集合。在這種條件下,整個隱含層空間就符合高斯分布或者高斯分布組合的趨勢,且維度越大,低維映射呈高斯分布趨勢越明顯。同樣對比本文使用的數據集,也能夠發(fā)現在絕大多數的數據集中,隱含層輸入有著明顯的高斯分布趨勢。對大樣本數據而言,隱含層輸入矩陣如果隱節(jié)點數小于或者接近輸入樣本數,同樣遵循高斯分布趨勢。
如果利用極大熵原理讓其強制均勻分布,這種做法雖然在理論上說得通,但是在實際應用中卻只能近似達到,因為樣本特征之間有著一定的關聯性,均勻分布忽略了這種依賴關系,只保證了節(jié)點之間的相互獨立。而節(jié)點之間的依賴性是網絡結構中不可忽視的關鍵因素,因為在映射過程中,需要盡量保留輸入數據特征,減少特征丟失。而采用極大熵原理的AT-ELM1算法讓隱含層輸入與輸出滿足均勻分布具有一定局限性,本身激活函數映射就是非線性映射,如果映射結果是線性的,必然不可避免地丟失了很多數據特征,這樣模型就變得不可靠。如何讓數據特征能夠盡量保留是必要的。而高斯分布是一種非線性結構,從這點來看,比均勻分布增強了一定的模型可靠性。由此來看,隱節(jié)點的依賴性在模型結構中是必不可少的。
具體說明,引入四組向量X1,X2,X3,X4,其中w13,w23,w14,w24是節(jié)點之間的連接權重,有著高斯分布的趨勢,每個向量有m個特征。其依賴關系可以理解為:對于X1節(jié)點,其輸出對于節(jié)點X3、X4的計算是必需的,同樣節(jié)點X3、X4彼此不需要來自對方的任何信息,則稱兩者是相互獨立的,對此進行可視化,如圖3 所示。
Fig.3 Dependency diagram圖3 依賴性關系圖
對比整個輸入層映射到隱含層輸入的過程,隱節(jié)點均包含著來自輸入層的直接依賴關系,這是不能忽略的重要因素,如果讓隱含層輸入不考慮依賴關系,讓其服從均勻分布,是做不到的,始終存在著這層直接或者間接的依賴關系。文中提出改進算法讓隱含層輸入服從高斯分布,通過不斷修正隱含層輸入與輸出的分布方式,在原始隱含層輸入與輸出的基礎上,引入仿射參數,不斷調節(jié)達到最優(yōu)效果,具體設置思路下文闡述。這種做法能夠有效保留隱節(jié)點的依賴性,又能夠做到相互獨立。這極大地表明了隱含層輸入服從高斯分布具有可靠的理論基礎,利用這方面作為切入點,假設隱含層輸入能夠服從高斯分布,按照隱含層輸入與輸出同分布的原則,讓隱含層輸出也服從高斯分布。
為了更好地讓隱含層輸入與輸出服從高斯分布,文中介紹一種新的仿射參數計算方法,稱之為GATELM 算法,主要思想:在隱含層輸入原本有著高斯分布趨勢的情況下,由于其本身可能只是近似服從高斯分布,且不可能完全服從,只能讓隱含層輸入強制服從高斯分布,且一般的激活函數映射模式會讓隱含層輸出趨于飽和狀態(tài)。于是,對隱含層輸入添加縮放和平移參數,如果隱含層輸入數據過大,那么可以使用較小的仿射參數,對數據二次加工讓數據值縮小,同樣,如果隱含層輸入數據過小,則需要較大的仿射參數。這都能使隱含層輸入通過激活函數之后不會大量映射到飽和狀態(tài)。那么如何確定仿射參數就是一個尋優(yōu)的過程,文中采用梯度下降算法優(yōu)化縮放和平移參數,能夠使隱含層輸出服從高斯分布。這種縮放、平移參數的設置能夠很好地調節(jié)隱含層輸出的范圍,極大地提高了模型的泛化性能。
在原始ELM 算法中,數據集均生成在一定范圍內,給出預處理之后的訓練集,隨機生成隱含層輸入權重和偏置,讓G(wi,bi,xj)作為整個數據集的激活函數,且固定不變,計算得出訓練樣本的隱含層網絡輸入矩陣V:
本文在參數優(yōu)化過程中,為每個仿射參數得出相對應的誤差函數,進行迭代優(yōu)化。其目標優(yōu)化函數為:
式中,m和n為仿射變換參數,其為隱含層激活函數輸出范圍內隨機生成的兩個高斯分布隨機數,列向量v是由矩陣V中的每一個元素按從小到大排列而成,v=[v1,v2,…,vk,…,vN×L]T(v1<v2<…<vN×L),I=[1,1,…,1]T∈RN×L是元素全為1 的列向量,向量u表示為v的同型向量,且其中的每一個元素都是服從高斯分布的隨機數,并在隱含層激活函數輸出范圍內按從小到大排列u=[u1,u2,…,uk,…,uN×L]T(u1<u2<…<uN×L)。
式(12)和式(13)可以進一步化簡為:
可以發(fā)現在計算對m和n的偏導時,對于每一組仿射參數均可提前計算找公共部分,這樣可以降低計算的復雜度,提高模型效率。然后,利用梯度下降算法分別為仿射參數進行優(yōu)化,得到全局最優(yōu)解。本文所述方法能夠讓隱含層輸入輸出數據映射到高斯分布的空間中去。
本文中GAT-ELM 算法思想是在AT-ELM1算法上改進,對比基于極大熵原理的AT-ELM1算法,GATELM 算法無論在公式上,還是結果上都與之不同。主要不同之處在于求解仿射參數的方法,讓高斯隨機數組成的向量u放入目標函數中。實驗對比,通過算法1 優(yōu)化,能夠得到更佳的效果。
具體的仿射參數的計算方法如下所示。
算法1高斯分布下的仿射變換的參數優(yōu)化方法
輸入:設定激活函數為Sigmoid 函數,梯度下降算法的輸入步長η(按照實際情況),最小度量ε,最大迭代次數K,設置下采樣Nd。
輸出:仿射參數m和n。
1.計算出合適的仿射參數
1.2 隱含層輸入權重W和偏置b隨機產生,計算出隱含層輸入矩陣V,并將V中的每一個元素按從小到大排列。
1.3 在激活函數的特征空間? 內生成高斯分布隨機數,并從小到大排列成u=[u1,u2,…,uk,…,uN×L]T。
1.4 根據下采樣Nd,得到采樣后的。
1.5 隨機初始化仿射參數m、n,計算出式(14)的初始值,并計算φ。
1.6 按照梯度下降算法迭代計算m、n,更新式(14),得到每次迭代后的φ值。
1.7 輸出優(yōu)化后的仿射參數m、n的值。
end
由于假定對隱含層網絡輸入數據的分布方式沒有任何限制,即此算法適用于訓練數據的任何分布方式和任何隨機生成的隱含層輸入權重和偏置。在算法1 中,考慮到訓練樣本和隱節(jié)點的個數嚴重影響著計算仿射變換參數m、n的時間復雜度,本文中引入下采樣計算方法,在較小影響精度的前提下,極大地降低算法的時間復雜度。
求解正則化參數的方法來源于RELM 算法中的LOO(leave one out)交叉驗證策略[29],主要原理是指整體樣本分割成N個子樣本,其中N-1 個樣本為訓練集,剩余的一個為測試集,多次實驗,對λ進行尋優(yōu),一般地,正則化參數在區(qū)間[λmin,λmax]選擇[29]。
在優(yōu)化λ的過程中為了減少LOO 中性能評估指標MSEpress公式的計算復雜度,降低HAT 公式中的矩陣H重復計算,引入SVD 算法,令H=UDVT,U,V均為酉矩陣,即UTU=I,VTV=I。由此解出隱含層輸出權重β[29]:
式中,當L≤N時,HTH=VD2VT,利用SVD 算法,VTHTT和HV均可提前求出;當L>N時,HHT=UD2UT,同樣,HTU和UTT也可提前解出。
本文中的ELM 算法可以大致描述為:首先利用算法1 來優(yōu)化仿射參數m、n,然后通過RELM 中的LOO 交叉驗證方法和MSEpress計算優(yōu)化λ算法。最后通過在高斯分布下優(yōu)化的仿射參數m、n和正則化參數λ計算隱含層輸出權重,如下描述優(yōu)化ATELM1中的λ參數和隱含層輸出權重β。
算法2優(yōu)化隱含層輸出權重算法
輸出:隱含層輸出權重和正則化參數。
1.計算出隱含層輸出權重
1.3 利用算法1 中優(yōu)化計算后的仿射參數mopt、nopt,計算隱含層輸出矩陣。
1.4 當L≤N時,計算E=HV,F=ETT和d=(diag(D2))T;當L>N時,計算E=HHTV,F=UTT和d=(diag(D2))T。
1.5G=E⊙repmat(1./(d+λ),N,1),R=norm((T-GF)./repmat(1-sum(G⊙E,2),1,m)),MSEpress=R2/N,當MSEpress取最小時,輸出此時的λopt。
1.6 通過公式求出βopt:當L≤N時βopt=V⊙repmat(1./(d+λopt),L,1)F;反之βopt=HT(U⊙repmat(1./(d+λopt),N,1))F。
end
為了表現算法的改進效果,與原始ELM、ATELM1進行了比較。同時,為了能夠更加實際地與AT-ELM1算法比較,文中所涉及的數據集與AT-ELM1文獻中的保持一致。
為了體現GAT-ELM 算法在實驗穩(wěn)定性方面的優(yōu)勢,本文選取了傳統的ELM 算法和文獻[16]提出的AT-ELM1算法進行比較。
隱含層節(jié)點數目L的尋優(yōu)范圍根據樣本大小分別標明,梯度下降算法的實際步長、最小度量、最大迭代次數、下采樣數設置如表1 所示。
實驗過程中,按照不同的比例把實驗數據作為訓練樣本和測試樣本,為了有效評估算法的性能,采用正確率和標準差作為性能指標。此外,參數規(guī)模設置分析如下:
(1)由式(1)可知,樣本個數設置為N,隱含層節(jié)點數設置為L,輸出層節(jié)點數為m個。這部分主要分為三步,首先輸入層到隱含層,其次隱含層激活函數映射,最后隱含層到輸出層,那么總的參數規(guī)模為N×L+N×L+N×m。
Table 1 Gradient descent algorithm parameter settings表1 梯度下降算法參數設置
(2)由算法1 可知,梯度下降算法中迭代次數為K,下采樣數為Nd,則算法1 參數規(guī)模為K×Nd。
(3)由算法2 可知,假設正則化參數λ有M個,此參數規(guī)模為M+m×L。
則累加為N×L+N×L+N×m+K×Nd+M+m×L。
實驗平臺為Intel Core i5-3470 處理器;主頻為3.60 GHz;內存為8 GB;系統類型為Win7 32 位操作系統;編程環(huán)境為Matlab R2018a。
為了測試仿射變換參數的效率,本文測試了MNIST(有關數據庫的詳細描述,請參見第3.3 節(jié))數據集。MNIST 包含了手寫數據的二進制圖像,原始數據集包含了60 000 個訓練樣本和10 000 個測試樣本。文中采用了兩種設置方法,假設訓練樣本和測試樣本共享相同的分布。對于每個圖像而言,灰度像素均為特征。測試1,在訓練樣本中隨機選取2 000 個用于訓練,測試樣本也選取2 000 個,其隱節(jié)點范圍為[400:200:2 000]。測試2,在訓練樣本中隨機選取10 000 個用于訓練,測試樣本則選取全部,隱節(jié)點取值范圍為[2 000:200:4 000]。在兩者實驗中,LOO 交叉驗證算法的搜索范圍均為利用固定的隱節(jié)點激活功能,ELM 對輸入變量的范圍縮放非常敏感。分析這兩個實例可以得出,ELM 的輸入數據放縮在[-10,10]之間,其表現良好,然后再通過不同的縮放因子γ調整數據的大小,以研究該算法的實際泛化性能,也就是說,文中所有用到的數據集,在預處理階段,原始樣本都在[-10,10]中生成,然后按如下因子縮放:
對于每個縮放因子,文中均采取了10 次實驗,計算平均結果。分別計算出三種算法(ELM、AT-ELM1、GAT-ELM)每個縮放因子的均方誤差并做出比較。如圖4(a)中,當使用固定的Sigmoid 時,GAT-ELM 算法的性能比ELM 和AT-ELM1都有一定幅度改進。對比ELM 算法而言,RMSE 降低了39.28%,同樣對于AT-ELM1也降低了10.52%??傮w而言GAT-ELM 相比于前兩個有著明顯的提升。對圖4(b)具體說,當γ大于100 時,ELM 算法中RMSE 值越來越大。相反,由于激活函數可以調整仿射參數讓隱含層輸出服從高斯分布,因此本文中的GAT-ELM對于所測試的縮放因子均具有良好的一致性。以具體結果為例:當γ=0.1 時,所得到仿射參數(aopt,bopt)=(-1.404 0,0.049 5)。在γ=100的情況下,為了彌補樣本輸入中縮放因子的變大,得到仿射參數(aopt,bopt)=(-0.151 5,0.145 1)。
Fig.4 Comparison of experimental results圖4 實驗結果比較
為了更好地比較文中GAT-ELM 算法與AT-ELM1算法,測試結果如表2 所示。
Table 2 Results of test 1 and test 2表2 測試1 和測試2 的結果
對比三種算法,得到如下結論:
在測試1 中GAT-ELM 算法相較于ELM,精度提高了8.05%,標準差降低了34.32%;同樣對于ATELM1,精度提高了1.60%,標準差降低了15.4%。
在測試2 中GAT-ELM 算法相較于ELM,精度提高了1.50%,標準差降低了50.00%;同樣對于ATELM1,精度提高了1.29%,標準差降低了20.00%。
根據實驗結果可以知道,在測試1 和測試2 中,在高斯分布下計算的仿射參數,提高了算法的穩(wěn)定性,并且泛化性能也有一定的提升。除了泛化性能外,訓練時間是ELM 算法中的另一個問題。文中的算法時間主要是通過LOO 交叉驗證算法尋找最優(yōu)λ的代價時間,那么λ∈[λmin,λmax]的范圍越大,訓練時間就越長。由于AT-ELM1和文中GAT-ELM 的正則化參數λ的范圍是一致的,并且梯度下降算法中各個參數設置一致,整個模型的參數規(guī)??梢允墙咏?,參數規(guī)模且都高于原始ELM,即兩個算法的訓練時間總體是一致的,都明顯高于原始ELM。
為了更好評估算法的性能,測試了12 種涵蓋了許多實際應用的基準分類數據集,前9 個來自UCI 數據集網站(http://archive.ics.uci.edu/ml/index.php),后面3 個來自特征選擇網站(http://featureselection.asu.edu/datasets.php)。如表3 所示,表中涵蓋了所測試的基準分類數據集的樣本特征維數、訓練樣本數、測試樣本數和類別數。
對于所有數據集,所有樣本均用于分類算法的訓練和測試,為了更加直觀對比AT-ELM1算法,本文實驗中的訓練樣本和測試樣本都與AT-ELM1算法中的分配所相同,與此同時,其隱含層尋優(yōu)區(qū)間也相似。對于較小的數據集,例如Breast、Diabetic 和wine在[100:50:600]之間尋找最佳的隱節(jié)點數。像大樣本數據集OnlineNews 在[500:100:2 500]范圍內搜索隱節(jié)點的最佳數目。剩余數據集在[500:100:1 500]尋找最佳的隱節(jié)點數目。算法2 利用LOO 交叉驗證方法在{e[-10:0.2:10]}尋找最優(yōu)正則化參數λ。原始ELM、AT-ELM1和本文中GAT-ELM 的精度和標準差結果都在如下表格中進行比較。其中Percentage1=(GAT-ELMELM)/ELM 和Percentage2=(GAT-ELM-AT-ELM1)/AT-ELM1分別表示GAT-ELM 算法對比原始ELM 算法和AT-ELM1算法的精度和標準差的變化率,Ai-Rate 表示新的算法精度相較于對比算法提高的百分比,R-Std 表示新的算法方差相較于第一個算法降低的百分比。
Table 3 Details of 12 datasets for UCI and feature selection表3 UCI和特征選擇的12 個數據集的詳細信息
針對ELM、AT-ELM1、GAT-ELM 三種算法,表4對最優(yōu)精度采用加粗,對最優(yōu)標準差加下劃線。在這12個分類數據集中,由于引入了仿射參數,AT-ELM1算法和GAT-ELM 算法的分類精度和標準差均優(yōu)于原始ELM 模型。對于多數分類數據集而言,GATELM 算法的標準差明顯低于AT-ELM1,在所測數據集中,可以發(fā)現Breast、Diabetic、Letter、Opt-digits、Pen-digits、wine、Isolet、PCMAC、warpAR10P 數據集在GAT-ELM 算法中的測試精度更加集中,并且兩種算法精度之間的落差范圍很微小。
同樣,Breast、Cardgraphy、Magic、OnlineNews、Opt-digits、Pen-digits、wine、Isolet、PCMAC 數據集在測試精度上GAT-ELM 比AT-ELM1高。Breast、Optdigits、Pen-digits、Isolet、PCMAC 數據集在精度和標準差上GAT-ELM 均優(yōu)于AT-ELM1。并且,GAT-ELM算法比較原始ELM 算法,在精度提升方面最高達到112.44%,并且在標準差上也有明顯的改善。同時對比AT-ELM1算法,在精度方面變化率保持在(-1.5%,2.5%)之間,但標準差方面最高有著53.85%的下降。
Table 4 Test results and performance comparison of benchmark datasets using Sigmoid function表4 使用Sigmoid 函數對基準數據集的測試結果與性能比較
與此同時,本文中對比分析隱含層輸出情況,原始ELM 的性能較差主要是由于這些數據庫的隱藏節(jié)點輸出大部分位于Sigmoid 的飽和區(qū)域或平坦區(qū)域中。為了直觀表現,本文用案例進行了可視化分析,圖5 比較了warpAR10P 和Pen-digits 數據集在原始ELM、AT-ELM1和GAT-ELM 的隱節(jié)點輸出。在ELM算法中,使用固定的Sigmoid 函數,warpAR10P 和Pen-digits 的隱節(jié)點輸出主要在激活函數特征空間的平坦區(qū)域。在AT-ELM1算法中,隱含層輸出無法真正達到均勻分布。相反,本文中介紹的讓隱含層服從高斯分布的GAT-ELM 算法能夠讓隱含層輸出更加契合高斯分布。
由于采用不同的隱節(jié)點數,縮放參數和下采樣率可能會影響分類精度,針對warpAR10P 和Pendigits 數據集的結果,文中測試隱節(jié)點數均為1 500,縮放參數均為0.1,下采樣率分別為500 和5 000,對正則化參數利用LOO 交叉驗證方法尋優(yōu)的結果分別是0.110 8 和1.822 1,所求精度也均高于平均精度。
本節(jié)介紹了4 種圖像數據庫,詳細描述如下:
Fig.5 ELM,AT-ELM1,GAT-ELM hidden node output of warpAR10P and Pen-digits datasets圖5 warpAR10P 和Pen-digits數據集的ELM、AT-ELM1、GAT-ELM 的隱節(jié)點輸出
Table 5 Test results and performance comparison of image datasets using Sigmoid function表5 使用Sigmoid 函數對圖像數據集的測試結果與性能比較
USPS 數據庫:包括0~9 的10 個數字,總計9 298個手寫樣本。每個樣本的16×16 灰度圖像直接用數字表示,7 500個樣本用于訓練,其余用于測試。
Yale 數據庫:165 張表情圖像,包括15 個類別數。每個樣本由32×32 灰度圖像構成,實驗中,60%的訓練樣本隨機生成,其余用于測試。
Yale(B)數據庫:包括38 個不同的個體共2 204 個樣本。每個樣本有32 256 個特征,實驗中,隨機產生50%的訓練樣本,另一半用于測試。
ORL 人臉數據庫:有40 個不同對象的相同圖片,每個對象收集了10 個不同細節(jié),采用32×32 的灰度圖像的像素作為特征。隨機產生60%的樣本用于訓練,其余用于測試。
與分類數據集一致,圖像數據集也需要在一定的范圍搜索最佳隱節(jié)點數目,對于ORL 數據集為[100:100:1 000],而對于Yale 數據集、Yale(B)數據集則在[400:200:2 000]中尋找,[1 000:200:3 000]適用于USPS 數據集。針對ELM、AT-ELM1、GAT-ELM 三種算法,表5 對最優(yōu)精度采用加粗,對最優(yōu)標準差加下劃線。在這4 個圖像數據集中,由于引入了仿射參數,AT-ELM1算法和GAT-ELM 算法的分類精度和標準差均優(yōu)于原始ELM 模型。與此同時,在4 個測試實驗中,GAT-ELM 的標準差明顯低于AT-ELM1,精度都有小幅度提升。為了進一步直觀表明GAT-ELM的性能,表5 計算出了性能表現率,從表中可以清楚看出,GAT-ELM 算法與原始ELM 算法相比,精度提高率最高達到44.68%,并且標準差下降了93.59%。同樣對于AT-ELM1算法而言,精度之差在[0.20%,1.60%],相比較精度變化范圍不大,標準差變化明顯,GAT-ELM 算法下降了最高62.96%。
對比4 組測試實驗,可以發(fā)現在這些數據集中,本文介紹的GAT-ELM 算法在精度方面略優(yōu)于ATELM1,而算法的穩(wěn)定性卻得到很大的提高。
本文從理論上分析了讓隱含層輸出近似服從均勻分布卻無法真正達到這一問題。探討了節(jié)點依賴關系必要性。針對這一研究,本文提出了一種在高斯分布下計算仿射參數的算法。上述算法首先對原始輸入數據尋找合適的放縮參數和最佳隱節(jié)點參數,然后通過梯度下降算法優(yōu)化仿射參數,最后利用均方誤差最小值確定最優(yōu)正則化參數和隱含層輸出權重。實驗表明:該算法與AT-ELM1有著近似的計算時間,并且在保留隱節(jié)點依賴性的基礎上,利用梯度下降優(yōu)化仿射參數讓隱節(jié)點輸入與輸出都共同滿足高斯分布比利用極大熵原理的AT-ELM1表現得出色。在實驗結果上,大多數數據集在高斯分布下取得更好的效果。