SVM支持向量機(jī)

SVM是數(shù)據(jù)挖掘算法中比較復(fù)雜難懂的副渴,反復(fù)觀看斯坦福機(jī)器學(xué)習(xí)的視頻, 以及網(wǎng)上零散學(xué)習(xí)各種數(shù)學(xué)和SVM相關(guān)資料, 對(duì)SVM還只能算有個(gè)粗淺的理解慕匠,寫篇文章梳理下SVM的基本脈絡(luò),和大家分享下域醇,有不正確之處請(qǐng)指正絮重。

SVM介紹

SVM支持向量機(jī)(英文全稱:support vector machine)是一個(gè)分類算法, 通過找到一個(gè)分類平面歹苦, 將數(shù)據(jù)分隔在平面兩側(cè)青伤, 從而達(dá)到分類的目的。
如下圖所示殴瘦, 直線表示的是訓(xùn)練出的一個(gè)分類平面狠角, 將數(shù)據(jù)有效的分隔開。


SVM分類示意圖

SVM實(shí)現(xiàn)原理

SVM的分類基本思路是找到一個(gè)分類平面蚪腋, 下面重點(diǎn)探討下如何找到這個(gè)平面丰歌。 先梳理下SVM求解的基本思路;

Paste_Image.png

如圖SVM的推導(dǎo)分為5個(gè)步驟:

  1. 用數(shù)學(xué)來定義要求解的問題
    SVM是求解一個(gè)平面S:y = wx + b姨蟋, 其實(shí)就是求解參數(shù)w, b。如何來求解w, b呢立帖? 怎么判斷訓(xùn)練的w, b構(gòu)成的平面已經(jīng)足夠好呢眼溶? 這就需要把問題建模成一個(gè)數(shù)學(xué)問題(稱為原始問題),從而明確求解的目標(biāo)以及約束條件晓勇。

  2. 求解原始問題轉(zhuǎn)換為二次凸函數(shù)+約束條件的優(yōu)化問題
    原始問題很難求解出參數(shù)堂飞, 轉(zhuǎn)換為二次凸函數(shù)+約束條件的優(yōu)化問題, 這種轉(zhuǎn)換保證兩個(gè)函數(shù)取最優(yōu)解時(shí)绑咱,參數(shù)是相同的绰筛。做這種轉(zhuǎn)換的主要原因是二次凸函數(shù)和約束條件有成熟的計(jì)算方法和理論支撐(拉格朗日優(yōu)化理論)。

  3. 拉格朗日優(yōu)化+對(duì)偶特性構(gòu)建方程
    將w, b參數(shù)優(yōu)化轉(zhuǎn)換為對(duì)參數(shù)alpha的優(yōu)化(alpah為拉格朗日約束函數(shù)的參數(shù))

  4. SMO求解alpha最優(yōu)值
    通過上步構(gòu)建的方程描融, w, b可以通過alpha來表示铝噩。 SMO可以求解出alpha, 再通過alpha求出w,b窿克。 到此平面的方程就可推導(dǎo)出來骏庸。

SVM的數(shù)學(xué)定義

SVM是要找到最合適的分類平面, 那么怎么才算最合適的? 最直接的評(píng)估標(biāo)準(zhǔn):被分隔的兩邊數(shù)據(jù)距離平面間隔最大年叮, 換句話具被,SVM就是獲取最大間隔的超平面。下面介紹兩個(gè)衡量樣本到超平面間隔的定義谋右。

  1. 函數(shù)間隔
    在超平面w * x + b = 0確定的情況下硬猫,|wx+b|表示點(diǎn)距離超平面的距離,而超平面作為二分類器改执,如果wx+b>0啸蜜, 判斷類別y為1, 否則判定為-1。從而引出函數(shù)間隔的定義:
單樣本函數(shù)間隔

其中y是訓(xùn)練數(shù)據(jù)的類標(biāo)記值辈挂, 如果y(w^T * x + b) >0說明衬横,預(yù)測的值和標(biāo)記的值相同, 分類正確终蒂,而且值越大蜂林,說明點(diǎn)離平面越遠(yuǎn),分類的可靠程度更高拇泣。這是對(duì)單個(gè)樣本的函數(shù)定義噪叙, 對(duì)整個(gè)樣本集來說,要找到所有樣本中間隔值最小的作為整個(gè)集合的函數(shù)間隔:

整個(gè)數(shù)據(jù)集的函數(shù)間隔

即w和b同時(shí)縮小或放大M倍后霉翔,超平面并沒有變化睁蕾,但是函數(shù)間隔跟著w和b變化。所以,需要加入約束條件使得函數(shù)間隔固定, 也就是下面介紹的幾何間隔子眶。

2.幾何間隔
根據(jù)點(diǎn)到平面的距離公式和w*x+b=0平面公式瀑凝, 推導(dǎo)得到幾何間隔定義:

Paste_Image.png

和函數(shù)間隔類似, 為得到r的絕對(duì)值臭杰, 我們定義幾何間隔:在上述公式中乘以y值粤咪, 同時(shí)也得到與函數(shù)間隔的關(guān)系:幾何間隔就是函數(shù)間隔除以w的范式。

Paste_Image.png

為方便推導(dǎo)和優(yōu)化渴杆, 令函數(shù)間隔等于1得到最大間隔分類器的原始定義:

Paste_Image.png

最大間隔分類器就是我們求取的分類超平面寥枝, 等于max(幾何間隔), 而函數(shù)間隔假設(shè)為1将塑,就可得到最大間隔超平面: max(1/||w||), 而約束條件是因?yàn)楹瘮?shù)間隔是所有樣本點(diǎn)的間隔函數(shù)中最小值脉顿。

SVM的二次凸函數(shù)和約束條件

最大間隔分類器的求解蝌麸, 可以轉(zhuǎn)換為上面的一個(gè)最優(yōu)化問題点寥, 即在滿足約束條件:

Paste_Image.png

求出就最大的1/||w||。
為更好的利用現(xiàn)有的理論和計(jì)算方法来吩, 可以將求解1/||w||最大值敢辩, 轉(zhuǎn)換為一個(gè)二次凸函數(shù)優(yōu)化問題:求解 Min(1/2 * (||w||)^2 ), 兩者問題是等價(jià)的弟疆。原來的問題轉(zhuǎn)換為二次凸函數(shù)優(yōu)化問題:

Paste_Image.png

拉格朗日構(gòu)建方程

在對(duì)二次凸函數(shù)進(jìn)行優(yōu)化前戚长,先討論下對(duì)偶性問題。 如下圖所示, 假設(shè)一個(gè)函數(shù)F(x,y) = f(x, y) + a * (g(x, y) - c)怠苔, 橢圓線是f(x, y)在平面上的等高線同廉, 綠色是g(x, y)=c的軌跡。


拉格朗日

從圖上可以看出柑司, F(x, y)的極值點(diǎn)肯定是f(x,y)和g(x,y)-c相切的點(diǎn)迫肖, 這點(diǎn)上兩個(gè)曲線的法向量平行。從而可以得到如下結(jié)論:

Paste_Image.png

類似的攒驰,可以將1/2 * ||w|| ^2優(yōu)化函數(shù)和約束條件結(jié)合起來蟆湖, 構(gòu)建一個(gè)函數(shù):

Paste_Image.png

其中ai是拉格朗日乘子。

利用對(duì)偶性的結(jié)論玻粪, 對(duì)L(w隅津,b,a)關(guān)于w和b求偏導(dǎo)數(shù):


Paste_Image.png

將上面兩個(gè)等式劲室,代入L(w, b, a)函數(shù)伦仍,最終最大間隔分類器優(yōu)化文件, 就轉(zhuǎn)換成如下定義(過程太過復(fù)雜很洋,直接看下結(jié)論就可以)充蓝, 注意這個(gè)公式中只涉及求解ai的極大值, 不涉及w, b參數(shù)的求解蹲缠, 因?yàn)閣, b都可以用ai來表示棺克, 求出ai后悠垛, 自然就求出了w,b的值。


Paste_Image.png

SMO算法求解alpha

上面推導(dǎo)的公式娜谊, 是通過SMO算法來求解的确买。最常見的是Platt SMO算法 , 這個(gè)算法是在1996年John Platt 發(fā)布的纱皆。SMO算法(Sequential Minimal Optimization)全稱是最小序列優(yōu)化湾趾。SMO的基本思路類似動(dòng)態(tài)規(guī)劃, 也是一種啟發(fā)式算法派草,它將原優(yōu)化問題分解為多個(gè)小優(yōu)化問題來求解搀缠,并且對(duì)這些小優(yōu)化問題進(jìn)行順序求解得到的結(jié)果作為作為整體的結(jié)果。本文不詳細(xì)介紹近迁, 后續(xù)文章更新艺普。

后記:

  1. 本文大體梳理下SVM的推導(dǎo)求解過程, 但這個(gè)推導(dǎo)只針對(duì)線性的分類超平面鉴竭,非線性分類超平面需要用到核函數(shù)歧譬, 將低維線性不可分通過空間映射到高維, 從而變得線性可分搏存。
  2. SMO的具體用法和實(shí)現(xiàn)代碼先記下瑰步, 有時(shí)間再更新。

介紹一篇比較總結(jié)比較好的文章:
http://mp.weixin.qq.com/s/Uha_MJQtJiWRhBuVW32y9g

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末璧眠,一起剝皮案震驚了整個(gè)濱河市缩焦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌责静,老刑警劉巖袁滥,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泰演,居然都是意外死亡呻拌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門睦焕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藐握,“玉大人,你說我怎么就攤上這事垃喊』眨” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵本谜,是天一觀的道長初家。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么溜在? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任陌知,我火速辦了婚禮,結(jié)果婚禮上掖肋,老公的妹妹穿的比我還像新娘仆葡。我一直安慰自己,他們只是感情好志笼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布沿盅。 她就那樣靜靜地躺著,像睡著了一般纫溃。 火紅的嫁衣襯著肌膚如雪腰涧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天紊浩,我揣著相機(jī)與錄音窖铡,去河邊找鬼。 笑死郎楼,一個(gè)胖子當(dāng)著我的面吹牛万伤,可吹牛的內(nèi)容都是我干的窒悔。 我是一名探鬼主播呜袁,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼简珠!你這毒婦竟也來了阶界?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤聋庵,失蹤者是張志新(化名)和其女友劉穎膘融,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祭玉,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氧映,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脱货。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岛都。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖振峻,靈堂內(nèi)的尸體忽然破棺而出臼疫,到底是詐尸還是另有隱情,我是刑警寧澤扣孟,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布烫堤,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸽斟。R本人自食惡果不足惜拔创,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望富蓄。 院中可真熱鬧伏蚊,春花似錦、人聲如沸格粪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帐萎。三九已至比伏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疆导,已是汗流浹背赁项。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澈段,地道東北人悠菜。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像败富,于是被迫代替她去往敵國和親悔醋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

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