陳劍挺, 葉貞成, 程 輝
(華東理工大學化工過程先進控制和優化技術教育部重點實驗室,上海 200237)
極限學習機(ELM)[1]是一種機器學習算法,一種有監督的單隱層前饋神經網絡(SLFN)。它通過隨機生成輸入權重和偏置的方式將輸入映射到高維隱層空間,具有訓練速度快、泛化精度高的特點,并且該算法已被證明具有通用逼近能力[2],因此,ELM已被廣泛應用于回歸、分類等問題之中,如風電預測[3]、故障檢測[4]、醋酸精餾軟測量[5]、圖像識別[6]等。針對該算法輸入權重不能改變的缺點,近些年開發了一些新的技術對ELM算法進行改進[7-8],但都是基于最小二乘法(Least Square,LS)來求解ELM的輸出權重矩陣。最小二乘法的目標是學習未知的映射(線性或非線性),使得模型輸出和標簽值之間的均方誤差(Mean Square Error,MSE)最小化。在均方誤差損失中所有數據樣本所占的權重都相同,因此當數據中有異常值存在時,最小二乘法為了達到極小化殘差平方和的目標,必須遷就異常值,這往往會導致參數估計存在較大的偏差[9]。
為了減少數據中的異常值對算法參數估計的影響,Deng等[10]提出了一種基于加權最小二乘法的正則化魯棒ELM,通過對各個數據樣本賦予不同的權重以增加算法的魯棒性。Zhang等[11]提出了基于范數的損失函數和 l2范數正則項的魯棒ELM,該算法使用增廣拉格朗日乘子算法來極小化目標損失函數,有效地減少了異常值的影響。Xing等[12]用最大相關熵準則(Maximum Correntropy Criterion,MCC)代替最小均方誤差準則,從而提高了算法的泛化性能和魯棒性。Horata等[13]提出了基于Huber損失函數的魯棒ELM,并使用迭代重加權最小二乘(IRLS)算法來求解Huber損失函數的優化問題,但是該損失函數中并沒有引入避免參數過擬合的機制。依據M估計理論,Chen等[14]提出了一個統一的魯棒ELM框架,分別利用 l1范數正則項和 l2范數正則項來避免過擬合,利用4種損失函數( l1范數、Huber、Bisquare、Welsch)提高ELM網絡的魯棒性,并采用IRLS算法來求解,但同時指出對于 l1范數正則項,IRLS算法并不是最佳選擇,快速迭代閾值收縮算法(FISTA)[15]算法在解決 l1范數正則項問題時比IRLS 算法更高效。
Welsch估計方法是穩健估計(Robust Estimation)M估計中的一種方法。Welsch損失是基于Welsch估計方法的損失函數。當數據誤差呈正態分布時,它與均方誤差損失效果相當,但當誤差呈非正態分布,如誤差是由異常值引起時,Welsch損失比均方誤差損失更具魯棒性[14]。而且基于二階統計度量的均方誤差損失函數對數據中的異常值敏感,容易受到異常值的影響,并不是魯棒學習中的好方法[16-18]。
為了使算法兼具極限學習機的高效性和Welsch估計對異常值的魯棒性,本文提出了一種基于 p 階Welsch損失的魯棒極限學習機算法。首先,提出了基于MPE(Mean p-Power Error)[17]改進的 p
階Welsch
損失函數,并用該損失函數替代ELM目標函數中的均方誤差損失;其次,在目標函數中引入 l1范數正則項來獲得稀疏的ELM網絡模型,防止模型過擬合,提高模型的穩定性,并采用快速迭代閾值收縮算法極小化改進的目標函數。在人工數據集和典型的UCI數據集上的仿真實驗結果表明,本文算法在保證ELM網絡穩定性的同時提高了模型的魯棒性,并且縮短了訓練時間。
ELM模型結構如圖1所示。

圖 1 ELM模型結構圖Fig. 1 Model structure of ELM

{xi,xi}Ni=1
對于數據集,ELM的隱層輸出為

T是數據集標簽:

β∈RL×m是輸出權重矩陣:

輸出節點對輸入 xi的預測結果如下:

對于ELM算法,其輸入權重矩陣 a 和偏置量 b是隨機確定的,確定之后即不再改變。因此,網絡訓練的目標函數為

其中,‖·‖2為 l2范數。
采用最小二乘法求解式(6)中的目標函數,得到隱層的輸出矩陣:

其中,H?是隱層輸出矩陣H的Moore-Penrose廣義逆矩陣:

為了進一步提高ELM的穩定性以及泛化能力,文獻[2]提出了正則化ELM(RELM),網絡的目標函數如下:


ELM算法中的目標函數是均方誤差(MSE)損失,該損失項對每個樣本數據給予了相同的權重,這使得異常值對誤差平方和的影響比其他數據大,導致參數估計對于異常值相當敏感。如圖2所示,均方誤差損失相比Welsch損失對異常數據更敏感。為此,本文提出了一種基于MPE改進的 p 階Welsch損失作為損失函數來改進算法的魯棒性。

圖 2 有異常值數據時不同損失函數下的擬合效果圖Fig. 2 Fitting effect graph of different loss functions with outlier data
Welsch損失[14]表示如下:

文獻[16-18]提出將誤差的 p 階次函數作為損失函數,并指出適當的 p 值可以更好地處理異常值。本文基于MPE對Welsch損失函數進行改進,提出了 p 階Welsch損失函數,如式(12)所示。

每個樣本的 p 階Welsch損失可以表示為

yi為對應樣本xi模型的響應值,ti為樣本的標簽值,ti-yi代表殘差,med(|err|)代表所有殘差絕對值的中位數。
p 階Welsch損失的梯度函數如下:

圖3為 p 階Welsch損失函數、MSE損失函數及其梯度函數的比較圖。從圖中可以看出, p 階Welsch損失中每個樣本的誤差控制在了0~1之內,且其梯度函數在誤差超過一定值之后會減小,并不會像平方損失項的梯度函數一樣隨著誤差的增大而增大,從而降低了異常值引起的大誤差項對于參數估計的影響力。

圖 3 損失函數及其梯度函數比較圖Fig. 3 Comparison graph of loss function and its gradient function
對于不同的 p 和 c , p 階Welsch損失函數的曲線如圖4、5所示。分析圖4中的變化趨勢可以看出,對于任意 p值,p 階welsch損失函數都會隨著誤差的增大而增大,最終會在誤差達到一定閾值時趨近于1.0,之后即使誤差再增加, p 階Welsch損失也只是再向1.0靠近,變化甚微,從而降低了異常值帶來的大誤差對模型訓練的影響程度。并且,隨著 p 值的減小, p階Welsch損失函數的梯度函數的極值點會隨著 p 值的減小而前移,即 p 階Welsch損失函數關于誤差變化最敏感的部分相對前移,因此,當 p 值過大時, p階Welsch函數對于異常值的敏感程度會增加。

圖 4 p 階Welsch損失在不同參數 p 下的曲線Fig. 4 Curves of p-power Welsch loss functions under different P

圖 5 p 階Welsch損失在不同參數 c 下的曲線Fig. 5 Curves of p-power Welsch loss functions under different c
圖5示出了 p 階Welsch損失函數在不同 c 值下的變化趨勢,從中可以看出,隨著c值的增大, p 階Welsch損失趨近于1.0時對應的誤差值也會相應地增大。因此可以通過調整 p、c來降低 p 階Welsch損失函數對于異常值的敏感程度。
為了得到對異常值更具魯棒性的ELM網絡模型,將 p 階Welsch損失函數代入到式(6)中,代替均方 誤差損失,得到目標函數如式(15)所示:

為了控制ELM網絡模型的復雜度,提高模型的穩定性,本文在目標函數中引入了正則項。最簡單的正則化形式之一是 l2范數,在目標函數中加入它可以促使輸出權重矩陣 β 中的值向0逼近但不為0。另一種常用的正則化是 l1范數,也被稱為lasso,當正則化因子 λ 足夠小時,該范數的加入可以將輸出權重矩陣 β 中一些值訓練為0,從而得到稀疏模型
[14]。本文在目標函數中引入了 l1范數正則項

將式(16)改寫為

其中: L(β)=L(Hβ,T);q(β)=λ‖β‖l1。損失函數 L(β)的梯度可以表示為

Λ 是對角線矩陣,并且

本文采用FISTA算法對目標函數(式(16))求極小值。優化算法計算步驟如下:
Algorithm 1 Robust ELM based on p-power Welsch loss and l1regularization: ELM-PW-l1Lλpcitermax
Input:
Output: β
Step 1 Randomly generate input weights matrix a ,and bias weight b
Step 2 Calculate the output weight matrix H
Step 3 Calculate Lipschitz constant y=max(eig(HT.H)) and the gradient of loss function ?L
y1=β0∈Rnt1=1j=1
Step 4 Initialize
Step 5 Repeat when j < itermax


采用3.0 GHz CPU,16 GB RAM,64位主機,在Matlab2016b Win10環境下對算法進行測試。并與ELM、ELM-huber[13]、ELM-Welsch[14]、ELM-p-Welsch、ELM-PW-l1在人工合成回歸數據集和UCI回歸數據集上進行對比。其中ELM-Welsch、ELM-p-Welsch采用迭代重加權最小二乘(IRLS)[14]方法。選擇均方根誤差RMSE作為評價指標:

其中: ti和 yi分別表示樣本的實際標簽值和相應的算法預估值; N 為樣本的數量。
(1)輸入權重矩陣 aN×L和隱層偏置量 bL×1在[-1,1]內 隨機選取,隱層激活函數為 s igmoid 函數,定義為

(2)正則化參數 λ ,隱層節點{個數L通過交叉驗}證的方式進行優選,其中 λ:10-10,10-9,···,1010;L:{10,20,30,···,150,200,300,500,1000} 。
(3)算法迭代次數 itermax=20
(4)參數 c 和階次 p 也通過交叉驗證的方式進行優選,其中 c:{0.1,0.2,0.3,···,2.5,3.0,3.5,5.0};p:{0.1,0.2,0.3,0.4,0.5,···,3.0} 。
人工數據集由函數 (i)=sinc(x(i))+v(i) 生 成,其中:

g(0,v2)表示均值為0、方差為 v2的高斯噪聲; B(i) 模擬脈沖噪聲;A用來控制添加到數據中的噪聲類型。x(i) 均勻選自[-6,6],生成數據集 {(x(i),y(i))}2i=0
10。通過交叉驗證后,參數設置如下: L=100,λ=10-6,p=1.5,c=0.9 。
圖6為5種方法在20% 異常值水平下的訓練集回歸效果圖。其中ELM、ELM-huber、ELM-Welsch、ELM-p-Welsch、ELM-PW-l1的測試回歸誤差分別為0.216 3、0.115 9、0.107 2、0.105 9、0.103 9。由圖6可知,與其他4種方法相比,常規的ELM對于異常值更敏感。

圖 6 人工數據集在20%異常值下的訓練結果Fig. 6 Training results of synthetic datasets with 20% outliers
表1示出了5種方法在不同異常值水平下的測試結果。由ELM和ELM-PW-l1的測試結果對比可得,隨著異常值水平的增加,ELM的RMSE明顯上升,而ELM-PW-l1的RMSE變化幅度不大,基本保持穩定,驗證了該方法的有效性。

表 1 5種算法測試結果的RMSE和訓練時長Table 1 RMSE and training time of five algorithms under different outlier levels
通過對比ELM-huber、ELM-Welsch、ELM-PWl1可得,ELM-PW-l1在訓練效率上優于ELM-huber和ELM-Welsch,且RMSE也略優于二者,驗證了該方法的先進性。
最后,通過對比ELM-p-Welsch和ELM-PW-l1的測試結果可得,在引入了 l1范數正則項后,ELM-PWl1的標準差要小于ELM-p-Welsch的標準差,該方法的穩定性得到了提高。
圖7示出了不同參數 p 下算法的收斂結果。可以看出,不同參數 p 下算法的收斂結果不同,且當p=1.5 時,在上述參數中的收斂效果最好。

圖 7 不同參數 p 下測試集的RMSE Fig. 7 RMSE of testing dataset under different p
為了進一步驗證本文方法的性能,通過UCI中的部分回歸數據集對ELM、ELM-huber、ELM-Welsch,ELM-p-Welsch、ELM-PW-l1方法進行測試。所選數據集的信息如表2所示,隨機選取其中的50%作為訓練集,剩下的50%作為測試集,并且在訓練集標簽中添加了10%的異常值。表3為5種算法的參數設置表。

表 2 UCI回歸數據集信息表Table 2 UCI regression dataset
由表4可知,ELM-PW-l1回歸誤差小于ELM、ELM-huber、ELM-Welsch和ELM-p-Welsch,同 時RMSE的標準差相比其他4種算法也更小,說明本文方法在抗異常值方面具有更好的魯棒性,同時也具有更好的穩定性。

表 3 算法參數設置Table 3 Parameter settings of algorithms

表 4 UCI回歸數據集測試結果Table 4 Test results of UCI regression datasets
本文針對ELM在魯棒性上的不足提出了一種 p階Welsch損失函數,進而提出了一種基于 p 階Welsch損失的魯棒極限學習機。該方法使用 p 階Welsch損失,降低了異常值數據對算法性能的影響,提升了算法的魯棒性。在目標函數中引入 l1范數正則項,降低了模型的復雜度,提高了模型的穩定性。在極小化目標函數時采用FISTA算法提高了計算效率。通過對人工數據集和UCI回歸數據集的仿真實驗驗證了本文算法的有效性,結果表明該算法對異常值具有更好的魯棒性和穩定性,且算法的訓練耗時更短。