SupportVectorMachine支持向量機(jī)

Welcome To My Blog
支持向量機(jī)(support vector machine,SVM)是一種二分類模型,它的基本模型是定義在特征空間上的間隔最大的線性分類器,間隔最大使它有別于感知機(jī).
有3類支持向量機(jī)模型:
1. 線性可分支持向量機(jī)
2. 線性支持向量機(jī)
3. 非線性支持向量機(jī)
(這三種模型建立思路很像,求解過程不同)

一.線性可分支持向量機(jī)

幾何間隔與函數(shù)間隔的引出

超平面wx+b=0外一點(diǎn)x0到超平面的距離公式(幾何間隔):

1.png

分母是w的二范式,不隨x0的改變而改變,所以可以分子|wx0+b|能夠相對(duì)地表示點(diǎn)x0距離超平面wx+b=0的遠(yuǎn)近.
一個(gè)點(diǎn)距離分離超平面的遠(yuǎn)近可以表示分類預(yù)測(cè)的確信程度.
wx0+b的符號(hào)與類標(biāo)記y0的符號(hào)是否一致能夠表示分類是否正確.
所以,可用y0(wx0+b)來表示分類的正確性及確信度,這就是函數(shù)間隔(functional margin)

函數(shù)間隔

超平面(w,b)關(guān)于樣本點(diǎn)xi的函數(shù)間隔為:

2.png

超平面(w,b)關(guān)于訓(xùn)練集T的函數(shù)間隔為:
3.png

幾何間隔

超平面(w,b)關(guān)于樣本點(diǎn)xi的幾何間隔為:

4.png

超平面(w,b)關(guān)于訓(xùn)練集T的幾何間隔為:
5.png

硬間隔最大化

找到了超平面(w,b)關(guān)于訓(xùn)練集T的幾何間隔后,自然地希望最大化這個(gè)幾何間隔以保證之后分類預(yù)測(cè)的確信程度
目標(biāo)函數(shù)和約束如下:
約束表示超平面(w,b)關(guān)于任意樣本點(diǎn)的幾何間隔大于等于超平面(w,b)關(guān)于訓(xùn)練集T的幾何間隔

6.png

在約束中約去||w||并展開γ^
6.1.png

求出w,b的話問題就解決了,先別急,讓我們化簡(jiǎn)一下上面的式子
注意到,如果對(duì)w,b同比例的放縮,即變成kw,kb,函數(shù)間隔yi(wxi+b)也會(huì)成比例k變化,而超平面(w,b)沒有變化,
此時(shí)原問題和約束變?yōu)?
7.png

約掉k后,目標(biāo)函數(shù)和約束沒有改變,說明對(duì)w,b進(jìn)行同比例放縮絲毫不影響目標(biāo)函數(shù)和約束,那么可以選取合適的k讓函數(shù)間隔γ^=1,也就是
8.1.png

這樣一來,目標(biāo)函數(shù)和約束就變成了:
8.png

把||w||挪到分子上平方一下再乘個(gè)常數(shù)就有了:
9.png

比最初的形式簡(jiǎn)化了不少,這是個(gè)帶約束問題,通過Lagrange Multiplier拉格朗日乘子法化成無約束問題:
(原問題:極大極小)
10.png

具體原理可參考之前的文章Lagrange duality拉格朗日對(duì)偶性
對(duì)偶形式:

11.png

其中:
12.png

所以有:
13.png

進(jìn)而有(最終形式):
下面的約束是求 min L(w,b,α)時(shí)得到的
這是個(gè)凸二次規(guī)劃問題(目標(biāo)函數(shù)是二次函數(shù),不等式約束是仿射函數(shù))
14.png

求解得到α*=(α1,α2,...,αN)^t,這是對(duì)偶問題的解,
可由α*得到w*,b*
15.png

之所以能從對(duì)偶問題獲得原問題的解,是因?yàn)樵瓎栴}為凸二次規(guī)劃問題,并且解α*,w*,b* 滿足KKT條件
有了w*,b*就能得到最大間隔分離超平面和分類決策函數(shù):

16.png

支持向量

通過由α*得到w*,b*的公式可以知道,對(duì)應(yīng)α*=0的實(shí)例xi對(duì)超平面(w*,b*)的兩個(gè)參數(shù)都沒有貢獻(xiàn),只有對(duì)應(yīng)α*>0的實(shí)例xi對(duì)超平面(w*,b*)的兩個(gè)參數(shù)有貢獻(xiàn),也就是說超平面完全由對(duì)應(yīng)α*>0的實(shí)例決定,這些實(shí)例稱為支持向量,由KKT的互補(bǔ)條件知,若α*>0,則有y(wx+b)-1=0,即wx+b=±1,說明支持向量都在間隔邊界上

小結(jié)

對(duì)于線性可分SVM學(xué)習(xí)來說:

  1. 模型為分離超平面和決策函數(shù)
  2. 學(xué)習(xí)策略:硬間隔最大化(間隔的描述及約束)
  3. 學(xué)習(xí)算法:凸二次規(guī)劃

二.線性支持向量機(jī)

通常情況下,訓(xùn)練數(shù)據(jù)中有一些特異點(diǎn)(outlier),將這些特異點(diǎn)去掉后,剩下的大部分樣本點(diǎn)組成的集合是線性可分的.線性不可分意味著不是所有點(diǎn)都滿足函數(shù)間隔大于等于1的約束,為解決這個(gè)問題,引入一個(gè)松弛變量ζi≥0,使函數(shù)間隔加上松弛變量后大于等于1.即,y(wx+b)+ζ≥1

軟間隔最大化

對(duì)每個(gè)松弛變量ζi,支付一個(gè)代價(jià)ζi,目標(biāo)函數(shù)變?yōu)?br>

17.png

這里C>0稱為懲罰參數(shù),C越大則對(duì)錯(cuò)誤分類的懲罰越大
最小化上述目標(biāo)函數(shù)實(shí)現(xiàn)的是軟間隔最大化,最小化上式包含兩層含義:使1/2||w||^2盡量小,即間隔盡量大,同時(shí)使誤分類點(diǎn)的個(gè)數(shù)盡量小.
硬間隔就是真正的間隔,軟間隔是包含了代價(jià)項(xiàng)ζ的硬間隔
由上分析便得到了線性支持向量機(jī)的學(xué)習(xí)目標(biāo):
18.png

化為拉格朗日形式(不帶約束)的原問題:
19.png

對(duì)偶問題:
20.png

其中:

21.png

進(jìn)而:
22.png

所以對(duì)偶問題的最終形式:
23.png

與線性可分SVM的對(duì)偶最終形式相比只是α的約束不同,約束增強(qiáng)了
求解得到α*=(α1,α2,...,αN)^t,這是對(duì)偶問題的解,
可由α*得到w*,b*
24.png

有了w*,b*就能得到最大間隔分離超平面和分類決策函數(shù):

16.png

支持向量

和線性可分SVM類似,超平面完全由對(duì)應(yīng)α*>0的實(shí)例決定,這些實(shí)例稱為支持向量,但是線性SVM的支持向量不一定都在間隔邊界上

25.png

KKT互補(bǔ)條件之一:α*(y(w*x+b)+ζ-1)=0
當(dāng)0<αi<C時(shí),ζi=0,則y(w*x+b)-1=0,此時(shí)支持向量在間隔邊界上
當(dāng)αi=C時(shí),ζi>0,支持向量可能在:
間隔邊界與超平面之間:0<ζi<1
超平面上:ζi=1
誤分類一側(cè):ζi>1

Hinge Loss Function合頁損失函數(shù)

線性SVM的學(xué)習(xí)還有另一種等價(jià)模型,即最小化目標(biāo)函數(shù):

26.png

27.png

28.png

證明新目標(biāo)函數(shù)與原問題等價(jià)時(shí),主要抓住三點(diǎn):
1. hinge loss≥0
2. 令[1-y(wx+b)]_+=ζ
3. 討論1-y(wx+b)的取值范圍
L(y(wx+b))說明了:
1. 點(diǎn)到超平面的函數(shù)距離≥1時(shí),損失為0
2. 點(diǎn)到超平面的函數(shù)距離<1時(shí),損失為1-y(wx+b)
下圖藍(lán)線代表hinge loss的圖像
29.png

小結(jié)

對(duì)于線性SVM學(xué)習(xí)來說:

  1. 模型為分離超平面和決策函數(shù)(線性SVM的對(duì)偶形式)
  2. 學(xué)習(xí)策略:軟間隔最大化(間隔的描述及約束)
  3. 學(xué)習(xí)算法:凸二次規(guī)劃

三.非線性支持向量機(jī)

用線性分類方法求解非線性分類任務(wù)分為兩步:
1. 將訓(xùn)練數(shù)據(jù)從輸入空間(歐式空間或離散集合)映射到新的特征空間(希爾伯特空間)使數(shù)據(jù)在新特征空間中線性可分
2. 在新特征空間中用線性分類學(xué)習(xí)方法從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)分類模型,使得輸入空間中的超曲面模型對(duì)應(yīng)特征空間中的超平面模型
Kernel trick(核技巧)便屬于這樣的方法

目標(biāo)

30.png

K(x1,x2)=φ(x1)φ(x2)是個(gè)對(duì)稱函數(shù),叫作正定核(positive definite kernel)
一般只定義K(x1,x2),而不顯式地定義φ(x),那么如何保證K(x1,x2)是正定核呢?
正定核的充要條件:
33.png

證明過程需要預(yù)備知識(shí):構(gòu)造希爾伯特空間

  • 定義映射φ并構(gòu)成向量空間S(對(duì)加法和數(shù)乘運(yùn)算封閉的集合)
  • 在S上定義內(nèi)積構(gòu)成內(nèi)積空間(用到了歐式空間Gram矩陣的半正定性)
  • 將內(nèi)積空間S完備化為希爾伯特空間

由α*得到b*

31.png

分類決策函數(shù)
32.png

常用的核函數(shù)

正定核的充要條件在構(gòu)造核函數(shù)時(shí)很有用.但對(duì)于一個(gè)具體函數(shù)K(x,z)來說,檢驗(yàn)它是否為正定核并不容易,因?yàn)樾枰獙?duì)任意有限輸入集{x1,x2,...,xm}驗(yàn)證K對(duì)應(yīng)的Gram矩陣(在希爾伯特空間)是否為半正定的.實(shí)際問題中往往應(yīng)用已有的核函數(shù)

  1. 多項(xiàng)式核函數(shù)(polynomial kernel function)
    34.png

    對(duì)應(yīng)的支持向量機(jī)是一個(gè)p次多項(xiàng)式分類器,分類決策函數(shù)為:
    35.png
  2. 高斯核函數(shù)(Gaussian kernel function)
    36.png

    對(duì)應(yīng)的支持向量機(jī)是高斯徑向基函數(shù)(radial basis function)分類器,分類決策函數(shù)為:
    37.png
  3. 字符串核函數(shù)(string kernel function)
    定義在字符串集合上的核函數(shù),字符串核函數(shù)應(yīng)用在文本分類,信息檢索,生物信息學(xué)等方面.
    k_n(s,t)給出了字符串s和t中長(zhǎng)度等于n的所有子串組成的特征向量的余弦相似度(cosine similarity).直觀上,兩個(gè)字符串相同的子串越多,它們就越相似,字符串核函數(shù)的值就越大.字符串核函數(shù)可以由動(dòng)態(tài)規(guī)劃快速計(jì)算

SMO算法

SMO:sequential minimal optimization
利用SMO算法實(shí)現(xiàn)SVM的學(xué)習(xí)

30.png

SMO算法包括兩個(gè)部分:

  1. 求解兩個(gè)變量二次規(guī)劃的解析方法(線性規(guī)劃;把握好對(duì)g(x)和Ei的理解)
  2. 選擇變量的啟發(fā)式方法(KKT;|E1-E2|最大)

參考:李航,統(tǒng)計(jì)學(xué)習(xí)方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硬纤,一起剝皮案震驚了整個(gè)濱河市轻专,隨后出現(xiàn)的幾起案子货岭,更是在濱河造成了極大的恐慌闹啦,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偶妖,死亡現(xiàn)場(chǎng)離奇詭異肌访,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)盒使,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門崩掘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人少办,你說我怎么就攤上這事苞慢。” “怎么了英妓?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵挽放,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蔓纠,道長(zhǎng)辑畦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任腿倚,我火速辦了婚禮纯出,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敷燎。我一直安慰自己潦刃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布懈叹。 她就那樣靜靜地躺著,像睡著了一般分扎。 火紅的嫁衣襯著肌膚如雪澄成。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天畏吓,我揣著相機(jī)與錄音墨状,去河邊找鬼。 笑死菲饼,一個(gè)胖子當(dāng)著我的面吹牛肾砂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宏悦,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼镐确,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了饼煞?” 一聲冷哼從身側(cè)響起源葫,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砖瞧,沒想到半個(gè)月后息堂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年荣堰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了床未。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡振坚,死狀恐怖薇搁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情屡拨,我是刑警寧澤只酥,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站呀狼,受9級(jí)特大地震影響裂允,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哥艇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一绝编、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧貌踏,春花似錦十饥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至眷昆,卻和暖如春蜒秤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亚斋。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工作媚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人帅刊。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓纸泡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親赖瞒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子女揭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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

  • 【概述】 SVM訓(xùn)練分類器的方法是尋找到超平面,使正負(fù)樣本在超平面的兩側(cè)(分類正確性即“分得開”)冒黑,且樣本到超平面...
    sealaes閱讀 11,002評(píng)論 0 7
  • 參考Jerrylead和july-支持向量機(jī)通俗導(dǎo)論 一田绑、由邏輯回歸,引申出SVM(線性可分的SVM) 1.1 邏...
    小碧小琳閱讀 1,430評(píng)論 0 2
  • 本章涉及到的知識(shí)點(diǎn)清單:1抡爹、決策面方程2掩驱、函數(shù)間隔和幾何間隔3、不等式約束條件4、SVM最優(yōu)化模型的數(shù)學(xué)描述(凸二...
    PrivateEye_zzy閱讀 13,188評(píng)論 3 10
  • 本文主要是學(xué)習(xí)支持向量機(jī)的算法原理欧穴,并且用Python來實(shí)現(xiàn)相關(guān)算法民逼。內(nèi)容包括:SVM概述、線性可分支持向量機(jī)涮帘、線...
    keepStriving閱讀 16,710評(píng)論 6 57
  • 二拼苍、核函數(shù) 上一節(jié)我們說到,在引入對(duì)偶問題與KKT條件以后调缨,此時(shí)的w為 于是此時(shí)的模型從wx+b轉(zhuǎn)換成了另一個(gè)形式...
    小碧小琳閱讀 739評(píng)論 0 1