機(jī)器學(xué)習(xí)-支持向量機(jī)

積跬步以致千里,積怠惰以致深淵

注:本篇文章整理時主要參考了 周志華 的《機(jī)器學(xué)習(xí)》宰睡。

主要內(nèi)容

支持向量機(jī)會接受數(shù)據(jù)點(diǎn),并輸出一個超平面(在二維的圖中,就是一條線)以將兩類分割開來。這條線就是判定邊界:將紅色和藍(lán)色分割開來。

但是货矮,最好的超平面是什么樣的?對于SVM來說斯够,它是最大化兩個類別邊距的那種方式囚玫,換句話說:超平面(在本例中是一條線)對每個類別最近的元素距離最遠(yuǎn)。

什么是SVM

好吧读规,故事是這樣子的:

在很久以前的情人節(jié)抓督,大俠要去救他的愛人,但魔鬼和他玩了一個游戲束亏。

魔鬼在桌子上似乎有規(guī)律放了兩種顏色的球铃在,說:“你用一根棍分開它們?要求:盡量在放更多球之后碍遍,仍然適用定铜。”

于是大俠這樣放怕敬,干的不錯揣炕?

然后魔鬼,又在桌上放了更多的球东跪,似乎有一個球站錯了陣營畸陡。

SVM就是試圖把棍放在最佳位置,好讓在棍的兩邊有盡可能大的間隙虽填。

現(xiàn)在即使魔鬼放了更多的球丁恭,棍仍然是一個好的分界線。

然后斋日,在SVM 工具箱中有另一個更加重要的trick牲览。 魔鬼看到大俠已經(jīng)學(xué)會了一個trick,于是魔鬼給了大俠一個新的挑戰(zhàn)恶守。

現(xiàn)在竭恬,大俠沒有棍可以很好幫他分開兩種球了跛蛋,現(xiàn)在怎么辦呢?當(dāng)然像所有武俠片中一樣大俠桌子一拍痊硕,球飛到空中。然后押框,憑借大俠的輕功岔绸,大俠抓起一張紙,插到了兩種球的中間橡伞。

現(xiàn)在盒揉,從魔鬼的角度看這些球,這些球看起來像是被一條曲線分開了兑徘。

再之后刚盈,無聊的大人們,把這些球叫做「data」挂脑,把棍子 叫做「classifier」, 最大間隙trick 叫做「optimization」藕漱, 拍桌子叫做「kernelling」, 那張紙叫做「hyperplane」。

找尋最佳超平面

1)為“最佳”的超平面定性

在考慮哪一個超平面性能會更佳時崭闲,一個直觀的想法就是位于兩類訓(xùn)練樣本“正中間”的劃分超平面會更好一些肋联,因?yàn)樗鼘τ?xùn)練樣本局部擾動的“容忍性”最好。而這個正中間的超平面一定滿足這樣的一個條件刁俭,那就是離它最近的正例數(shù)據(jù)和反例數(shù)據(jù)到它的距離之和最大橄仍。

所以,支持向量機(jī)算法第一步將尋找“最佳”超平面的問題轉(zhuǎn)換為尋找“最大間隔”的劃分超平面問題牍戚。

2)“最大間隔”由什么確定

為了更形象地表現(xiàn)正負(fù)樣本的間隔侮繁,我們可以在分割超平面的兩側(cè)再定義兩個平行的超平面H1和H2,這兩個超平面分別通過正樣本和負(fù)樣本中離分割超平面最近的樣本點(diǎn)如孝。

我們定義超平面H1和H2上面的點(diǎn)叫做支持向量宪哩。正負(fù)樣本的間隔可以定義為超平面H1和H2之間的間隔,它是分割超平面距最近正樣本點(diǎn)距離和最近負(fù)樣本點(diǎn)距離之和暑竟。

支持向量對于分割超平面的位置是起到關(guān)鍵作用的斋射。在優(yōu)化分割超平面位置之后,支持向量也顯露出來但荤,而支持向量之外的樣本點(diǎn)則對分類并不關(guān)鍵罗岖。為什么這樣說呢?因?yàn)榧词拱阎С窒蛄恳酝獾臉颖军c(diǎn)全部刪除腹躁,再找到最優(yōu)的分割超平面桑包,這個超平面的位置跟原先的分割超平面的位置也是一樣的》姆牵總結(jié)起來就是:支持向量包含著重構(gòu)分割超平面所需要的全部信息哑了!

支持向量機(jī)算法將尋找“最大間隔”的問題轉(zhuǎn)換為不等式約束的優(yōu)化問題赘方。

所以總結(jié)一下,支持向量機(jī)分類的背后邏輯是:找到最好的超平面將訓(xùn)練樣本正確分類 --> 最好的超平面為是正反例樣本“間隔最大”的平面 --> 間隔最大的平面尋找實(shí)際上是一個不等式約束優(yōu)化問題弱左。

3)當(dāng)超平面在樣本空間上無法劃分開訓(xùn)練樣本時窄陡,該如何處理?

在前面的討論中拆火,我們假設(shè)訓(xùn)練樣本是線性可分的跳夭,然而在現(xiàn)實(shí)任務(wù)中,原始樣本空間內(nèi)也許并不存在一個能正確劃分兩類樣本的超平面们镜。

對待原始數(shù)據(jù)無法線性可分的問題币叹,一個合適的思路是將樣本從原始空間映射到一個更高維的特征空間,使得樣本在這個特征空間內(nèi)線性可分模狭。

一維空間

如上所示有兩類圓點(diǎn)颈抚,分別是藍(lán)點(diǎn)和紅點(diǎn)。容易發(fā)現(xiàn)我們不能夠找到一條直線將圓點(diǎn)分類嚼鹉。即線性不可分贩汉。

二維空間

但如果將一維圓點(diǎn)映射到二維,就容易找出能夠?qū)A點(diǎn)分類的直線反砌。

下圖同樣為在線性不可分的情況下映射到更高維的視覺化演示雾鬼。

線性不可分
映射三維空間


超平面



由于樣本 xi 和 xj 映射到特征空間之后的內(nèi)積因?yàn)榫S數(shù)可能很高,所以比較難直接計算宴树。為了避開這個障礙策菜,我們設(shè)計了“核函數(shù)”(kernel function),這個函數(shù)使得 xi 和 xj 在特征空間的內(nèi)積等于它們在原始樣本空間中通過核函數(shù) k(xi, xj) 計算的結(jié)果酒贬。

如果我們已知合適的特征映射O(.)的具體形式又憨,則可寫出核函數(shù) k(. , .),但在現(xiàn)實(shí)任務(wù)中我們通常不知道O(.)是什么形式锭吨。

幸運(yùn)的是蠢莺,我們知道:只要一個對稱函數(shù)所對應(yīng)的核矩陣是半正定,它就能作為核函數(shù)使用零如,并且對于一個半正定核矩陣躏将,總能找到一個與之對應(yīng)的映射O(.)空間。

所以考蕾,我們知道了吧祸憋,對于在樣本空間中無法線性可分的數(shù)據(jù),我們不是先去找到使它線性可分的映射空間肖卧,然后通過核函數(shù)去計算的蚯窥;相反,我們是得要選擇一個核函數(shù)先,然后通過這個核函數(shù)去找到對應(yīng)的映射特征空間拦赠,并計算在該映射空間上的最優(yōu)超平面巍沙。

通過前面的討論可知,我們希望樣本在特征空間內(nèi)線性可分荷鼠,因此特征空間的好壞對支持向量機(jī)的性能至關(guān)重要句携。很顯然,核函數(shù)的選擇不當(dāng)允乐,很可能會導(dǎo)致樣本被映射到一個不好的空間务甥,導(dǎo)致算法性能不佳。于是喳篇,“核函數(shù)選擇”成為了支持向量機(jī)的最大變數(shù)。

4)當(dāng)超平面無法完全劃分開訓(xùn)練樣本時态辛,該如何處理麸澜?

因?yàn)樵诂F(xiàn)實(shí)任務(wù)中往往很難確定合適的核函數(shù)使得訓(xùn)練樣本在特征空間中線性可分,為了緩解該問題奏黑,一個合理的辦法是允許支持向量機(jī)在一些樣本上出錯炊邦。這種策略被稱為“軟間隔”(soft margin),它允許某些樣本不滿足不等式約束熟史。

當(dāng)然馁害,在最大化間隔的同時,不滿足約束的樣本應(yīng)盡可能少蹂匹。我們在之前的優(yōu)化目標(biāo)式子中加入了損失函數(shù)的影響碘菜,當(dāng)樣本落入不滿足約束的空間內(nèi)時,損失函數(shù)的值就會變大限寞,使得優(yōu)化目標(biāo)的值向反方向移動忍啸;當(dāng)樣本落入滿足約束的空間內(nèi)時,損失函數(shù)的值減小甚至為0履植,使得優(yōu)化目標(biāo)的值向著目標(biāo)方向移動计雌。C > 0是個常數(shù),代表著損失函數(shù)的影響力玫霎,當(dāng)C無窮大時凿滤,會迫使所有的樣本要滿足約束當(dāng)C取有限值時庶近,允許一些樣本不滿足約束翁脆。

5)支持向量回歸(SVR)

支持向量機(jī)是一個二分類器,SVR就是支持向量機(jī)算法在回歸模型上的應(yīng)用拦盹。同前一節(jié)的方式類似鹃祖,只不過這次引入的損失函數(shù)是根據(jù)回歸模型的原理設(shè)計的,是一個預(yù)測結(jié)果g(x)與真實(shí)結(jié)果y之間的差值,當(dāng)這個差值大于一個常數(shù) e 時恬口,才會被計算校读。

6)核方法

給定訓(xùn)練樣本,若不考慮偏移項(xiàng)祖能,則無論 SVM 還是 SVR 歉秫,學(xué)得的模型總能表示成核函數(shù)的線性組合。正因?yàn)楹撕瘮?shù)的重要性养铸,人們發(fā)展出一系列基于核函數(shù)的學(xué)習(xí)方法雁芙,統(tǒng)稱為“核方法”(kernel methods)

總結(jié)

?[1] 支持向量機(jī)的基本思想是:基于訓(xùn)練集 D 在樣本空間中找到一個劃分超平面,將不同類別的樣本分開

?[2] 支持向量機(jī)的目標(biāo)是:找到泛化性能最佳的那個超平面

?[3] 支持向量機(jī)的計算邏輯是:第一步將尋找“最佳”超平面的問題轉(zhuǎn)換為尋找“最大間隔”的劃分超平面問題钞螟;第二步將尋找“最大間隔”的問題轉(zhuǎn)換為不等式約束的優(yōu)化問題

?[4] 當(dāng)超平面無法在樣本空間中將訓(xùn)練數(shù)據(jù)劃分開時兔甘,將樣本從原始空間映射到一個更高維的特征空間,使得樣本在這個特征空間內(nèi)線性可分

?[5] 當(dāng)超平面無法完全將訓(xùn)練數(shù)據(jù)劃分開時鳞滨,使用軟間隔的策略洞焙,允許某些樣本不滿足不等式約束。具體通過引入損失函數(shù)到優(yōu)化目標(biāo)方程中實(shí)現(xiàn)拯啦。

?[6] 訓(xùn)練好的模型的算法復(fù)雜度是由支持向量的個數(shù)決定的澡匪,而不是由數(shù)據(jù)的維度決定的。所以SVM不太容易產(chǎn)生overfitting褒链。

?[7] SVM訓(xùn)練出來的模型完全依賴于支持向量(Support Vectors)唁情,即使訓(xùn)練集里面所有非支持向量的點(diǎn)都被去除,重復(fù)訓(xùn)練過程甫匹,結(jié)果仍然會得到完全一樣的模型甸鸟。

?[8] 一個SVM如果訓(xùn)練得出的支持向量個數(shù)比較小,SVM訓(xùn)練出的模型比較容易被泛化赛惩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哀墓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子喷兼,更是在濱河造成了極大的恐慌篮绰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件季惯,死亡現(xiàn)場離奇詭異吠各,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)勉抓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門贾漏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人藕筋,你說我怎么就攤上這事纵散。” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵伍掀,是天一觀的道長掰茶。 經(jīng)常有香客問我,道長蜜笤,這世上最難降的妖魔是什么濒蒋? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮把兔,結(jié)果婚禮上沪伙,老公的妹妹穿的比我還像新娘。我一直安慰自己县好,他們只是感情好围橡,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缕贡,像睡著了一般某饰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上善绎,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機(jī)與錄音诫尽,去河邊找鬼禀酱。 笑死,一個胖子當(dāng)著我的面吹牛牧嫉,可吹牛的內(nèi)容都是我干的剂跟。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼酣藻,長吁一口氣:“原來是場噩夢啊……” “哼曹洽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辽剧,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤送淆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怕轿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體偷崩,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年撞羽,在試婚紗的時候發(fā)現(xiàn)自己被綠了阐斜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡诀紊,死狀恐怖谒出,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤笤喳,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布为居,位于F島的核電站,受9級特大地震影響莉测,放射性物質(zhì)發(fā)生泄漏颜骤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一捣卤、第九天 我趴在偏房一處隱蔽的房頂上張望忍抽。 院中可真熱鬧,春花似錦董朝、人聲如沸鸠项。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祟绊。三九已至,卻和暖如春哥捕,著一層夾襖步出監(jiān)牢的瞬間牧抽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工遥赚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扬舒,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓凫佛,卻偏偏與公主長得像讲坎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子愧薛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容