SVM即支持向量機作爲神經網絡復興前的最強大模型,建模和推導有着嚴密的數學推導作爲基礎,在訓練完成後計算速度也較快,得到了廣泛的應用。本文先闡述SVM的基本問題和推導過程,再引入軟間隔的SVM,最後引入核函數和求解方法。
問題引入
考慮簡單的二分類問題,我們想找一個“最好”的超平面來分隔兩類樣本。可以看到,在樣本點線性可分的情況下,能夠找到多個超平面。但其中黑色超平面直觀上來看是最合理的,所有樣本點到黑色超平面的距離都比較遠。新來一個樣本時,由於噪聲或訓練集侷限性(採樣)等因素,新樣本可能更加接近超平面,導致分類錯誤,而黑色超平面受的影響最小,因爲所有樣本到它的距離都比較遠,泛化能力最強。
樣本空間中,超平面方程如下:
wTx+b=0
樣本空間中任意一點x0 到超平面的距離爲:
r=|wTx0+b|||w||
如何描述這個“最好”的超平面?我們引入兩條“間隔”超平面作爲“楚河漢界”,現在我們的目標變爲:在滿足所有樣本點位於邊界外的基礎上(分類正確),使“楚河漢界”最寬(泛化能力最強)。
我們取兩條間隔線爲 wTx+b=±k ,在任意間隔線上取一點,到另一間隔線的距離即爲“楚河漢界”寬度,等於d=2k||w|| ,此時我們的目標變爲:
max d
s.t. wTx+b≥k, y=1
wTx+b≤−k, y=−1
由於目標爲最大間隔,而k 相當於衡量寬度的一個尺度,取不同尺度只會改變目標函數的優化程度,爲了之後模型推導的方便,取k=1 。目標等價變爲:
min 12||w||2
s.t. yi(wTx+b)≥1, ∀xi
在該問題中,約束條件爲仿射函數,爲凸二次規劃問題,可以直接求解。但推導得到等價的對偶問題後,可以更高效地求解。
拉格朗日乘數法與對偶問題
不失一般性,定義原問題p∗ 如下:
min f(w)
s.t.gi(w)≤0
構造拉格朗日函數:
L(w,α)=f(w)+∑iαigi(w)
定義:
θp(w)=maxαi≥0L(w,α)
有:
θp(w)={f(w)+∞限制滿足限制不滿足
在αi≥0 的前提下,若不滿足gi(w)≤0 ,可取不滿足的約束,取對應αi 爲無窮,則函數爲無窮。此時原問題p∗ 的等價表述爲:
min f(w)=min θp(w)=minmaxαi≥0L(w,α) 即爲p∗
得到對偶問題d∗ 爲:
maxαi≥0minL(w,α)=maxαi≥0θD(w) 令爲d∗其中 θD(w)=minL(w,α)
當滿足KKT條件時:
⎧⎩⎨⎪⎪αi≥0gi(w)≤0αigi(w)=0
原問題和對偶問題有相同的解。
SVM對偶問題
回到SVM原問題p∗ :
min 12||w||2
s.t. yi(wTx+b)≥1, ∀xi
構造拉格朗日算子,顯然有:
f(w)=12||w||2
gi(w)=1−yi(wTxi+b)≤0
L(w,α)=f(w)+∑iαigi(w)
通過解對偶問題來解原問題
maxαi≥0minL(w,α)=maxαi≥0θD(w) 其中 θD(w)=minw,bL(w,α)
對於L(w,α) ,極值在偏導爲0處取到(注意此時L只是關於w和b的函數 ),令:
∂L∂w=0, ∂L∂b=0
得到:
w=∑iαiyixi, ∑iαiyi=0
將w 代回L ,得到:
minw,bL=∑iαi−12∑i∑jαiαjyiyjxTixj, 記爲W(α)
可以看到L 只是關於α 的函數,對偶問題即爲:
d∗=maxW(α)
s.t. αi≥0, ∑iαiyi=0
此時回過頭來,我們看KKT條件,易得若αi>0 ,則有gi(w)=0 ,即yi(wTxi+b)=1 ,xi 位於間隔超平面上,我們稱這樣的樣本爲支持向量。當我們求解得到αi 代入後,由w=∑iαiyixi 即可得到w ,由任意一支持向量均滿足gi(w)=0 ,將w,xi,yi 代入即可得到b ,最終判別函數爲:
f(x)=wTx+b=(∑iαiyixTi)x+b=∑iαiyi(xTix)+b
對於所有非支持向量的樣本,有αi=0 ,即在最終的判別函數中只有支持向量起作用,故SVM可以看做一系列支持向量的“加權和”構成的模型。
本文總結了SVM的建模來由、對偶問題和模型推導過程,最終得到了SVM對偶問題的形式和判別函數。其餘內容下文再續。