翟華偉,崔立成,張維石
1(大連海事大學 信息科學技術學院,遼寧 大連 116026) 2(大連理工大學 電子信息與電氣工程學部,遼寧 大連 116024) 3(遼寧警察學院 公安信息系,遼寧 大連 116036)
極限學習機[1](Extreme Learning Machine,簡稱ELM)是一種單隱層前饋神經網絡(簡稱SLFNs)學習算法,最大特點是只需確定隱節點數和輸出權,其它參數隨機設置且保持不變.
隨著ELM算法的廣泛應用,其在計算復雜度、泛化能力等方面已無法滿足需求,國內外學者從理論層面和應用角度對ELM進行改進.首先,引入小波和遺傳算法等技術,構建融合或組合ELM算法[1-3],通過使用小波等技術對輸入樣本進行預處理,隨后進行ELM的訓練和預測,或采用遺傳算法等技術對ELM的預測結果進行優化.陳海鵬等人[4]引入小波變換,提出基于小波和ELM的組合預測方法,對訓練樣本進行分解與重構,隨后使用ELM對分解后的樣本進行預測.該類算法并未改變ELM算法本身,其應用性和泛化性能受到一定的影響.為此,研究者引入蟻群算法和遺傳算法等,對ELM算法本身進行了改進.楊立群等人[5]將ELM算法和深度學習方法相結合,將微分進化算法融入人工蜂群算法中,對ELM算法的輸出權和相關參數進行優化.翟俊海等人[6]引入模糊積分,通過模糊積分集成重復訓練ELM,得到結構和參數不同的SLFNs.李凡軍[3]和杜占龍[7]等人引入靈敏度的概念,基于靈敏度將各隱節點排序,刪除靈敏度低的隱節點,解決了ELM網絡結構設計問題.傳統的ELM及其改進算法存在不能動態反映系統的當前變化、性能相對較低等缺陷.為滿足在線應用需求,研究者提出ELM結構動態自適應調整策略,基于當前系統的變化或樣本的實時輸入,動態調整ELM網絡結構.Li Guohu[8]、Alencar[9]和Shao Zhifei[10]等人基于在線學習預測需求,引入序貫學習算法[11]的思想,對ELM算法進行修正,隨著樣本的輸入動態增加隱節點數,極大提高了ELM的靈活性和泛化能力,但隱節點數不能無限制地增加.Zhang Haigang[12]基于線性ELM算法,深入分析訓練樣本特性及其重要性,提出基于遺忘因子的改進在線序貫ELM算法,對每個新樣本進行重要性分析,隨著樣本輸入自動更新隱節點,自適應調整網絡結構,控制隱節點數,提高預測精度,但算法復雜度相對較高.
為解決ELM及其改進算法存在的問題,本文引入序貫算法[11]中貢獻度的思想,改進靈敏度的計算方法,提出基于改進靈敏度的在線自適應ELM算法,即IS-ELM算法,對網絡結構進行合理精簡,降低計算復雜度,提高預測精度.
Hβ=Y
(1)

ELM算法認為,如果L=N,(L為隱節點數,N為訓練樣本數),可以選擇隱節點參數,調整輸出權矩陣,使得模型訓練誤差為零,即‖Hβ-Y‖=0.因此,輸出權β的最優值為β=H-1Y.
樣本量有限的情況下,L值對于模型計算復雜度的影響相對較小,但隨著數據量增加,不能無限制增加L,以達到訓練誤差為零.此外,從實際應用角度分析,也不能像訓練樣本一樣為模型分配大量隱節點,需要對L值進行控制.ELM算法認為,當L 基于上述分析,輸出權矩陣的最優解為: β=H?T (2) 其中,H?為Moore-Penrose廣義逆.如果rank(H)=L成立,則公式(2)可以改寫為: β=(HTH)-1HTY (3) 文獻[3]給出隱節點靈敏度的計算公式,如公式(4)所示. E(l,i)= |fbefore(xi)-fafter(xi)| = |hli‖βl| (4) 其中,E(l,i)為第l個隱節點的靈敏度,βl為連接第l個隱節點的輸出權,hli為第l個隱節點對樣本xi的輸出.少量樣本無法準確地反映隱節點靈敏度大小,需要采用累計靈敏度,如公式(5)所示,N為訓練樣本數,值足夠大,可使樣本完全體現出其變化規律. (5) 基于所有訓練樣本的Eavg(l)的計算復雜度較高,且N的大小難以確定.因此,引入主成份分析來計算隱節點靈敏度,減少對N值的依賴,且計算結果符合認知習慣. 為便于分析,對第l個隱節點的靈敏度可以使用相對學習殘差表示,即: (6) 公式(6)的計算復雜度取決于隱節點數L,S(l,i)∈(0,1),當S(l,i)→1時,靈敏度越大;當S(l,i)→0時,靈敏度趨近于無.此外,少量樣本難以真實反映出第l個隱節點的靈敏度,如公式(5)所示,需要采用累積值,但累積貢獻度的復雜度取決于訓練樣本數N,N值的大小必須能夠反映出訓練樣本的分布狀態,N越大,計算復雜度越大,且N值大小難以確定.因此,引入主成份分析技術,縮減訓練樣本數,降低累積靈敏度的計算復雜度. 給定訓練樣本(xi,yi),i=1,2,…,N,經過主成份分析,獲取訓練樣本的s個主成份PCj,j=1,2,…,s.將PCj作為新的訓練樣本,基于公式(6),可以獲取第l個隱節點的靈敏度S(l,1),S(l,2),…,S(l,s).參考公式(5),第l個隱節點的靈敏度為: (7) 累積貢獻度S(l)的優點在于:1)計算復雜度低,s?N;2)S(l)∈(0,1),S(l)值越大,靈敏度越大,反之越小,完全符合人們的認知習慣,利于分析判斷;3)只需要保存s個計算中間值,節省大量資源. 基于隱節點靈敏度,當靈敏度小于給定閾值εs,即S(l)<εs,可認為此隱節點對ELM輸出結果幾乎沒有任何作用,可以移除. 設當前ELM模型隱節點數為S,其中M個隱節點的累積靈敏度小于給定閾值εs,則移除此M個隱節點,保留S-M個隱節點,記為R={r1,r2,…,rS-M}為保留隱節點集,D={rM+1,rM+2,…,rS}={d1,d2,…,dM}為刪除隱節點集.ELM模型在進行預測時,每個隱節點都會保存訓練樣本內潛在的信息,這些信息對預測結果的精度有著非常重要的作用,因此,移除隱節點前需要保存這些信息,刪除隱節點也是避免模型產生過擬合問題的重要操作. 文獻[3]采用權值橫向平均傳播的方法,更新未移除隱節點的輸入層權值,保留移除節點內的樣本信息.此方法未考慮現存隱節點自身的差異,會改變現存隱節點靈敏度間的相關關系,因此采用橫向相對靈敏度傳播的方法,具體如公式(8)所示. (8) 此外,當ELM算法的輸出結果和實測結果之間的誤差大于給定閾值,即預測結果精度不滿足需求時,表明當前模型無法精確地反映系統當前的動態變化,在考慮重新更新隱節點輸出權的前提下,也需要考慮增加隱節點,以提高模型的預測精度. 文獻[3,7]只考慮到為避免過擬合問題而刪除隱節點,未就提高模型精度而動態增加隱節點.設當前ELM模型隱節點數為S,為提高模型精度需要動態增加一個隱節點,則該隱節點的靈敏度為: (9) 新增隱節點的輸入權(即輸入層到該節點的連接權),如果隨機生成,則缺少歷史數據信息,對于模型精度稍有影響,為此采用相對靈敏度橫向傳播方法,即基于靈敏度間的相關關系,將其它節點的輸入權通過處理作為新增隱節點的輸入權值,如公式(10)所示: (10) 其中,ωs+1,k為第k個輸入層節點到新增隱節點的連接權,ωi,k為第k個輸入層節點到第i個隱節點的連接權. 經過分析整理,可知IS-ELM算法分為離線初始化和在線優化兩個階段,具體流程如下: 1)離線初始化 ②設隱層節點數為s,選取激活函數g(·),隨機生成隱層節點參數αi和βi,i=1,2,…,s. ③基于公式(6)和公式(7),以PCj為訓練樣本,j=1,2,…,s,計算各隱節點的累積靈敏度S(l),l=1,2,…,s. ④令k=0. 2)在線優化 3)預測 對實時采集的數據,使用公式預測下一時刻其變化情況. IS-ELM算法的性能在一定程度上受到閾值參數ε和εs的影響.選取Sigmoid函數為激活函數,驗證ε和εs對算法的影響,結果如圖1和圖2所示. 閾值參數ε用于控制IS-ELM的訓練精度,如圖1所示.ε越小表明訓練精度越大,但會出現過擬合問題,模型預測精度會極具變差;ε越大表明訓練精度越小,可避免過擬合,但模型預測結果會在達到最優后逐漸變差.如圖1所示,當ε=0.72左右時,預測精度達到最優,隨后精度逐漸減小.閾值參數εs用于控制隱節點個數,隨著εs的增大,隱節點個數逐漸減少.如圖2所示,當εs=0.083左右時,隱節點個數最少,即隱層最優.理論上分析,隨著εs的繼續增大,隱節點數會不斷減少,但在訓練精度參數協同控制下,隱節點數會逐漸達到平穩,不會繼續減少. 圖1 閾值參數ε對IS-ELM算法預測精度的影響Fig.1 Influence of ε on prediction accuracy of IS-ELM 選取UCI機器學習數據庫中數據,對IS-ELM算法進行性能測試,并與SA-ELM[3]、N1-ELM[2]和ImSAP-EM[7]進行對比.所有實驗測試都在Matlab2011a環境下進行,其中,選取Sigmoid函數為隱節點激活函數,設置SA-ELM和ImSAP-EM的網絡規模適應度閾值參數為0.3,初始隱節點數為400,IS-ELM算法的閾值參數ε=0.72和εs=0.083. 圖2 貢獻度閾值參數εs對隱節點數的影響Fig.2 Influence of εson the number of hidden nodes 針對回歸問題,選取加州大學爾灣分校機器學習數據庫中標桿數據(回歸問題:auto-MPG、abalone、California Housing和Delta elevators),訓練和測試數據依據問題本身隨機選,表1給出數據的數據集的基本描述.實驗測試結果如圖3、圖4和表2所示. 表1 數據集描述 Auto-MPGAbaloneCaliforniaHousingDeltaelevators訓練樣本數320200080004000測試樣本數721177126405517輸入維7886輸出維1111 圖3和圖4為Abalone回歸問題在學習過程中誤差和隱節點數變化曲線.分析可知,隨著隱節點數的減少,學習誤差從0.051左右開始逐漸增加,最終增加到0.075左右達到恒定,雖然誤差增加較快,但仍在可接受范圍之內. 分析表2中測試結果,五個算法測試誤差(誤差為標準差)結果誤差相差不大,最大相差0.0032,即相比ELM算法IS-EM算法精度分別提高了70.37%、81.08%、29.41%和25.49%.相比改進ELM算法,IS-ELM算法的精度最高分別提高了74.19%、50%、53.85%和22.33%.此外,IS-ELM算法的隱節點個數比原始ELM算法分別減少了63.46%、52%、68.91%和85.89%,相比ImSAP-ELM算法分別減少了17.39%、40%、7.5%和5.89%,表明IS-ELM算法構建的神經網絡結構更加緊湊,訓練時間也相對較短,最短達到0.1931s,最高也只有1.6s左右. 圖3 學習誤差變化曲線Fig.3 Variation curve of learning error 圖4 隱層節點數變化曲線Fig.4 Variation curve of the number of hidden nodes 表2 回歸問題測試結果對比 算法Auto-MPGAbaloneCaliforniaHousingDeltaelevators隱節點數訓練時間測試誤差隱節點數訓練時間測試誤差隱節點數訓練時間測試誤差隱節點數訓練時間測試誤差IS-ELM191.61360.0008120.19310.0007370.97280.0012161.28530.0038SA-ELM211.62870.0009140.21610.0006391.01550.0013161.53880.0045ImSAP-EM232.08530.0021200.28360.0012401.83170.0026171.72530.0043N1-ELM394.51730.003132.451.15940.0014513.40620.0021232.48370.0049ELM521.98370.0027250.01870.00371190.99160.00171220.31860.0051 此外,本文選取大連市某路段交通流量實測數據,對IS-ELM算法進行測試,結果如圖5,其中虛線為觀測值,實線為預測值.從實線的走向看出,IS-ELM算法可以很好地描述出交通流的變化趨勢,但精度還需進一步提高. 圖5 交通流量預測結果對比Fig.5 Comparison of traffic flow predicting results 圖6為截取圖5中采樣時間ID在150至160范圍內的預測結果對比,其中圓圈標記實線為實測值.從圖6中可以直觀地看出,IS-ELM算法可以較為精確地描述交通流的變化趨勢,且與其它預測算法相比,預測精度也更高,預測精度對比提高如表3所示. 綜上,回歸問題的測試對比結果分析表明,IS-ELM訓練時間更短,構建的SLFNs隱節點數更少,網絡結構更加精簡,預測精度較好. 表3 預測精度對比改進率(mAE) IS-ELMImSAP-ELMSA-ELMN1-ELMIS-ELM0-0.51291-0.54642-0.63642ImSAP-ELM-0.512910-0.0688-0.25356SA-ELM-0.54642-0.068790-0.19841N1-ELM-0.63642-0.25356-0.198410 圖6 預測結果對比Fig.6 Comparison of predicting results 本文針對ELM及其改進算法存在的問題,對靈敏度進行修正,提出更符合實際需求的神經網絡剪枝算法IS-ELM,分析隱節點靈敏度,在滿足精度前提下,基于靈敏度大小,動態增加和刪除隱節點,自動更新輸出權.在回歸問題中的實驗結果表明,IS-ELM算法的訓練時間進一步縮短,網絡結構相對精簡,誤差更小.3 改進ELM算法
3.1 隱節點靈敏度
3.2 權值調整

3.3 算法流程


4 性能測試


Table 1 Specification of the data sets


Table 2 Comparison between IS-ELM and other algorithms on regression problems

Table 3 Contrast improved rate(mAE)

5 結 論