孫浩藝,王傳美,丁義明
(武漢理工大學理學院,武漢 430070)
(*通信作者電子郵箱wchuanmei@163.com)
極限學習機(Extreme Learning Machine,ELM)是在2004年由新加坡南洋理工大學教授黃廣斌提出的一種全新單隱藏層前饋神經(jīng)網(wǎng)(Single-hidden Layer Feedforward Neural Network,SLFN)[1],極限學習機的網(wǎng)絡模型分為三層,即輸入層、隱藏層和輸出層。輸入層實現(xiàn)了接收外部環(huán)境的輸入變量的功能;隱藏層內有激活函數(shù)主要用于實現(xiàn)計算、識別等功能;輸出層則用于輸出結果。ELM 從理論上證明了當SLFN的隱藏層激活函數(shù)無限可微時,其學習能力與輸入權重和偏置等參數(shù)選取無關,即可以隨機選擇輸入層權重和偏置[2],無需反向調節(jié)參數(shù)。極限學習機屬于一次完成型算法,能夠以極快的學習速度達到較好的泛化性能,從而解決了傳統(tǒng)神經(jīng)網(wǎng)絡學習速度緩慢的限制,拓寬了極限學習機的應用范圍[3]。
ELM 算法自提出就以結構簡單、學習速度快和具有良好的泛化性能著稱。對ELM 算法的改進研究,主要圍繞超限學習機的誤差、泛化性和穩(wěn)定性,包括對訓練數(shù)據(jù)進行預處理,輸入層權重與偏置的確定,隱藏層神經(jīng)元的個數(shù)及顯隱性表達,激活函數(shù)的選擇等。
在數(shù)據(jù)預處理方面,對于有噪聲的或丟失的數(shù)據(jù),Man等[4]提出了對噪聲數(shù)據(jù)性能的極限學習機FIR-ELM(Finite Impulse Response ELM)模型,其中輸入權值是基于有限脈沖響應濾波器分配的,將隱藏層作為預處理層,增強了模型的魯棒性。Yu 等[5]研究了缺失數(shù)據(jù)的ELM 回歸問題,提出了一種Tikhonov 正則化最優(yōu)剪枝極限學習機TROP-ELM(Tikhonov Regularization Optimally Pruned ELM),缺失值由傳統(tǒng)均值替換,再采用高斯函數(shù)從輸入的數(shù)據(jù)中隨機選取中心,計算距離矩陣來得到隱藏層輸出矩陣,從而處理缺失數(shù)據(jù)問題。
為了提高ELM 的網(wǎng)絡結構的緊湊性,其中一種想法是以動態(tài)方式訓練ELM,即在訓練過程中生長、修剪或替換隱藏的神經(jīng)元。Huang等[6]提出的增量ELM(Incremental ELM,I-ELM),可以從候選池中選擇新添加的隱藏神經(jīng)元,并且僅添加適當?shù)纳窠?jīng)元。Yang 等[7]提出了雙向ELM(Bidirectional ELM,B-ELM)的快速增量ELM,以降低傳統(tǒng)ELM 的網(wǎng)絡規(guī)模。Zhang 等[8]提出了自適應ELM(Adaptive Growth ELM,AG-ELM)中,隱藏層的大小可能會在訓練過程的任何步驟中增加、減少或保持不變。隨后Deng 等[9]提出的兩階段ELM 算法即將ELM 和留一法(Leave-One-Out,LOO)交叉驗證與逐步構建過程集成在一起,該過程可以自動確定網(wǎng)絡的大小,并提高了由ELM構建的模型的緊湊性。
為了提高ELM 中輸出權值的穩(wěn)定性。Wang 等[10]證明,對于某些激活函數(shù)(如徑向基函數(shù)(Radial Basis Function,RBF)),總會存在輸入權重,使得映射矩陣H屬于全列秩或全行秩,于是提出了一種有效的輸入權重選擇算法來代替ELM中的隨機特征映射,從而提高了輸出權重求解的穩(wěn)定性。Yuan 等[11]基于H的條件以不同的方式求解輸出權重:列滿秩、行滿秩、列和行都不是滿秩的。這樣與傳統(tǒng)的ELM 相比,以更穩(wěn)定的方式計算輸出權重。綜上對ELM 的改進,都與輸出矩陣H相關,數(shù)據(jù)預處理相關的輸入X、輸入權重wi和偏置bi,在經(jīng)過隱藏層后為H的列,神經(jīng)元節(jié)點數(shù)即為H的行,輸出權重的求解也與H相關,說明了挑選和改進輸出矩陣H的必要性。
本文基于ELM 算法中隱藏層到輸出層存在的誤差,細致地分析了ELM 誤差,發(fā)現(xiàn)誤差來源于隱藏層輸出矩陣求解廣義逆矩陣的過程。為了進一步縮小算法誤差,探尋與算法誤差相關的合適目標矩陣和穩(wěn)定指標,通過實驗確定了目標矩陣H?H的L21 范數(shù)與ELM 的誤差呈線性相關,根據(jù)此現(xiàn)象引入Gaussian濾波對目標矩陣進行降噪處理,使目標矩陣的L21范數(shù)改變,來達到優(yōu)化ELM算法的目的。
極限學習機是一種單隱藏層前饋神經(jīng)網(wǎng)絡(SLFN),由輸入層、隱藏層和輸出層組成,且由于輸入權重和偏差的隨機性,隱藏層到輸出層為線性輸出,相較于SLFN 不存在輸出偏置,故極限學習機的結構如圖1所示。
圖1 極限學習機網(wǎng)絡結構Fig.1 Structure of ELM network
對于N個任意不同的樣本(xi,ti)∈Rn× Rm,具有L個隱藏節(jié)點和激活函數(shù)g(x)的SLFN在數(shù)學上模型為:
其中:wi=[wi1,wi2,…,win]T是連接第i個隱藏節(jié)點和輸入節(jié)點的輸入權值;βi=[βi1,βi2,…,βim]是連接第i個隱藏節(jié)點與輸出節(jié)點的輸出權值;bi為第i個隱藏節(jié)點的偏置。
當β=[β1,β2,…,βL]T,T=[t1,t2,…,tN]T和
則式(2)可以簡化為:
其中:H稱為神經(jīng)網(wǎng)絡的隱藏層輸出矩陣。因為在ELM中,當激活函數(shù)g(x)無限可微時,輸入權重wi和偏置bi可以被隨機確定[1]。此時ELM的優(yōu)化模型如下:
對于任意一個m×n矩陣A,若存在n×m矩陣G滿足下列Moore-Penrose方程:
則稱G為A的Moore-Penrose 廣義逆矩陣,記為A?。其中A*表示A的轉置共軛矩陣。
矩陣的范數(shù),是將一定的矩陣空間建立為賦范向量空間時為矩陣裝備的范數(shù)。矩陣的范數(shù)能反映矩陣的某一種數(shù)值特征,故根據(jù)定義的不同,存在L1 范數(shù)、F 范數(shù)(L2 范數(shù))、列和范數(shù)、核范數(shù)、L21范數(shù)、L12范數(shù)等[12]。
L1 范數(shù)為矩陣所有元素的絕對值之和,能夠描述該矩陣的稀疏性,定義為:
F 范數(shù)(L2 范數(shù))為矩陣的歐氏范數(shù),即矩陣所有元素的平方和的算術平方根,定義為:
列和范數(shù)(1-范數(shù))是將矩陣每列取絕對值求和,然后選出數(shù)值最大的那個值,定義為:
核范數(shù)是矩陣奇異值的和,定義為:
L21 范數(shù)定義為,對于矩陣W,先求每一行向量的2-范數(shù)(即每個元素的平方和再開平方根),再對生成的列向量求其1-范數(shù)(即各元素的絕對值之和),故公式為:
L12 范數(shù)同L21 范數(shù)的思想,對于矩陣W,先求每一列向量的1-范數(shù),再對生成的行向量求其2-范數(shù),故公式為:
Gaussian 濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。Gaussian 濾波就是對數(shù)據(jù)矩陣整體進行加權平均的過程,每一個元素,都由其本身和鄰域內的其他元素值經(jīng)過加權平均后得到[13]下面的二維高斯分布:
ELM 算法流程是訓練集輸入為X和輸出為T時,在激活函數(shù)g(x)無限可微的前提下,可隨機地確定輸入權重w和偏置b,產(chǎn)生相對應的隱藏層輸出矩陣H,經(jīng)過輸出權重β得到對應輸出值,故在訓練集中,每完成一次ELM 算法,就會產(chǎn)生一組參數(shù)X、T、w、b、H、β和ε,且一一對應,故進行N次ELM訓練后,可由誤差這一指標得到N次實驗中最優(yōu)的一組ELM參數(shù)。
在分析ELM 算法誤差ε時,發(fā)現(xiàn)式(4)可以進一步簡化為:
其中:E為單位矩陣。由式(16)知ELM 算法的誤差來源于輸出矩陣H及廣義逆矩陣Η?,而且在ELM中訓練集的大小遠大于隱藏層神經(jīng)元節(jié)點數(shù),故H為奇異矩陣,只存在廣義逆。故推斷ELM 算法的誤差來源于生成隱藏層輸出矩陣的廣義逆矩陣Η?的過程。式(16)也表明在同一個訓練集時,誤差即為矩陣H?H到單位矩陣的距離。根據(jù)此距離的大小可挑選出對應訓練誤差小的輸出矩陣H,需要一個指標來衡量矩陣H?H到單位矩陣的距離,即需確定一個目標矩陣和指標來建立與ELM 誤差的關系。根據(jù)此發(fā)現(xiàn),設計了如圖2 所示的ELM算法優(yōu)化流程。
圖2 ELM算法優(yōu)化流程Fig.2 Optimization flowchart of ELM algorithm
基于ELM算法的優(yōu)化流程,設計實驗步驟如下:
步驟1 分析誤差與輸出矩陣H的關系。如式(16)所示,ε誤差和輔助矩陣H?H與單位矩陣的距離大小相關。
步驟2 探尋合適的目標矩陣。在觀察輔助矩陣H?H到單位矩陣的距離時,由Moore-Penrose 廣義逆矩陣的定義[13]得H?H=H?HH?H=H?HH?HH?H=…,目標矩陣可能為H?H,H?H的平方或者H?H的開方。選擇和(H?H)2、(H?H)3、(H?H)5、(H?H)7共9個備選目標矩陣。
步驟3 確定穩(wěn)定的指標。在觀察目標矩陣到單位矩陣的距離時,即要求目標矩陣的對角線元素接近于1,其他元素接近0,故引入范數(shù)這一指標來探尋與誤差的存在的關系,包括L1范數(shù)、F范數(shù)(L2范數(shù))、列和范數(shù)、核范數(shù)、L21范數(shù)、L12范數(shù)等。
步驟4 應用Gaussian 濾波進行降噪處理。針對目標矩陣進行降噪處理,因目標矩陣的指標與算法誤差存在相關性,故通過改進目標矩陣的方式來降低算法誤差。
實驗平臺為Intel i7-8550U 1.8 GHz,16 GB 內存和1 TB 硬盤的筆記本,實驗在Windows 10 系統(tǒng)上用Matlab2017(b)實現(xiàn)[14]。
基于隱藏層輸出矩陣的ELM 算法優(yōu)化旨在展現(xiàn)算法運算過程中所發(fā)現(xiàn)的隱藏層輸出矩陣生成其廣義逆矩陣H?的過程,擬通過實驗確定目標矩陣和穩(wěn)定指標與誤差是否存在線性關系。設計如下4步實驗:
實驗1 分析誤差與輸出矩陣H的關系;
實驗2 探尋合適的目標矩陣;
實驗3 確定穩(wěn)定的指標;
實驗4 應用Gaussian濾波進行算法優(yōu)化。
本文的訓練集為服從均勻分布下隨機產(chǎn)生500 組數(shù)據(jù),包括輸入X、輸入噪聲σ、輸出T,如表1所示。
表1 訓練集生成Tab.1 Training set generation
因ELM 在激活函數(shù)g(x)無限可微的前提下,可隨機地確定輸入權重w和偏置b,產(chǎn)生相對應的隱藏層輸出矩陣H。故其中激活函數(shù)g(x)的選擇也是算法重要的一步,常用的有如表2所示的三種激活函數(shù)[1]。
表2 激活函數(shù)列表Tab.2 List of activation functions
3.2.1 分析誤差的來源及結果
ELM 誤差存在于隱藏層到輸出層的過程,其中由輸出矩陣H與輸出T求輸出權重時,需計算廣義逆矩陣Η?,誤差就此產(chǎn)生。引入ELM 運算過程中產(chǎn)生的H?H為輔助矩陣,若輸出矩陣為非奇異矩陣,H-1Η=E,推測輔助矩陣應更接近單位陣,產(chǎn)生的ELM 算法誤差較小。輸出矩陣H的行和列分別對應神經(jīng)元節(jié)點數(shù)和訓練集大小。
設計實驗如下,在確定H?H的列(訓練集大小)為1×500(以表1 中第1 組為例),調節(jié)H?H的行(神經(jīng)元節(jié)點數(shù))的大小來記錄對應的ELM 算法誤差,選用Sin激活函數(shù),以50次實驗為一組,循環(huán)100次取均值,得到數(shù)據(jù)如表3所示。
表3 神經(jīng)元節(jié)點數(shù)與誤差關系Tab.3 Relation between neuron node number and error
從表3 可看出,最小誤差和平均誤差都是隨神經(jīng)元節(jié)點個數(shù)的增加而減小,故輸出矩陣H的變化影響著誤差的變化。
進一步實驗,選擇最小誤差對應的參數(shù)組,同時調節(jié)神經(jīng)元節(jié)點數(shù)大小,觀察輔助矩陣H?H到單位矩陣的距離,得到圖3所示的不同節(jié)點對應的H?H矩陣數(shù)值三維圖。
從圖3 可看出,當節(jié)點數(shù)分別為50、100、200 和499 時,對應矩陣的對角線元素值在0.1、0.2、0.4和1.0上下浮動,相對應的誤差也減小。這說明誤差的大小與輔助矩陣H?H與單位矩陣的距離相關,可根據(jù)矩陣H?H到單位矩陣距離的大小來挑選訓練誤差小的輸出矩陣H。根據(jù)實驗1中發(fā)現(xiàn)的現(xiàn)象,下一步就需要引入指標來衡量矩陣H?H到單位矩陣的距離,通過實驗確定與單位矩的距離更小的目標矩陣,進一步分析與誤差的關系。
圖3 不同節(jié)點數(shù)(50、100、200、499)對應的H?H矩陣數(shù)值三維圖Fig.3 Numerical three-dimensional diagram of H?H matrix corresponding to different node numbers(50,100,200,499)
3.2.2 探尋合適的目標矩陣及結果分析
為了探尋合適的目標矩陣,由輔助矩陣H?H和Moore-Penrose 廣義逆矩陣的定義,發(fā)現(xiàn)目標矩陣可能為H?H,和(H?H)2、(H?H)3、(H?H)5、(H?H)7等??赡艿闹笜擞蠰1 范數(shù)、F 范數(shù)、1 范數(shù)(列和范數(shù))、2 范數(shù)(譜范數(shù))和核范數(shù)等,并進行關聯(lián)分析,多個目標矩陣和多個指標的關聯(lián)如圖4所示。
圖4 多個目標矩陣與多個指標的關聯(lián)圖Fig.4 Correlation diagram of multiple target matrices and multiple indices
研究的對象是目標矩陣到單位矩陣的距離,暫選定能較好表示矩陣數(shù)值特征的L1范數(shù)為指標,通過實驗初選目標矩陣。進行如下實驗,在同一個輸入X為1×500 的訓練集(以表1 中組別1~4 為例),訓練集生成函數(shù)為T=+e,以50次實驗為一組,循環(huán)100次取均值,實驗結果見表4與圖5。
在表4 的12 組對比實驗中,采用控制變量法來初選目標矩陣,其中自變量有訓練集的噪聲區(qū)間、訓練集的生成函數(shù)、激活函數(shù)等,因變量為算法的誤差和備選目標矩陣H?H,和(H?H)2、(H?H)3、(H?H)5、(H?H)7的L1 范數(shù)。圖5 中誤差與備選目標矩陣的L1 范數(shù)存在線性關系,即為后續(xù)實驗確定了方向。
表4 誤差與備選目標矩陣的L1范數(shù)的相關性分析Tab.4 Correlation analysis of error and L1-norm of alternative target matrices
圖5 一次實驗中備選的9個目標矩陣的L1范數(shù)與算法誤差的相關性Fig.5 L1-norm of 9 alternative target matrices and algorithm error
根據(jù)相關系數(shù)的絕對值大于0.600 000 和每組實驗中的相關系數(shù)絕對值最大這兩個原則,計數(shù)投票出了排序前三的初選目標矩陣H?H、(H?H)3和(H?H)7,擬引入與目標矩陣相關的更多指標來進一步實驗,包括L1 范數(shù)、F 范數(shù)(L2 范數(shù))、列和范數(shù)、核范數(shù)、L21范數(shù)、L12范數(shù)這6個指標。
3.2.3 確定穩(wěn)定的指標及結果分析
根據(jù)實驗2 的結果,擬采用與誤差的相關系數(shù)最佳的穩(wěn)定指標來反向確定3 個備選目標矩陣中的最優(yōu)目標矩陣,為了說明誤差與目標矩陣范數(shù)指標的線性相關這一現(xiàn)象的穩(wěn)定性,增加對比實驗到48 組,表5 為3 個備選矩陣中H?H的6 種范數(shù)與算法誤差的相關分析結果。
上述實驗中,對3 個備選目標矩陣中H?H的6 個范數(shù)指標進行了對比實驗,為了得到一個穩(wěn)定的指標,對每一個目標矩陣進行48組實驗并記錄數(shù)據(jù)。表5中誤差與L21范數(shù)的相關系數(shù)絕對值大于0.600 000 的在48 組中有29 組,大于0.800 000 的14 組。3 個備選矩陣中(H?H)3和(H?H)7同樣進行48組實驗,得到數(shù)據(jù)計算其6個范數(shù)指標數(shù)據(jù)(取絕對值后再平均),如表6所示。在18個指標中發(fā)現(xiàn)H?H的L21范數(shù)為最穩(wěn)定的指標,其48 組實驗的絕對數(shù)均值為0.613 300 的最佳相關系數(shù)。
表5 目標矩陣為H?H的6個范數(shù)指標的48組對比實驗數(shù)據(jù)Tab.5 Forty-eight sets of comparative experimental data for six norm indices and target matrix H?H
表6 三個備選目標矩陣與指標絕對值的均值的關系表Tab.6 Correlation table of 3 alternative target matrices and absolute average indices
3.2.4 應用Gaussian濾波進行算法優(yōu)化及結果分析
確定了與ELM 算法誤差呈線性相關的是目標矩陣H?H的L21范數(shù)后,根據(jù)線性相關性和矩陣范數(shù)的性質,提出采用Gaussian 濾波對目標矩陣進行降噪處理[15],通過降低H?H的L21 范數(shù),從而達到降低ELM 算法誤差的目的。具體應用Gaussian 濾波的步驟是:①將目標矩陣H?HN×N(N為樣本數(shù))的對角線元素提出得到矩陣DN×N,再將余下的目標矩陣非對角線元素按序拉伸為行矩陣;②應用一維Gaussian 濾波優(yōu)化行矩陣后,重新排列得到優(yōu)化矩陣GN×N;③將優(yōu)化矩陣GN×N的對角線元素替換為原對角線元素矩陣DN×N,得到優(yōu)化后的目標矩陣。聯(lián)系算法實驗1 分析誤差的來源及結果,設計如上的優(yōu)化步驟,是為了在保持目標矩陣H?H的對角元素值不變,優(yōu)化非對角元素值,此時降低了H?H的L21范數(shù),達到縮小目標矩陣H?H與單位矩陣的偏差的目的。
圖6 和圖7 分別為目標矩陣H?H的L21 范數(shù)與算法誤差呈負相關和正相關時的變化曲線,曲線表示初始數(shù)據(jù),散點圖表示濾波后的數(shù)據(jù)。圖7 中正相關時,通過采用Gaussian 濾波優(yōu)化了目標矩陣H?H使其L21 范數(shù)降低,從而達到了減小算法誤差的目的。
圖6 濾波前后誤差對比圖、濾波前后L21范數(shù)對比圖和濾波后誤差與矩陣L21范數(shù)的關系圖(負相關)Fig.6 Diagrams of error comparison before and after filtering,L21-norm comparison before and after filtering and error and matrix L21-norm correlation after filtering(negative correlation)
圖7 濾波前后誤差對比圖、濾波前后L21范數(shù)對比圖和濾波后誤差與矩陣L21范數(shù)的關系圖(正相關)Fig.7 Diagrams of error comparison before and after filtering,L21-norm comparison before and after filtering and error and matrix L21-norm correlation after filtering(positive correlation)
本文是基于ELM 的隱藏層輸出矩陣H對算法誤差進行優(yōu)化。在ELM 的中,訓練集的大小遠大于隱藏層神經(jīng)元節(jié)點數(shù),故其對應行列產(chǎn)生的輸出矩陣H為奇異矩陣,需生成對應的Moore-Penrose 廣義逆矩陣Η?來求解輸出權重β,分析得出廣義逆矩陣Η?的誤差造成了ELM 算法的誤差。根據(jù)廣義逆的定義和輔助矩陣推測目標矩陣為H?H,H?H的平方或者H?H的開方和誤差指標為目標矩陣的范數(shù),設計實驗得出目標矩陣H?H的L21 范數(shù)與ELM 誤差呈線性相關,最后通過應用Gaussian 濾波優(yōu)化目標矩陣H?H使其L21 范數(shù)改變,達到減小算法誤差的目的。
ELM 作為一次完成型算法,需要多次訓練后來挑選出好的輸出矩陣H,每個輸出矩陣H對應的訓練誤差都存在改進的空間[16]。實驗選用了輔助矩陣H?H,在考慮優(yōu)化矩陣H?H到單位矩陣的距離時,應用了Gaussian濾波對H?H進行優(yōu)化,能較好地降低誤差。還可以研究基于Lasso回歸、演化算法等其他方法進行矩陣優(yōu)化。本文研究表明對于ELM 算法,通過對目標矩陣H?H等與輸出矩陣H相關的優(yōu)化,或者直接對輸出矩陣H的優(yōu)化實驗,均存在進一步降低訓練誤差的可能。