從零開(kāi)始SVM算法(2)-SVM方程推導(dǎo)


上一章我們介紹了SVM算法的意義,SVM是large-margin算法,旨在找到一條能夠完全區(qū)分訓(xùn)練集而且擁有最大margin值的直線。在這一章節(jié)里,我們將推導(dǎo)margin的計(jì)算方式和SVM最終要解決的問(wèn)題的方程表達(dá)式。

任意點(diǎn)到?jīng)Q策邊界距離(1) - 初步表達(dá)式

上章節(jié)我們提到,margin值就是所有數(shù)據(jù)點(diǎn)到?jīng)Q策邊界的距離里面的最小值,所以首先我們要計(jì)算平面內(nèi)任意一點(diǎn)到?jīng)Q策邊界的距離。為了使得表述和理解更簡(jiǎn)單,在下面的所有推導(dǎo)中,我們都采用二維平面內(nèi)的數(shù)據(jù)作為例子去做解釋。二維平面得到的結(jié)論可以推廣到任意維度的空間當(dāng)中。

上圖是一個(gè)在上一章節(jié)用過(guò)的二維數(shù)據(jù)集例子。在圖中,紅色的數(shù)據(jù)點(diǎn)是需要計(jì)算到?jīng)Q策邊界距離的點(diǎn),我們標(biāo)注其為XX1為決策邊界上的點(diǎn)。注意,這里的X1跟坐標(biāo)軸上的x1不一樣,這里的X1是一個(gè)點(diǎn),也是一個(gè)擁有兩個(gè)維度的向量。坐標(biāo)軸上的x1是兩個(gè)維度對(duì)應(yīng)的值的大小,是標(biāo)量。圖中的distance是我們需要計(jì)算的距離,該線段與決策邊界垂直且與點(diǎn)X相交。

現(xiàn)在,假定圖中的決策邊界是由特征權(quán)重向量W和偏差值b決定的,既對(duì)于任意數(shù)據(jù)點(diǎn),h(X) = sign(WTX + b),該分類器是一個(gè)線性分類器(linear classifier)。對(duì)于任意數(shù)據(jù)X,當(dāng)WTX + b > 0的時(shí)候預(yù)測(cè)該點(diǎn)為正類,當(dāng)WTX + b < 0的時(shí)候預(yù)測(cè)該點(diǎn)為負(fù)類。當(dāng)WTX + b = 0的時(shí)候,該點(diǎn)正好落在決策邊緣上,此時(shí)分類器將其預(yù)測(cè)為正類來(lái)打破平衡(tie-break)。因此,我們很容易得到?jīng)Q策邊界的方程為WTX + b = 0。

為了計(jì)算點(diǎn)X到?jīng)Q策邊界的距離,我們做了一條輔助線,這條輔助線穿過(guò)點(diǎn)X和決策邊界上的一點(diǎn)X1。根據(jù)高中幾何知識(shí)我們知道X到?jīng)Q策邊緣的距離D,是向量X X1長(zhǎng)度在垂直于決策邊界方向上的投影,既Distance = ||X - X1||cos(a),a為向量XX1與垂直于決策邊界方向的夾角。

此時(shí),要計(jì)算Distance大小我們有兩個(gè)方法,第一個(gè)方法是計(jì)算角度a以及||X - X1||的大小,第二個(gè)方法是找到一個(gè)垂直于決策邊界的向量,假設(shè)是P。則距離

對(duì)于以上的公式推導(dǎo),我們將會(huì)在下面演示。

根據(jù)經(jīng)驗(yàn)而言,求法向量P往往比求角度a要簡(jiǎn)單一些,所以我們?cè)谶@里采用第二種方法。由于我們最終需要用權(quán)重向量W和偏差b來(lái)表示距離大小,所以上面公式的是距離的初步表達(dá)式,我們還需要進(jìn)行進(jìn)一步推算。

任意點(diǎn)到?jīng)Q策邊界距離(2) - 初步表達(dá)式的證明

剛剛我們提到了第二種計(jì)算距離的方法,并給出了計(jì)算公式,現(xiàn)在我們要證明計(jì)算公式的正確性。

首先根據(jù)向量相乘公式我們知道,兩個(gè)向量相乘等于向量長(zhǎng)度的乘積再與向量夾角余弦值的乘積。既


上面的式子說(shuō)的是向量P和向量||X - X1||的乘積,因?yàn)?em>P是垂直于決策邊界,所以PX - X1向量的夾角就是第一個(gè)坐標(biāo)圖中的角a。之前我們提到過(guò),所求距離Distance = ||X - X1|| cos(a)。因此根據(jù)上面的得到的公式我們可以推出:

任意點(diǎn)到?jīng)Q策邊界距離(3) - 找到跟決策邊界垂直的向量P

在前面我們介紹并推導(dǎo)了任意點(diǎn)到?jīng)Q策邊界距離的初步表達(dá)式。現(xiàn)在,我們要找到公式當(dāng)中的向量P,一個(gè)垂直于決策邊界的向量。


現(xiàn)在我們?cè)俣x另一個(gè)落在決策邊界上的點(diǎn)X2。
X1和X2都落在決策邊界上,因此對(duì)于點(diǎn)X1和X2,滿足決策邊界方程

我們把方程組中的上下兩式相減得到 WT (X1 - X2) = 0。向量相乘等于零說(shuō)明向量方向互相垂直。因此我們可以得到WT ⊥ (X1 - X2)。由于X1X2都落在決策邊界上,所以,(X1 - X2)的方向就是決策邊界的方向。因此WT就是我們要找的垂直于決策邊界的向量P

任意點(diǎn)到?jīng)Q策邊界距離(4)- 最終表達(dá)式

上面我們得到了垂直于決策邊界的向量 WT,現(xiàn)在我們把WT代入到前面的得到的距離初步表達(dá)式當(dāng)中,

我們把WT放到后面的括號(hào)里面:

因?yàn)?em>X1是決策邊界上的一點(diǎn),所以有


把上式代入Distance公式當(dāng)中得到

為了讓式子看著更簡(jiǎn)單,我們把||WT||換成||W||,因?yàn)?br> W的長(zhǎng)度與其轉(zhuǎn)置的長(zhǎng)度一樣。

這個(gè)距離公式還存在一個(gè)問(wèn)題,就是WTX + b的值有可能為負(fù),這樣算出來(lái)的距離就會(huì)為負(fù)值,這不符合我們常規(guī)當(dāng)中對(duì)距離大小的認(rèn)識(shí),我們常識(shí)當(dāng)中總認(rèn)為距離是非負(fù)的。因此我們?cè)?em>WTX + b外面加上一個(gè)絕對(duì)值符號(hào),確保其非負(fù)。下面就是任意點(diǎn)X到?jīng)Q策邊界的距離最終表達(dá)式:

Margin表達(dá)式的推導(dǎo)

前面我們推導(dǎo)了任意點(diǎn)到?jīng)Q策平面的距離表達(dá)式,下面我們要把問(wèn)題回歸到SVM,推導(dǎo)Margin值的表達(dá)式。
在上一章節(jié)我們提到,SVM的前提是要把訓(xùn)練集無(wú)錯(cuò)誤地分開(kāi),也就是說(shuō),對(duì)于所有訓(xùn)練數(shù)據(jù)X, WTX + b 于這個(gè)點(diǎn)的分類值yn必須是同號(hào),即yn (WTX + b) > 0。
因?yàn)閥n只有兩個(gè)值,+1和-1, 我們可以把距離公式當(dāng)中的絕對(duì)值符號(hào)去掉,但是要添加一個(gè)條件:

s.t. 后面的是等式成立的條件,這也是SVM的前提。
我們已經(jīng)知道,Margin值就是所有點(diǎn)Distance的最小值,因此我們得到Margin的表達(dá)式:

Margin表達(dá)式的簡(jiǎn)化

上面我們得到了Margin的表達(dá)式,然而要得到上面表達(dá)式的最大值仍然有點(diǎn)復(fù)雜,不便于計(jì)算,因此我們還需要對(duì)表達(dá)式進(jìn)行進(jìn)一步的簡(jiǎn)化,以方便計(jì)算。

通過(guò)觀察上面的表達(dá)式,我們可以把1 / ||W||提到min函數(shù)的前面去,因?yàn)? / ||W||跟n并無(wú)關(guān)系,margin公式轉(zhuǎn)換成了:

現(xiàn)在再次觀察新的margin表達(dá)式,容易看出我們或許可以嘗試對(duì)公式當(dāng)中min后面的式子進(jìn)行簡(jiǎn)化。假若我們能夠把后面的min值簡(jiǎn)化成一個(gè)常數(shù),甚至讓后面的min值簡(jiǎn)化成1,那么margin表達(dá)式就會(huì)剩下一個(gè) 1 / ||W||,計(jì)算量將會(huì)大大減少。

事實(shí)上,我們確實(shí)可以把表達(dá)式當(dāng)中的min值簡(jiǎn)化成1。在說(shuō)明白這個(gè)道理之前,先看一個(gè)例子。

對(duì)于平面內(nèi)任意決策邊界,WTX + b = 0。現(xiàn)在讓其W和b同時(shí)放大三倍,既 3WTX + 3b = 0。可以很容易知道,放大三倍之后的決策邊界跟放大之前的決策邊界是同一條邊界,因此我們可以知道,對(duì)W和b同時(shí)進(jìn)行縮放,不會(huì)影響決策邊界的位置。

現(xiàn)在我們回到剛剛的margin表達(dá)式,我們可以對(duì)決策邊界參數(shù)做一個(gè)特殊的縮放,假設(shè)縮放倍數(shù)為n,使得其永遠(yuǎn)滿足以下條件:

剛剛提到,對(duì)決策邊界參數(shù)同時(shí)做相同倍數(shù)的縮放不影響決策邊界的位置,因此,WTX + b = 0 與 nWTX + nb = 0是同一條直線。所以可以得到相同的結(jié)論:

因此我們可以對(duì)margin表達(dá)式再次簡(jiǎn)化為:


注意,s.t.條件當(dāng)中原來(lái)有的 yn (WTX + b) > 0 這個(gè)條件在這里我們省略不寫(xiě),原因是只要滿足了yn (WTX + b)的最小值為1的話,必然滿足原來(lái)大于0的條件,所以為了簡(jiǎn)化,我們省略原來(lái)的條件不寫(xiě)。

把最小化條件放松

上面我們得到了簡(jiǎn)化的margin表達(dá)式及其成立條件,表達(dá)式只是剩下一個(gè)1 / ||W||,已經(jīng)足夠簡(jiǎn)單。然而,在讓表達(dá)式簡(jiǎn)單的同時(shí),我們卻把s.t.后面的條件變得更復(fù)雜了:


原來(lái)的條件是一個(gè)不等式,現(xiàn)在變成了一個(gè)最小化問(wèn)題,問(wèn)題變得更加復(fù)雜了,所以現(xiàn)在我們要做的就是把最小化條件放松,使條件再次變成一個(gè)不等式。關(guān)于為什么不等式條件會(huì)比最小化條件容易解決,我們會(huì)在以后的章節(jié)有所解釋。現(xiàn)在我們暫且認(rèn)同這一點(diǎn)。

現(xiàn)在我們嘗試把原來(lái)的最小化條件放松成以下條件:


這個(gè)條件是原來(lái)最小化條件的必要條件,即滿足原來(lái)?xiàng)l件,必定滿足新的條件,即若滿足yn (WTX + b)的最小值為1必定滿足對(duì)于所有的n,yn (WTX + b) >= 1。
但是對(duì)于新條件是否是原來(lái)?xiàng)l件的充分條件,我們還需證明。

現(xiàn)在用反證法證明新條件是舊條件的充分條件
假設(shè)一個(gè)最大的margin值對(duì)應(yīng)的最優(yōu)解為(W, b),假設(shè)這個(gè)最優(yōu)解滿足 :

此時(shí)這個(gè)最優(yōu)解滿足新的不等式條件,但是不滿足舊的最小化條件。
此時(shí)可以把不等式兩邊同時(shí)除以1.1,使其與原來(lái)的不等式條件一致:

這時(shí)的最優(yōu)解就變成了(W / 1.1, b / 1.1)。

把新的參數(shù)代入margin:


我們發(fā)現(xiàn),當(dāng)W變成W / 1.1的時(shí)候,||W||的值會(huì)變小,margin的值就會(huì)更大,解比原來(lái)的W更優(yōu)。因此這與原來(lái)假設(shè)的(W, b)是最優(yōu)解相互矛盾。

所以,我們可以下結(jié)論,當(dāng)(W, b)為最優(yōu)解時(shí),最小化條件和不等式條件是互為充要條件,可以作出最小化條件放松的操作。

現(xiàn)在,我們得到了更簡(jiǎn)單的margin計(jì)算方程,這里把最小化條件去掉了:

margin最大化問(wèn)題

上面我們得到了margin的計(jì)算表達(dá)式,現(xiàn)在可以得到我們需要優(yōu)化的模型:

總結(jié)

在這一章節(jié)里,主要講解了如何計(jì)算平面內(nèi)任意一點(diǎn)到?jīng)Q策邊界的距離,之后還推導(dǎo)了margin最大化問(wèn)題的模型。在后面的章節(jié)里,將會(huì)繼續(xù)介紹如何解決這一章得到的最大化問(wèn)題,從而得到最優(yōu)解。

引用

本章節(jié)某些內(nèi)容引用了臺(tái)灣大學(xué)林軒田老師Standard_Large-Margin_Problem一章節(jié)課件內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評(píng)論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,860評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 177,128評(píng)論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,291評(píng)論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,025評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,421評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,642評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,177評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,970評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,157評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,410評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,821評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,053評(píng)論 1 289
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,896評(píng)論 3 395
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,157評(píng)論 2 375

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