翟俊海 周昭一 臧立光
(1.河北大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院河北省機(jī)器學(xué)習(xí)與計(jì)算智能重點(diǎn)實(shí)驗(yàn)室,保定,071002;2.河北大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,保定,071002)
極限學(xué)習(xí)機(jī)(Extreme learning machine,ELM)[1,2]是一種隨機(jī)化快速學(xué)習(xí)算法,具有很好的泛化能力,是近幾年機(jī)器學(xué)習(xí)的研究熱點(diǎn)領(lǐng)域之一,已成功應(yīng)用于模式識(shí)別[3-5]、預(yù)測預(yù)報(bào)[6,7]和分類與回歸等領(lǐng)域[8,9]。陶卿等[10]對(duì)機(jī)器學(xué)習(xí)隨機(jī)優(yōu)化方法進(jìn)行了綜述,具有較高的參考價(jià)值。
作為一種數(shù)據(jù)挖掘算法,ELM既可以解決分類問題,也可以解決回歸問題。本文考慮分類問題,在分類的框架下,研究人員提出了許多基于ELM的分類算法。極限學(xué)習(xí)機(jī)是一種批處理學(xué)習(xí)模型,處理的數(shù)據(jù)是靜態(tài)數(shù)據(jù)。針對(duì)在線序列數(shù)據(jù)的分類問題,Liang等[11]提出了在線序列極限學(xué)習(xí)機(jī)(Online sequential-extreme learning machine,OS-ELM)模型。因?yàn)镺S-ELM能處理源源不斷出現(xiàn)的數(shù)據(jù),所以從某種意義上來說,OS-ELM是一種解決大數(shù)據(jù)分類問題的方法。但是OS-ELM和ELM一樣,有預(yù)測不穩(wěn)定的問題[12]。
針對(duì)類別非平衡數(shù)據(jù)的分類問題,Zong等[13]于2013年提出了加權(quán)ELM學(xué)習(xí)模型,用于處理類別不平衡學(xué)習(xí)問題,通過不同的懲罰系數(shù)對(duì)樣例加權(quán),并把懲罰系數(shù)嵌入到優(yōu)化模型中。Li等[14]將加權(quán)ELM和AdaBoost結(jié)合起來,將懲罰系數(shù)作為AdaBoost權(quán)值,提出了Boosting加權(quán)ELM學(xué)習(xí)模型,用于處理類別不平衡學(xué)習(xí)問題。實(shí)際上,對(duì)樣例加權(quán)是用代價(jià)敏感性的方法處理類別不平衡問題。Lin等[15]提出了基于ELM和合成小類上采樣相結(jié)合的方法,用于處理兩類不平衡學(xué)習(xí)問題。
針對(duì)含有噪聲或有缺失值數(shù)據(jù)的分類問題,Man等[16]通過分析輸出權(quán)矩陣關(guān)于隱含層輸出矩陣的敏感性,提出了一種稱為有限脈沖響應(yīng)的極限學(xué)習(xí)機(jī)模型。該模型可以改進(jìn)極限學(xué)習(xí)機(jī)對(duì)含有噪聲數(shù)據(jù)分類的性能,還可以提高模型的魯棒性。在這一工作的基礎(chǔ)上, 基于離散傅里葉變換技術(shù),Man等[17]提出了另外一種對(duì)噪聲數(shù)據(jù)更魯棒的學(xué)習(xí)模型。Yu等[18]研究了具有缺失數(shù)據(jù)的ELM回歸問題,提出了Tikhonov正則化優(yōu)化剪枝ELM學(xué)習(xí)模型。因?yàn)榉诸愂腔貧w的特殊情況,所以該模型也適用于具有缺失數(shù)據(jù)的分類問題。
針對(duì)大數(shù)據(jù)分類問題,基于MapReduce編程框架,He等[19]分別提出了并行增量ESVM算法和并行ELM算法[20],這是用ELM解決大數(shù)據(jù)分類問題的較早工作。Wang等[21]提出了基于MapReduce的并行序列ELM算法,用于解決序列大數(shù)據(jù)分類問題。Xin等[22]將矩陣運(yùn)算分解到不同的云計(jì)算節(jié)點(diǎn)上以實(shí)現(xiàn)并行化,同時(shí)提出了ELM*算法,應(yīng)用于解決大數(shù)據(jù)ELM廣義逆矩陣的計(jì)算問題。沿著這一技術(shù)路線,文獻(xiàn)[23]提出了面向大樣本數(shù)據(jù)的核化ELM學(xué)習(xí)模型。
對(duì)于上面的數(shù)據(jù)分類問題,研究人員還提出了許多基于集成學(xué)習(xí)的分類算法。例如,Liu等[24]提出了基于集成的ELM學(xué)習(xí)模型EELM,目的是為了提高學(xué)習(xí)模型的泛化能力。文獻(xiàn)[24]采用了靜態(tài)集成方法,在分類測試樣例時(shí),各個(gè)基本分類器被看作具有同等的重要性。Wang等[25]提出了一種動(dòng)態(tài)集成ELM學(xué)習(xí)模型,其動(dòng)態(tài)性體現(xiàn)在所用的集成策略上,即AdaBoost集成學(xué)習(xí)策略。基于樣本的信息熵,Zhai等[26]提出了另一種動(dòng)態(tài)集成ELM學(xué)習(xí)模型,該模型在泛化能力和穩(wěn)定性上均有好的表現(xiàn)。
集成學(xué)習(xí)模型可以較好地解決各種ELM模型的預(yù)測不穩(wěn)定、容易產(chǎn)生過擬合以及最優(yōu)隱含層結(jié)點(diǎn)數(shù)難于確定等問題。本文提出了一種簡單有效的集成數(shù)據(jù)分類方法,可在一定程度上解決以上問題,該方法分為3步:(1)用ELM算法重復(fù)訓(xùn)練若干個(gè)單隱含層前饋神經(jīng)網(wǎng)絡(luò);(2)用多數(shù)投票法集成訓(xùn)練好的神經(jīng)網(wǎng)絡(luò);(3)用集成模型對(duì)數(shù)據(jù)進(jìn)行分類。在10個(gè)數(shù)據(jù)集上實(shí)驗(yàn)比較結(jié)果表明,本文提出的方法優(yōu)于極限學(xué)習(xí)機(jī)和集成極限學(xué)習(xí)機(jī)。
圖1 極限學(xué)習(xí)機(jī)神經(jīng)網(wǎng)絡(luò)Fig.1 Extreme learning machine neural networks
給定如圖1所示的單隱含層前饋神經(jīng)網(wǎng)絡(luò)(Extreme learning machine neural networks,SLFNNs),其中輸入層結(jié)點(diǎn)的個(gè)數(shù)為d,d描述樣例的特征或?qū)傩詡€(gè)數(shù);隱含層結(jié)點(diǎn)個(gè)數(shù)為m,m為特征空間的維數(shù);輸出層結(jié)點(diǎn)個(gè)數(shù)為k,k為樣例的類別個(gè)數(shù)。SLFNNs的這種網(wǎng)絡(luò)結(jié)構(gòu)可用一個(gè)三元組(d,m,k)表示。
給定訓(xùn)練集D={(xi,yi)|xi∈Rd,yi∈Rk},1≤i≤n,n是數(shù)據(jù)集D中樣例個(gè)數(shù)。結(jié)構(gòu)為(d,m,k)的SLFNN表示為
(1)
式中:wj和bj分別為隨機(jī)生成的輸入層連接權(quán)和隱含層結(jié)點(diǎn)偏置;βj為由式(2)確定的輸出層連接權(quán)。
(2)
式(2)可等價(jià)為
Hβ=Y
(3)
其中
(4)
(5)
(6)
一般情況下,難以得到式(3)的精確解,用下面優(yōu)化問題的解逼近。
(7)
式(7)的解可表示為
(8)
其中,H+是H的廣義逆矩陣。算法1給出了ELM的偽代碼描述。
算法1極限學(xué)習(xí)機(jī)算法
(1) 輸入:訓(xùn)練集D={(xi,yi)|xi∈Rd,yi∈Rk,1≤i≤n};激活函數(shù)g;隱含層結(jié)點(diǎn)數(shù)m。
(3) for (j=1,j≤m;j=j+1)do
(4) 隨機(jī)給定輸入權(quán)值wj和偏置bj;
(5) end
(6) 計(jì)算隱含層輸出矩陣H;
(7) 計(jì)算矩陣H的廣義逆矩陣H+;
集成重復(fù)訓(xùn)練極限學(xué)習(xí)機(jī)的數(shù)據(jù)分類方法是受下面思想的啟發(fā):對(duì)于給定的單隱含層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),重復(fù)訓(xùn)練該網(wǎng)絡(luò),會(huì)得到結(jié)構(gòu)相同,但是模型參數(shù)不同的SLFNNs。如果隱含層結(jié)點(diǎn)個(gè)數(shù)也隨機(jī)生成,那么可以得到結(jié)構(gòu)和參數(shù)均不同的SLFNNs。本文方法就是用多數(shù)投票法集成這些重復(fù)訓(xùn)練得到的SLFNNs,并用于分類新的數(shù)據(jù)。
在各種ELM模型中,一般地,wji,bj~U[-1,+1][27]。在本文提出的方法中,基本分類器的訓(xùn)練也采用服從上述均勻分布的隨機(jī)權(quán)初始化。雖然本文方法思想簡單,但實(shí)驗(yàn)結(jié)果顯示,本文算法優(yōu)于ELM及EELM,算法可用下面的偽代碼表示。
算法2集成重復(fù)訓(xùn)練極限學(xué)習(xí)機(jī)的數(shù)據(jù)分類方法
(1) 輸入:訓(xùn)練集D={(xi,yi)|xi∈Rd,yi∈Rk,1≤i≤n};SLFNN的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)(d,m,k);重復(fù)訓(xùn)練次數(shù)p;測試樣例x。
(2) 輸出:測試樣例x的類標(biāo)y(x)。
(3) for (j=1,i≤p;i=i+1)do
(4) 運(yùn)用極限學(xué)習(xí)機(jī)算法重復(fù)訓(xùn)練結(jié)構(gòu)為(d,m,k)的SLFNN,得到SLFNN1,SLFNN2,…,SLFNNp,設(shè)SLFNNi的輸出為k維0-1二元組(yi1(x),yi2(x),…,yik(x))T∈{0,1}k,其中,yij(x)=1,如果SLFNNi分類樣例x為第j類,否則,yij(x)=0,1≤j≤k。
(5) end
(6) for (i=1,i≤p;i=i+1)do
(7) 運(yùn)用訓(xùn)練好的SLFNNi計(jì)算測試樣例x的輸出,即x的類標(biāo)向量(yi1(x),yi2(x),…,yik(x))T;
(9) end
(10) 輸出測試樣例x的類標(biāo)y(x)。
在算法2中,對(duì)于給定的測試樣例x,步驟(8)中公式計(jì)算的是把x分類到每一類的結(jié)果。根據(jù)算法步驟(4)的描述容易看出,這一結(jié)果就是每一類的得票數(shù)。
為了驗(yàn)證本文方法的有效性,在10個(gè)數(shù)據(jù)集上進(jìn)行了3個(gè)實(shí)驗(yàn):(1) 用于發(fā)現(xiàn)集成分類器的個(gè)數(shù)對(duì)測試精度的影響;(2) 與ELM算法進(jìn)行比較;(3)與文獻(xiàn)[24]中的算法進(jìn)行比較。實(shí)驗(yàn)所用的數(shù)據(jù)集包括2個(gè)真實(shí)數(shù)據(jù)集(CT和RenRu)[27]和8個(gè)UCI數(shù)據(jù)集[28],基本信息如表1所示。
實(shí)驗(yàn)1集成分類器的個(gè)數(shù)對(duì)測試精度的影響
首先在訓(xùn)練集上用ELM算法重復(fù)訓(xùn)練用于集成的SLFNNs,然后集成不同個(gè)數(shù)的分類器SLFNNs,并記錄相應(yīng)的測試精度,最后繪制集成分類器的個(gè)數(shù)與測試精度之間關(guān)系的曲線圖,以發(fā)現(xiàn)比較合適的分類器集成個(gè)數(shù)。為了表述結(jié)果的清晰,在前5個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖2所示,在后5個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖3所示。
從圖2和圖3可看出隨著集成分類器個(gè)數(shù)的增加,測試精度也隨著增加,但增加到一定程度時(shí),例如集成分類器的個(gè)數(shù)為4或5時(shí),測試精度不會(huì)再有較大幅度的增加,有的甚至?xí)杂邢陆?。在?shí)驗(yàn)2和實(shí)驗(yàn)3中,選擇集成分類器的個(gè)數(shù)都為5。
實(shí)驗(yàn)2本文方法與ELM的比較
在實(shí)驗(yàn)2中,單隱含層前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是固定的,即隱含層結(jié)點(diǎn)個(gè)數(shù)是固定的。對(duì)于不同的數(shù)據(jù)集,利用文獻(xiàn)[29]中的方法確定網(wǎng)絡(luò)隱含層最優(yōu)結(jié)點(diǎn)個(gè)數(shù),選擇的結(jié)果列于表2。
表2 選擇的最優(yōu)隱含層結(jié)點(diǎn)個(gè)數(shù)
網(wǎng)絡(luò)結(jié)構(gòu)確定后,用服從[-1, +1]區(qū)間均勻分布U[-1,+1]的隨機(jī)數(shù)初始輸入層權(quán)值和隱含層偏置,并用極限學(xué)習(xí)機(jī)算法重復(fù)訓(xùn)練5個(gè)SLFNNs,最后用多數(shù)投票法集成訓(xùn)練好的這5個(gè)SLFNNs,用于測試新樣例的類別。在10個(gè)數(shù)據(jù)集上與ELM進(jìn)行比較的實(shí)驗(yàn)結(jié)果如圖4—13所示。
圖4 在數(shù)據(jù)集Breast上的實(shí)驗(yàn)結(jié)果 圖5 在數(shù)據(jù)集CT上的實(shí)驗(yàn)結(jié)果 圖6 在數(shù)據(jù)集Forest上的實(shí)驗(yàn)結(jié)果
Fig.4 Experimental results on data set Breast Fig.5 Experimental results on data set CT Fig.6 Experimental results on data set Forest
圖7 在數(shù)據(jù)集Heart上的實(shí)驗(yàn)結(jié)果 圖8 在數(shù)據(jù)集Iris上的實(shí)驗(yàn)結(jié)果 圖9 在數(shù)據(jù)集Parkinsons上的實(shí)驗(yàn)結(jié)果
Fig.7 Experimental results on data set Heart Fig.8 Experimental results on data set Iris Fig.9 Experimental results on data set Parkinsons
圖10 在數(shù)據(jù)集Pen上的實(shí)驗(yàn)結(jié)果 圖11 在數(shù)據(jù)集RenRu上的實(shí)驗(yàn)結(jié)果
Fig.10 Experimental results on data set Pen Fig.11 Experimental results on data set RenRu
圖12 在數(shù)據(jù)集Seeds上的實(shí)驗(yàn)結(jié)果 圖13 在數(shù)據(jù)集Ionosphere上的實(shí)驗(yàn)結(jié)果
Fig.12 Experimental results on data set Seeds Fig.13 Experimental results on data set Ionosphere
從圖4—13所示的實(shí)驗(yàn)結(jié)果可以看出,集成重復(fù)訓(xùn)練的ELM在10個(gè)數(shù)據(jù)集上的測試精度都優(yōu)于ELM。此外,還用T-檢驗(yàn)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了統(tǒng)計(jì)分成。T-檢驗(yàn)中的顯著性水平α=0.05,結(jié)果如表3所示。從列于表3的P值可以看出,因?yàn)槌嗽赑en數(shù)據(jù)集上,P值都非常小,所以集成重復(fù)訓(xùn)練的ELM的測試精度和ELM的測試精度有本質(zhì)的區(qū)別,這一結(jié)論成立的概率至少為0.95。因此,上述結(jié)論具有可信性。
實(shí)驗(yàn)3本文方法與EELM的比較
在實(shí)驗(yàn)3中,本文方法與文獻(xiàn)[24]中的集成ELM模型(即EELM),從測試精度和CPU時(shí)間兩方面進(jìn)行了比較。用于集成的分類器的個(gè)數(shù)和實(shí)驗(yàn)2一致,也設(shè)定為5,但為了進(jìn)一步增加分類器的多樣性,在這個(gè)實(shí)驗(yàn)中,隱含層結(jié)點(diǎn)的個(gè)數(shù)也隨機(jī)生成。具體地,若訓(xùn)練集的維數(shù)為d,在區(qū)間(pd,qd)中隨機(jī)生成一個(gè)正整數(shù)m作為隱含層結(jié)點(diǎn)的個(gè)數(shù)。其中,p和q是嚴(yán)格大于1的正整數(shù)。對(duì)于實(shí)驗(yàn)所用的10個(gè)數(shù)據(jù)集,這些參數(shù)的設(shè)置如表4所示。
表3 對(duì)實(shí)驗(yàn)結(jié)果的統(tǒng)計(jì)分析
表4 實(shí)驗(yàn)3中參數(shù)的設(shè)置
網(wǎng)絡(luò)結(jié)構(gòu)確定后,在訓(xùn)練集上重復(fù)訓(xùn)練5個(gè)SLFNNs,然后用多數(shù)投票法進(jìn)行集成,并用于分類測試樣例。本文方法與EELM的比較結(jié)果如表5所示。從表5的實(shí)驗(yàn)結(jié)果可以清楚地發(fā)現(xiàn)本文提出的方法,無論在測試精度和CPU時(shí)間上,均優(yōu)于EELM。
表5 本文方法與EELM的比較結(jié)果
Tab.5 Comparisons between proposed algorithm and EELM
本文提出了一種集成重復(fù)訓(xùn)練極限學(xué)習(xí)機(jī)的數(shù)據(jù)分類方法,該方法利用了極限學(xué)習(xí)機(jī)隨機(jī)初始化的思想。具體地,如果重復(fù)訓(xùn)練隱含層結(jié)點(diǎn)個(gè)數(shù)相同的SLFNNs,那么可得到結(jié)構(gòu)相同但參數(shù)不同的學(xué)習(xí)模型。如果重復(fù)訓(xùn)練隱含層結(jié)點(diǎn)個(gè)數(shù)不同的SLFNNs(即隱含層結(jié)點(diǎn)個(gè)數(shù)也隨機(jī)生成),那么可得到結(jié)構(gòu)和參數(shù)都不同的學(xué)習(xí)模型。這兩類模型都能從不同層面反應(yīng)數(shù)據(jù)集不同視角的特征,可以保證分類器模型的多樣性,特別是后者。集成這些學(xué)習(xí)模型用于數(shù)據(jù)分類,可起到取長補(bǔ)短的作用,提高數(shù)據(jù)分類的精度。本文方法的特點(diǎn)是思想簡單、易于實(shí)現(xiàn)。與ELM和EELM在10個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果及對(duì)實(shí)驗(yàn)結(jié)果的統(tǒng)計(jì)分析均表明本文方法優(yōu)于其他兩種算法。本文下一步的研究工作包括:(1)將研究集成重復(fù)訓(xùn)練異構(gòu)SLFNNs問題,即SLFNNs用服從不同概率分布的隨機(jī)數(shù)初始化網(wǎng)絡(luò)參數(shù),并研究集成重復(fù)訓(xùn)練同構(gòu)SLFNNs和集成重復(fù)訓(xùn)練異構(gòu)SLFNNs在測試精度上有無本質(zhì)區(qū)別;(2)本文方法在大數(shù)據(jù)環(huán)境中的可擴(kuò)展性問題。針對(duì)大數(shù)據(jù)問題,特別是具有現(xiàn)實(shí)背景意義的大數(shù)據(jù)問題,研究本文算法的可擴(kuò)展性性問題。