SVM是機(jī)器學(xué)習(xí)有監(jiān)督學(xué)習(xí)的一種方法,常用于解決分類問(wèn)題,其基本原理是:在特征空間里尋找一個(gè)超平面,以最小的錯(cuò)分率把正負(fù)樣本分開(kāi)。因?yàn)镾VM既能達(dá)到工業(yè)界的要求,機(jī)器學(xué)習(xí)研究者又能知道其背后的原理,所以SVM有著舉足輕重的地位。
但是我們之前接觸過(guò)的SVM都是單核的,即它是基于單個(gè)特征空間的。在實(shí)際應(yīng)用中往往需要根據(jù)我們的經(jīng)驗(yàn)來(lái)選擇不同的核函數(shù)(如:高斯核函數(shù)、多項(xiàng)式核函數(shù)等)、指定不同的參數(shù),這樣不僅不方便而且當(dāng)數(shù)據(jù)集的特征是異構(gòu)時(shí),效果也沒(méi)有那么好。正是基于SVM單核學(xué)習(xí)存在的上述問(wèn)題,同時(shí)利用多個(gè)核函數(shù)進(jìn)行映射的多核學(xué)習(xí)模型(MKL)應(yīng)用而生。
多核模型比單個(gè)核函數(shù)具有更高的靈活性。在多核映射的背景下,高維空間成為由多個(gè)特征空間組合而成的組合空間。由于組合空間充分發(fā)揮了各個(gè)基本核的不同特征映射能力,能夠?qū)悩?gòu)數(shù)據(jù)的不同特征分量分別通過(guò)相應(yīng)的核函數(shù)得到解決。目前主流的多核學(xué)習(xí)方法主要包括合成核方法、多尺度核方法和無(wú)限核方法。其具體流程如圖1所示:
圖1 多核學(xué)習(xí)流程圖
接下來(lái)我們以二分類問(wèn)題為例,為大家簡(jiǎn)單介紹多核學(xué)習(xí)方法。令訓(xùn)練數(shù)據(jù)集為X={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)},其中Xi是輸入特征,且Xi∈Rd,i= 1,2, ..., N,Yi∈{+1, ?1}是類標(biāo)簽。SVM 算法目標(biāo)在于最大化間隔,其模型的原始問(wèn)題可以表示為:
其中,w是待求的權(quán)重向量,ζi與C分別是松弛變量和懲罰系數(shù)。根據(jù)拉格朗日對(duì)偶性以及 KKT 條件,引入核函數(shù)K( Xi , Xj): Rn×Rn → R,原始問(wèn)題也可以轉(zhuǎn)換成如下最優(yōu)化的形式:
其中,ai與aj為拉格朗日乘子,核函數(shù)K( Xi, Xj)=φ(xi) xφ(xj)。核方法的思想就是,在學(xué)習(xí)與預(yù)測(cè)中不顯示地定義映射函數(shù)φ(xi) ,只定義核函數(shù)K( Xi, Xj),直接在原低維空間中計(jì)算高維空間中的向量?jī)?nèi)積,既實(shí)現(xiàn)低維樣本空間到高維特征空間的映射,又不增加計(jì)算復(fù)雜量。
多核學(xué)習(xí)方法是單核 SVM 的拓展,其目標(biāo)是確定 M 個(gè)個(gè)核函數(shù)的最優(yōu)組合,使得間距最大,可以用如下優(yōu)化問(wèn)題表示:
其中?= {θ∈ ?+|θTeM=1},表示 M 個(gè)核函數(shù)的凸組合的系數(shù),eM是一個(gè)向量,M個(gè)元素全是 1,K(θ)=∑Mj=1θjkj(?,?)代表最終的核函數(shù),其中kj(?,?)是第j個(gè)核函數(shù)。與單核 SVM 一樣,可以將上式如下轉(zhuǎn)化:
其中Kj∈ RNxN,Ω={a|a∈[0,C]N},“?”被定義為向量的點(diǎn)積,即(1,0)?(2,3) = (1 ×2 ,0×3)=(2,0)。通過(guò)對(duì)比 MKL 與單核 SVM 所對(duì)應(yīng)的優(yōu)化問(wèn)題形式,求解多核學(xué)習(xí)問(wèn)題的計(jì)算復(fù)雜度與難度會(huì)遠(yuǎn)大于單核 SVM,所以研究出一種高效且穩(wěn)定的算法來(lái)解決傳統(tǒng)多核學(xué)習(xí)中的優(yōu)化難題,仍然很具有挑戰(zhàn)性。
綜上所示,盡管多核學(xué)習(xí)在解決一些異構(gòu)數(shù)據(jù)集問(wèn)題上表現(xiàn)出了非常優(yōu)秀的性能,但不得不說(shuō)效率是多核學(xué)習(xí)發(fā)展的最大瓶頸。首先,空間方面,多核學(xué)習(xí)算法由于需要計(jì)算各個(gè)核矩陣對(duì)應(yīng)的核組合系數(shù),需要多個(gè)核矩陣共同參加運(yùn)算。也就是說(shuō),多個(gè)核矩陣需要同時(shí)存儲(chǔ)在內(nèi)存中,如果樣本的個(gè)數(shù)過(guò)多,那么核矩陣的維數(shù)也會(huì)非常大,如果核的個(gè)數(shù)也很多,這無(wú)疑會(huì)占用很大的內(nèi)存空間。其次,時(shí)間方面,傳統(tǒng)的求解核組合參數(shù)的方法即是轉(zhuǎn)化為SDP優(yōu)化問(wèn)題求解,而求解SDP問(wèn)題需要使用內(nèi)點(diǎn)法,非常耗費(fèi)時(shí)間,盡管后續(xù)的一些改進(jìn)算法能在耗費(fèi)的時(shí)間上有所減少,但依然不能有效的降低時(shí)間復(fù)雜度。高耗的時(shí)間和空間復(fù)雜度是導(dǎo)致多核學(xué)習(xí)算法不能廣泛應(yīng)用的一個(gè)重要原因。
-
SVM
+關(guān)注
關(guān)注
0文章
154瀏覽量
33694 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8553瀏覽量
136928
發(fā)布評(píng)論請(qǐng)先 登錄
學(xué)習(xí)單片機(jī)快速方法
使用MATLAB的支持向量機(jī)解決方案
移植RTThread多核如何開(kāi)始(ZYNQ US 64位 A53)?
【老法師】多核異構(gòu)處理器中M核程序的啟動(dòng)、編寫和仿真
人工智能學(xué)習(xí)17問(wèn):從入門到避坑,新手最關(guān)心的問(wèn)題全在這
ARM入門學(xué)習(xí)方法分享
同步電機(jī)失步淺析
三相感應(yīng)電機(jī)SVM-DTC系統(tǒng)
第一章 W55MH32 高性能以太網(wǎng)單片機(jī)的學(xué)習(xí)方法概述
使用MATLAB進(jìn)行無(wú)監(jiān)督學(xué)習(xí)
熱成像儀為何都在瘋狂卷多核處理器?“多核大戰(zhàn)”背后的真相你知道嗎?
18個(gè)常用的強(qiáng)化學(xué)習(xí)算法整理:從基礎(chǔ)方法到高級(jí)模型的理論技術(shù)與代碼實(shí)現(xiàn)
一種無(wú)刷直流電機(jī)霍耳信號(hào)與定子繞組關(guān)系自學(xué)習(xí)方法
掌握這六點(diǎn),原來(lái)學(xué)習(xí)數(shù)電和模電這么簡(jiǎn)單!
淺析SVM多核學(xué)習(xí)方法
評(píng)論