SVM是機器學習有監(jiān)督學習的一種方法,常用于解決分類問題,其基本原理是:在特征空間里尋找一個超平面,以最小的錯分率把正負樣本分開。因為SVM既能達到工業(yè)界的要求,機器學習研究者又能知道其背后的原理,所以SVM有著舉足輕重的地位。
但是我們之前接觸過的SVM都是單核的,即它是基于單個特征空間的。在實際應用中往往需要根據(jù)我們的經(jīng)驗來選擇不同的核函數(shù)(如:高斯核函數(shù)、多項式核函數(shù)等)、指定不同的參數(shù),這樣不僅不方便而且當數(shù)據(jù)集的特征是異構時,效果也沒有那么好。正是基于SVM單核學習存在的上述問題,同時利用多個核函數(shù)進行映射的多核學習模型(MKL)應用而生。
多核模型比單個核函數(shù)具有更高的靈活性。在多核映射的背景下,高維空間成為由多個特征空間組合而成的組合空間。由于組合空間充分發(fā)揮了各個基本核的不同特征映射能力,能夠?qū)悩嫈?shù)據(jù)的不同特征分量分別通過相應的核函數(shù)得到解決。目前主流的多核學習方法主要包括合成核方法、多尺度核方法和無限核方法。其具體流程如圖1所示:
圖1 多核學習流程圖
接下來我們以二分類問題為例,為大家簡單介紹多核學習方法。令訓練數(shù)據(jù)集為X={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)},其中Xi是輸入特征,且Xi∈Rd,i= 1,2, ..., N,Yi∈{+1, ?1}是類標簽。SVM 算法目標在于最大化間隔,其模型的原始問題可以表示為:
其中,w是待求的權重向量,ζi與C分別是松弛變量和懲罰系數(shù)。根據(jù)拉格朗日對偶性以及 KKT 條件,引入核函數(shù)K( Xi , Xj): Rn×Rn → R,原始問題也可以轉(zhuǎn)換成如下最優(yōu)化的形式:
其中,ai與aj為拉格朗日乘子,核函數(shù)K( Xi, Xj)=φ(xi) xφ(xj)。核方法的思想就是,在學習與預測中不顯示地定義映射函數(shù)φ(xi) ,只定義核函數(shù)K( Xi, Xj),直接在原低維空間中計算高維空間中的向量內(nèi)積,既實現(xiàn)低維樣本空間到高維特征空間的映射,又不增加計算復雜量。
多核學習方法是單核 SVM 的拓展,其目標是確定 M 個個核函數(shù)的最優(yōu)組合,使得間距最大,可以用如下優(yōu)化問題表示:
其中?= {θ∈ ?+|θTeM=1},表示 M 個核函數(shù)的凸組合的系數(shù),eM是一個向量,M個元素全是 1,K(θ)=∑Mj=1θjkj(?,?)代表最終的核函數(shù),其中kj(?,?)是第j個核函數(shù)。與單核 SVM 一樣,可以將上式如下轉(zhuǎn)化:
其中Kj∈ RNxN,Ω={a|a∈[0,C]N},“?”被定義為向量的點積,即(1,0)?(2,3) = (1 ×2 ,0×3)=(2,0)。通過對比 MKL 與單核 SVM 所對應的優(yōu)化問題形式,求解多核學習問題的計算復雜度與難度會遠大于單核 SVM,所以研究出一種高效且穩(wěn)定的算法來解決傳統(tǒng)多核學習中的優(yōu)化難題,仍然很具有挑戰(zhàn)性。
綜上所示,盡管多核學習在解決一些異構數(shù)據(jù)集問題上表現(xiàn)出了非常優(yōu)秀的性能,但不得不說效率是多核學習發(fā)展的最大瓶頸。首先,空間方面,多核學習算法由于需要計算各個核矩陣對應的核組合系數(shù),需要多個核矩陣共同參加運算。也就是說,多個核矩陣需要同時存儲在內(nèi)存中,如果樣本的個數(shù)過多,那么核矩陣的維數(shù)也會非常大,如果核的個數(shù)也很多,這無疑會占用很大的內(nèi)存空間。其次,時間方面,傳統(tǒng)的求解核組合參數(shù)的方法即是轉(zhuǎn)化為SDP優(yōu)化問題求解,而求解SDP問題需要使用內(nèi)點法,非常耗費時間,盡管后續(xù)的一些改進算法能在耗費的時間上有所減少,但依然不能有效的降低時間復雜度。高耗的時間和空間復雜度是導致多核學習算法不能廣泛應用的一個重要原因。
-
SVM
+關注
關注
0文章
154瀏覽量
32337 -
機器學習
+關注
關注
66文章
8306瀏覽量
131834
發(fā)布評論請先 登錄
相關推薦
評論