甘江璋,鐘 智,余 浩,雷 聰,趙樹之
(1.廣西師范大學 廣西多源信息挖掘與安全重點實驗室,廣西 桂林 541004;2.廣西師范學院 計算機與信息工程學院,廣西 南寧 530023)
多元回歸問題在現實應用中普遍存在,而且常用高維特征數據進行描述,但離群樣本和高維屬性都會影響多元回歸分析的準確度和效率[1-3]。所以,如何處理離群樣本和高維數據對于建立有效可靠多元回歸模型具有重要的研究價值。
現有處理高維數據的方法有子空間學習[4]和屬性選擇兩種[5]。屬性選擇方法既可以保持數據的原有功能,又提高了算法的效率[6]。而處理離群樣本的方法主要有基于距離方法[7]和基于聚類的方法[8]等,基于聚類的方法主要通過將遠離類簇的少數樣本判定為離群樣本?;诰嚯x的方法將與數據集中大部分樣本距離大于閾值的樣本判為離群樣本,從而達到處理離群樣本的目的。
然而,現有的回歸分析算法只是單一考慮其中一種因素的影響(離群樣本或高維大數據),因此在本文提出了一種基于自步學習多元回歸分析算法(multiple regression analysis based on self-paced learning,SPM_RS)來同時處理高維大數據和離群樣本,以此來獲得更好的效果。具體地,首先利用自步學習方法對數據中的訓練樣本進行選擇,有效避免離群樣本帶來的影響,然后引入稀疏學習理論,使用可以導致行稀疏的2,1范數進行屬性選擇。經實驗驗證,結合了自步學習和稀疏屬性選擇的多元回歸分析方法在應用中各項評價指標均優于對比算法。
多元回歸分析是研究多個變量之間相關關系的一種重要統計分析方法,因其堅實的內在理論基礎被廣泛應用于自然科學,社會科學和應用技術中等領域[9]。
假設樣本xi由d個屬性來描述,回歸分析的本質就是試圖學到一個模型盡可能的預測出樣本標簽yi,使用最小二乘法對樣本標簽yi進行線性回歸擬合,這樣可以得到模型
f(xi)=xiW+b
(1)
其中,W表示回歸模型參數,b表示模型偏差項。
在實際任務中,為了使模型盡可能更好擬合原始數據,需要模型的擬合誤差盡可能的小。但是在多元回歸問題中,高維大數據普遍存在,會使回歸模型出現過擬合的問題。為了緩解模型的過擬合,常在多元回歸模型中引入稀疏學習理論[10]。
在稀疏學習的基本理論中,通過稀疏正則化項對回歸模型參數W進行稀疏假設,并使用訓練數據對W進行擬合,則可以得到模型

(2)
其中,φ(W)為稀疏正則化項,α表示調節參數用來平衡擬合損失函數項和稀疏正則化項,n為樣本數。
在稀疏學習中,正則化項通常選擇能夠凸優化求解的范數[14]。其中1范數具有較強的稀疏性,2范數具有防止損失函數過度擬合。而2,1范數融合了兩者之間優點,既有1范數稀疏性的特點又有2范數防止過度擬合的特點。因此本文采用2,1范數作為稀疏正則化項進行對W行稀疏處理,排除冗余信息和不相關的屬性,從而提升算法效率。
自步學習[11]是一種模擬人的認知機理的機器學習方法,人類對事物的認識都是從簡單的知識過度到復雜知識。我們在機器學習的模型中引入這一機制,利用自步學習的方法首先學習簡單樣本再逐步將復雜的樣本納入訓練當中。
給定一個數據集E(xi,yi)有n個樣本,xi表示一個樣本,yi表示與該樣本對應的類標簽,W表示模型需要優化的參數,r(W)為參數的正則化項。用損失函數L(xi,yi,W)來表示樣本的“難易”程度,則可以得到傳統的機器學習目標函數

(3)
自步學習的核心思想在于每一次的迭代都傾向于選擇“簡單”的樣本來更新模型參數[12]。每次迭代選擇的樣本數量由自步學習參數來確定,通過逐次增加自步學習參數將更多的訓練樣本納入訓練當中。因此,自步學習在傳統的機器學習目標函數中引入一個變量v用以表征樣本是否被選擇的程度,則自步學習的目標函數為

(4)
其中,f(v,λ)為自步正則化項,λ為自步正則化參數,用于控制哪些樣本被選擇,如果λ的值較小,目標函數的優化過程就傾向于選擇L(·)較小的樣本。隨著迭代次數的增加,逐步增大λ的值,將更多的樣本納入訓練。

這種迭代優化的策略在當使用固定的W更新v的時候,將損失小于閾值λ的樣本作為“簡單”樣本,并選擇這些“簡單”樣本進行訓練。當用固定的v來更新W的時候,只對所選擇的“簡單”樣本進行訓練,得到模型參數W。其中λ也相當于模型的“年齡參數”,隨著λ值的增加,那些“復雜”的樣本也會被選擇,這樣模型也會變得更加成熟,泛化能力更強。
給定一個訓練數據集X=[x1,x2,…,xn]∈Rn×d,n表示樣本數量,d表示屬性維度。Y∈Rn×c表示樣本類標簽,c表示樣本對應的類數。使用最小二乘法來擬合模型參數和數據,得到如下模型
(5)

大部分數據中普遍存在不相關信息和離群值,會對實驗結果造成一定影響。所以,找到一個合適的規則化項對于提高算法性能有很大的作用。2,1范數既有良好的行稀疏性,又能防止模型的過擬合,對于去除一些冗余信息有很好的效果。本文采用2,1范數對重構系數矩陣進行稀疏,得到的模型為

(6)
其中,α為稀疏正則化參數,α越大則矩陣越稀疏。
在傳統的機器學習模型訓練過程中通常會將所有樣本一次加入到訓練中,這樣的學習方式沒有充分考慮到噪聲給模型訓練帶來的影響,因此在本文中采用自步學習的方法有意義的對樣本進行選擇,這樣得到的目標函數如下所示

(7)

SPM_RS算法的偽代碼如下:
算法1: SPM_RS算法偽代碼
輸入: 訓練樣本X∈Rn×d,Y∈Rn×c控制參數α,λ。
輸出: aCC
(1)初始化t=1。
(2)初始化矩陣D∈Rd×d,v∈R1×n。
(3)通過式(13)求解W。
(4)根據得到的W,更新Dt,計算λ。
(5)根據λ值,更新v。
(6)t=t+1,重復步驟(3)~(6)。
(7)直到式 (8) 收斂。
(8)最后,對新的屬性集構成的樣本使用SVR進行回歸分析。
本節對文中提出的目標函數進行優化

(8)
目標函數存在兩個變量,所以本文采用交替優化方法。
定義一個對角矩陣D
(9)
(1)固定v,優化W:固定v后,目標函數變為

(10)
為方便優化將式(10)寫成如下所示

(11)

對式(11)中W求導可得

(12)
最終求出的結果為
W=(GTG+αD)-1GTQ
(13)
(2)固定W,優化v問題變成

(14)


(15)
對式(15)求導可得最優解
(16)
根據算法2可得第t次迭代的W(t+1)

(17)
由式(17)可得

(18)
將對角矩陣D代入式(18)可得

(19)
對于W(t)和W(t+1)的每一行,可以得到下列不等式

(20)
對上述不等式乘以控制參數α,并累加得到

(21)
最后,結合不等式(18)和式(20)就可以得到

(22)
根據上述不等式可以得出,目標函數的值在迭代的過程中是單調遞減的,所以SPM_RS算法可以收斂到當前選擇樣本下的最優解。
本文使用6個數據集來測試算法在回歸分析上的性能。數據集來源于UCI[16],信息統計見表1。
本文通過與4種優秀對比算法的實驗結果比較來評估提出的算法:LSG21[17]方法,CSFS[18],SLRR[6]和RSR[19]方法。在實驗中使用平均相關系數(average correlation coefficient,aCC)來評估回歸的準確性。

表1 數據集信息統計
實驗中的對比算法和SPM_RS算法均采用十折交叉驗證來對比算法性能,在每一折中再進行5折交叉驗證,并且使用SVR學習訓練得到回歸模型。
SPM_RS算法與對比算法在6個數據集上每一折的aCC對比如圖1~圖6所示。由于十折交叉驗證的隨機性,所以SPM_RS算法并不是在每一折上都是最好的,但是10次實驗結果大部分都高于對比算法,最后的平均aCC也優于對比算法。

圖1 數據集EDM

圖2 數據集ATP1d

圖3 數據集ATP7d

圖4 數據集OES10

圖5 數據集sf1

圖6 數據集OES97
在表2中的數據可以看出,SPM_RS算法的平均aCC在6個數據集上與另外的4種對比算法的平均aCC進行了比較。在6個數據集上SPM_RS算法獲得了最高的aCC。具體的,在EDM數據集上SPM_RS算法取得了最好的79.83%,比LSG21高出了7.85%,比CSFS,SLRR,RSR分別高出4.2%6.38%,6.88%。在數據集ATP7d上SPM_RS算法的aCC是87.13%,相對于其它對比算法分別高出8.29%,10.13%,7.22%,11.39%。在sf1數據集上SPM_RS算法比對算法提高了5.92%,4.9%,13.38%,3.61%。其中在OES97上提高的最多,高出了13.38%。在所有的數據集中,SPM_RS算法也比對比算法高出7.21%,7.11%,5.79%,5.88%。可見SPM_RS算法在回歸實驗上取得了明顯的效果。

表2 aCC統計結果/%
實驗結果表明SPM_RS算法在性能上優于4個對比算法。與SPM_RS相比,4個對比算法都沒有采取有效的方法對樣本進行選擇,無法避免噪聲和離群樣本對回歸模型的影響,從而影響模型的穩定性和準確性。本文算法不僅有效避免了噪聲樣本的影響,還保留了提取后的重要屬性,使得算法擁有更好的性能。
本文提出了一種結合了基于自步學習多元回歸分析算法(SPM_RS算法)用于回歸分析?;诨揪€性回歸模型,利用自步學習選擇訓練樣本,再結合稀疏屬性選擇理論對樣本的重要屬性進行選取。因此算法融合了自步學習和稀疏學習,既考慮了高維大數據對多元回歸模型的影響,同時又有效避免了離群樣本對模型訓練帶來的干擾。實驗結果表明SPM_RS算法在回歸分析中取得了較好的效果。在今后的研究中,我們嘗試將自步學習引入其它的機器學習模型中來擴展自步需學習的應用范圍。