阮 麗, 黃成泉, 朱文文
(1 貴州民族大學 數據科學與信息工程學院, 貴陽 550025; 2 貴州民族大學 工程技術人才實踐訓練中心,貴陽 550025)
機器學習中,統計學習理論在解決小樣本和非線性的問題上有著出色表現,其中作為典型代表的支持向量機(Support Vector Machine, SVM)[1-2]則因為所具備的優秀的性能,現已廣泛地應用在各個領域中。但是,單任務支持向量機在訓練樣本小、信息量不足和多個數據差異的情況下的性能表現上卻仍有一定欠缺。為此,在多任務學習(Mutli-task Learning)[3]的啟發下,支持向量機則被成功應用到多任務學習上。研究可知,多任務支持向量機(Mutli-task Support Vector Mahicne, MTLSVM)通過共享數據之間信息來提高分類效果,解決了如上所述單任務向量機存在的問題。如今,MTLSVM已經得到了學界的普遍關注和重視。早期的MTLSVM是研究單類分類的。Yang等人[4]在2010年提出了多任務學習一類分類,為MTLSVM的研究提供了參考。He等人[5]在多任務學習一類分類的基礎上提出了多任務-類支持向量機(Multi-task one-class support vector machines, MTOC-SVM),Xue等人[6]在MTOC-SVM的基礎上增加新特征,提出了支持向量機的多任務學習新特征。由于求解二次規劃問題計算復雜度高,時間成本大,為此Xu等人[7]提出了多任務最小二乘支持向量機(Multi-task least squares support vector machine, MTLSSVM),Li等人[8]根據近端支持向量機[9](Proximal support vector machine, PSVM)提出了多任務近端支持向量機(Multi-task proximal support vector machine, MTPSVM)。這2個模型都降低了計算成本。同樣地,由于多任務雙支持向量機[10](Multi-task twin support vector machine , DMTSVM)也是一個求解二次規劃的問題,其復雜性和計算量都較為可觀。因此,Mei等人[11]提出了多任務最小二乘雙支持向量機(Multi-task least squares twin support vector machine, MTLSTSVM),能有效提高計算速度。綜上研究后發現,在這些算法中,松弛約束項有較大的局限性,為此,本文在傳統的MTLSVM的約束上增加一個權重約束,提出加權多任務最小二乘雙支持向量機(Weight multi-task least squares twin support vector machine, WMTLSTSVM)。實驗結果表明,本文算法在分類上具有良好性能。
多任務最小二乘雙支持向量機(MTLSTSVM)是求解一對線性方程組問題的算法,這里,給出MTLSTSVM的基本理論,MTLSTSVM為本文的算法提供了理論依據。
假設一個二分類任務,X1?RN1×d,X2?RN2×d代表類1和類-1。其中,X1,X2的每一行對應一個數據樣本。X1t表示第t個任務的正類樣本,X2t表示第t個任務的負類樣本。正負超平面分別是:u=[W1,b1]T、v=[W2,b2]T,第t個任務的正負超平面是:[W1t,b1t]T=(u+ut)、[W2t,b2t]T=(v+vt)。ut和vt為u和v與第t個任務的偏差。MTLSTSVM的目標函數如式(1)、(2)所示:
s.t.-[[X2t,e2t](u+ut)]+ξt=e2t,ξt≥0,
(1)
s.t.[[X1t,e1t](v+vt)]+ηt=e1t,ηt≥0.
(2)
其中,e1,e2,e1t,e2t表示適當維數的列向量;ξt和ηt表示松弛向量;c1,c2,ρ,λ表示非負交換參數。
考慮到MTLSTSVM的松弛約束項有較大的局限性,所以,本文在MTLSTSVM的約束上增加一個權重約束,提出了加權多任務最小二乘雙支持向量機。現給出加權多任務最小二乘雙支持向量機算法的優化函數如式(3)、(4)所示:
s.t.-[[X2t,e2t](u+ut)]+ξt=e2t,ξt≥0,
(3)
s.t.[[X1t,e1t](v+vt)]+ηt=e1t,ηt≥0.
(4)
其中,e1,e2,e1t,e2t表示適當維數的列向量;ξt和ηt表示松弛向量;W表示權重參數;c1,c2,ρ,λ表示非負交換參數。
先給出算法求解過程,首先引入拉格朗日乘子,將約束條件代入算法。則可以得到式(3)的拉格朗日函數如式(5)所示:
(5)
計算式(5)的KKT條件:
(6)
解式(6)可得:
[X1,e1]T[X1,e1][w1,b1]T+[X2,e2]Tα=0,
(7)
令E=[X1,e1],F=[X2,e2],則有:
ETE[w1,b1]T+FTα=0,
(8)
可得:
[w1,b1]T=-(ETE)-1FTα,
(9)
同理可得:
(10)
代回式(3)的約束項可得:
(11)
令A=F(ETE)-1FT,Bt=Ft(EtTEt)-1,B=blkdiag(B1,B2,…,Bt),代回式(11), 求解式(11)中的α可以得到正超平面如式(12)所示:
(12)
根據L1的方法,可解β,算法(5)的拉格朗日函數式如(13)所示:
(13)
求解L2可以得到β,即:
(14)
這里,第t個任務的決策函數可根據式(15)得到:
(15)
對于加權多任務最小二乘雙支持向量機非線性的情況,可通過內核函數來解決。核函數定義為:
M=(K(E,ZT)e),Mt=(K(Et,ZT)et),
N=(K(F,ZT)e),Nt=(K(Ft,ZT)et),
這里,K(.)為特定的一個核函數,ZT=(ET1,…,ETt,FT1,…,FTt)為全部任務的訓練樣本。非線性的優化函數如式(16)、(17)所示:
s.t.-[[K(Ft,ZT),e2t](u+ut)]+ξt=e2t,ξt≥0,
(16)
s.t.[[K(Et,ZT),e1t](v+vt)]+ηt=e1t,ηt≥0,
(17)
其中,ξt、ηt是松弛變量,c1、c2是非負交換參數。第t個任務的決策函數可根據式(18)得到:
(18)
實驗選取UCI數據庫的3個數據集(http://www.ics.uci.edu):Monk, Autistic Spectrum Disorder Screening Data for Adult(ASD), Dermatology。最優參數來自網格搜索法的結果,實驗的平均分類準確率結果是通過3次交叉驗證來獲取。參數c,ξ,ρ的范圍為{2i|i=-3,-2,-1,…,8},權重參數范圍是[0,1],這里,2個算法模型的參數視為相等的。核函數為徑向基函數(RBF)。實驗中數據的基本信息見表1。

表1 數據集信息
3個數據集在3個模型上的平均分類準確率見表2。通過分析發現,本文算法WMTLSTSVM與MTLSTSVM和LSTSVM相比有更好的分類性能,這充分說明了,給松弛項增加一個權重約束,通過實驗把原松弛變量約束項中的1轉變為范圍[0,1]中的一個常數,能有效地提高分類精度、降低訓練時間,從而得到一個更好的結果。

表2 3個數據集上的平均分類準確率結果
本文提出的加權多任務最小二乘雙支持向量機,解決了傳統多任務支持向量機松弛約束項局限大的問題,引入權重參數來約束松弛變量,得到了一個更好的分類效果,通過實驗分析發現,本文的算法能有效地提高分類效果,減少了訓練時間,這也證明了本文算法的有效性。