Hard-Margin SVM(支持向量機)


什么是Hard-Margin SVM?指的是這個向量機只適用於“數據完全可分(seperately)”的情況。

 

(一)什么是支持向量機?

image

上述三條直線,選擇哪一條比較好?直覺上來說,最右面的那條直線最好。因為它的Margin比較胖,對數據點中混雜的噪聲容忍度更高,更加robust。所以以后我們在計算w的時候,加上一個限制條件:尋找Margin最胖的w。

image

w能將所有的點分開,等價於:對於所有的點,有ynwTxn > 0.

image

 

首先需要解決一個問題:如何衡量distance?

為了更好的表達這個問題,我們先明確一下符號的含義:

image

把w拆成兩部分。

image

image

 

現在我們已經知道了distance如何衡量,我們的問題轉化成

image

這個問題是什么呢?以二維直線為例:對於一堆可以把所有數據點正確分類的直線,選擇margin(b,w)最大的直線。

現在來想:這些直線都是可以scaling的,假設我scaling所有的w,使得:

image

再次轉化問題:

image

現證明最終形式等價於上一個形式:

對於所有nclip_image002[4]條件下,尋找最小的|w|。假設找到一組(b,w)。且對於所有的n,有clip_image002[6](a>1)。必然存在一組(b/a, w/a),滿足條件,且具有更小的|w|。存在矛盾,所以必然有a=1.那么問題就等於於:clip_image002[8]。證明完畢。

image

上述形式即為支持向量機

我們可以看出,對於支持向量機,相當於在線性模型上加了一個限制條件,使得VC dimension減小。

具體的有:

image

這里的ρ代表的就是margin的大小。

支持向量機的好處是:

image

 

 

(二)如何計算SVM(1)

image

對於SVM這種形式呢,我們可以用一個叫做“二次規划”的工具來求解。

“二次規划”是一個工具程序,我們只要把SVM的輸入輸出改寫成符合“二次規划”要求的輸入輸出,利用現有的工具計算即可。

image

(三)如何計算SVM(2)

對於non-linear SVM,數據點的維度非常大

image

現在的問題是:對於nonlinear SVM,如何實現下述目標?

image

這需要非常多的數學知識,下面只講概況。

1)首先使用Lagrange Multipliers

image

SVM問題轉化為:clip_image002[10]

 

2)對偶問題

image

image

其對偶問題只不過是將max與min位置互換。

 

image

image

補充說明:只有滿足KKT condition的情況下,原問題(primal)與對偶問題(dual)的最優解相同。

image

(第四個條件:primal-inner optimal,可以通過Lagrange Multipliers那一張PPT解釋)

 

繼續求解:

image

image

再根據KKT condition,我們可以利用α的值,表達出optimal (b,w)

image

 

PS:

1)根據clip_image002[12],當αn大於0時,必然有clip_image002[14],也即:第n個數據點在margin上;

2)同時,在計算w和b的時候,只有大於0的αn起作用。

所以對於αn> 0的數據點(zn, yn)稱之為支持向量

這個支持向量不同於之前我們定義的支持向量,因為clip_image002[12]兩個都為0的情況沒有考慮。

image

 

問題真的解決了么?沒有。兩個問題:

1)如果N很大的話,例如N=30000,那么單單存儲Q矩陣(N*N)就需要>3G RAM。所以我們需要特殊的、為SVM定制的QP程序;

2)我們並沒有實現目標,只是把計算復雜度給隱藏了。

image

 

 

(四)真正解決SVM:核函數

舉一個例子:

image

這樣的話:

image

image

 

OK,現在SVM問題解決了!

 

補充一點關於核函數的知識:

1)對於Polynomial 核函數,我們最常用的形式是:如下第三種形式

imageimage

2)最好先從Q=1開始(先從線性模型開始做)

image

3)高斯核函數

imageimage

因為高斯核函數很難從物理角度解釋,所以使用的使用必須慎重的選擇參數:

image

3)三種核函數比較:

imageimage

imageimage


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM