白板推導系列 - SVM支持向量機

支持向量機

視頻地址

https://www.bilibili.com/video/av28186618
非常感謝這位up!真的好感謝!講的很清楚!膝蓋都跪碎了!
感謝b站up主@shuhuai008

P1: 硬間隔SVM - 模型定義(最大間隔分類器)

SVM有三寶:間隔,對偶,核技巧
SVM的三種類別:
1)Hard-Margin SVM 硬間隔SVM
2)Soft-Margin SVM 軟間隔SVM
3)Kernal SVM

不同類別會採用不同的算法,最基礎的是硬間隔SVM,也是這一講的主要內容。
先從幾何角度來看。SVM最初的提出是爲了解決二分類問題。分類任務就是找到一條線,把平面上兩個類別的樣本正確地分開。如果把這條分割的線定義爲超平面,超平面爲wTx+bw^Tx+b,模型寫作f(w)=sign(wTx+b)f(w)=sign(w^Tx+b)。這個sign表示如果括號裏的數值大於0,則屬於1,小於0時,屬於-1。
此時,SVM是一個純粹的判別模型,和概率是沒有關係的。

但是有無限條線可以正確地把兩組點分開,SVM的特別之處在於,可以從幾何意義上找到一條最好的線。因爲,我們不僅僅關注訓練誤差,更加關注的是期望損失/測試誤差。如果一條直線和一個點非常近,那麼它的魯棒性就可能不太好,可能會受到噪聲的影響;所以我們要找的是最中間的一個超平面,讓它離所有樣本點的距離都足夠的大。

硬間隔SVM又叫作,最大間隔分類器。
用數學公式表示,即:
在這裏插入圖片描述
有N個樣本點:(xi,yi),xiRp,yi1,1{(x_i,y_i)}, x_i \in R^p, y_i\in{-1,1}
margin是一個定義間隔的函數,和w,b相關。
(注:最優化問題一般求解最小,因此過程中有些求最大轉化爲求最小的過程)
最後可以轉化爲一個凸優化的問題。

如果維度不高,其實就是一個QP問題;如果比較複雜,纔會引入對偶、kernal等用於求解。在後面幾P會解釋。

本次主要要注意把幾何意義化作數學表達。

P2: 硬間隔SVM - 模型求解(對偶問題之引出)

(本節中會忽略一些嚴格的定理證明)
首先,把上P講到的凸優化問題(對w,b帶有約束)——目標函數和優化條件,藉助拉格朗日函數把問題化成無約束的(對w與b沒有約束,只對λi\lambda_i有約束條件)問題。
注意到,拉格朗日乘子的一些限制,λi>=0\lambda_i>=0,後面相乘的式子要小於等於0。

然後通過一個比較簡化的證明,可以證明我們的通過拉格朗日的轉化後得到的式子的解和原來的式子的解是等價的。
由此,我們也求解出:
minw,bmaxλL(w,b,λ)=minw,b12wTwmin_{w,b}max_{\lambda}L(w,b,\lambda)=min_{w,b}\frac{1}{2}w^Tw

其實,仔細去理解一下,你會發現,拉格朗日轉化後的式子,雖然沒有明確寫出一些約束條件,但是在求解過程中,其實還是會自然處理好這部分問題的。

在這裏插入圖片描述

以上的兩個式子是原問題,然後我們利用對偶關係,進一步更新轉化這個要求解的問題。

首先,我們要理解一個式子(不嚴格證明),即弱對偶關係:
minmax(f)>=maxmin(f)min\max(f)>=max\min(f)
用up的寧爲雞頭,不爲鳳尾理論,我們可以這樣理解爲——鳳裏的鳳尾>=雞裏的雞頭。
這樣的一個關係,叫做弱對偶關係。

但我們最想要的其實是一個強對偶關係,也就是:
minmax(f)=maxmin(f)min\max(f)=max\min(f)

而我們的優化問題,要優化的函數:它的目標函數是一個凸二次的,它的約束也是線性的;所以在理論上它是滿足強對偶條件的(證明略過),因此我們就直接利用下這個強對偶條件。

得到:
在這裏插入圖片描述

注意到,maxmax(L(w,b,λ))max\max(L(w,b,\lambda))裏面那層的min的式子,對w和b是沒有約束的,所以我們就直接通過求偏導,零其爲0。
過程中也有一些運算:
在這裏插入圖片描述

在這裏插入圖片描述
得到:
在這裏插入圖片描述
此時已經得到,令裏面那層達到min的w值爲w=i=1Nλiyixiw = \sum_{i=1}^N{\lambda_i y_i x_i}

裏面那層的數值相當於,已經就算出,那麼現在就繼續算外面那一層的。
在這裏插入圖片描述

這一節就到這裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章