Andrew Ng機器學習筆記+Weka相關演算法實現(四)SVM和原始對偶問題
這篇部落格主要講解了Ng的課第六、七個視訊,涉及到的內容包括,函式間隔和幾何間隔、最優間隔分類器 ( Optimal Margin
Classifier)、原始/對偶問題 ( Primal/Dual Problem)、 SVM 的對偶問題幾個部分。
- 函式間隔和幾何間隔
函式間隔( functional margin) 與幾何間隔( geometric margin)是理解SVM的基礎和前提。
假設y∈{-1,1},而不再是0,1,我們可以將分類器函式表示如下:
這裡的b引數其實就是原來的X0,那麼我們可以知道,W和B決定了一個確定的超平面。
給定一個訓練樣本,我們定義函式間隔:
則當y(i)=1的時候,為了使函式間隔最大,我們要使取得一個較大的正數,當y(i)=-1時,我們要使得上式取到一個很小的負值。
接下來我們可以定義全域性的函式間隔:
也就是說全域性的函式間隔取決於函式間隔最小的那個樣本點。
但同時也不難發現這裡有一個問題,如果同時加大 w 和 b,則可以很容易的增加函式間隔,但是這樣對實際求解是沒有意義的的。我們為了限制 w 和 b,需要加入歸一化條件。
接下來引入幾何間隔:
對於上面的圖片,假設分割面上有一點B,它是A在這個分割面上的投影,這個間隔我們用γ表示,那麼我們很容易知道BA的方向其實就是分割面的梯度方向。其單位向量是:,它的長度是1,方向和BA方向一致,那麼我們假設A點的座標是:
這樣我們不難表示出B點的座標:
將座標代入分割面方程
我們得到下式:
所以:
對於全域性的γ,我們需要乘上類別:
這就是點到平面的幾何間隔,我們不難看出,當||W||=1時,幾何間隔就是函式間隔。同樣我們可以定義全域性幾何間隔:
- 最優間隔分類器
我們的目標是尋找到一個超平面,使得這個平面與離它最近的點距離最大,而不關心其他的點到平面的距離。
形式化表示如下:
接下來的目標就是求得這個分割面的引數W和b,但是我們看到上述函式的約束條件是||W||=1,這是一個球面,典型的非凸優化問題,難以求解,我們要進行適當的變換。考慮幾何間隔和函式間隔的關係:
我們可以將原問題轉化為:
我們不妨再令:
那麼原問題就是求取1/||W||的最大值,也就是||W||平方的最大值,原問題進一步可以轉化為下面問題:
這個問題就變成了一個典型的二次規劃問題,原問題變得可以求解。
- 拉格朗日對偶
為了求解上述問題,我們先看下一種最簡單的等式約束:
對於上述問題,我們一般可以用拉格朗日乘子法來求解,引入變數β:
構造出上述拉格朗日乘式子,則原問題可以通過分別對W和β求偏導數
並令偏導數為0來求解出W和β。具體的數學證明就不在此講解了,本科《微積分》都學過。
下面我們就是要將等式的情況推廣到不等式,考慮到下面的求解問題:
存在不等式約束條件,依然構造拉格朗日表達式:
因為兩個表示式,我們要引入αβ兩個變數。
按照之前的求解方法,這個問題求解會遇到一個很大的問題:
因為g(W)<0,我們將α=正無窮,則表示式值變為負無窮,這樣是沒有意義的。因此我們必須避免這種情況,定義下式:
我們令α>0,則只有 g 和 h 滿足約束時, θ(w)為 f(w),也就是:
這樣原問題求 min f(w)就等價於求minθ(w)。
我們令:
重新定義一個函式:
並令:
則有下列關係:
也就是最小值的最大值小於或等於最大值的最小值。這個問題是原問題的對偶問題,相對於原問題只是更換了 min 和 max 的順序,在這裡取等號,條件如下描述:
①假設約束不等式 gi都是凸 ( convex)函式(線性函式都屬於凸函式)
②約束等式 hi 都是仿射( affine)函式(形如h(w)=wTx+b)
③並且存在 w使得對於所有的 i,gi(W)< 0
在這些假設下,肯定存在 ω∗, α∗, β∗,使得ω∗是原始問題的解, α∗, β∗是對偶問題的解,且P∗ = d∗ = L(ω∗, α∗, β∗)。這樣的ω∗, α∗, β∗需要滿足 KKT( Karush-Kuhn-Tucker)條件, KKT條件如下:
如果ω∗, α∗, β∗滿足了庫恩-塔克條件,那麼他們就是原問題和對偶問題的解。
從上式可以看出來:
α∗> 0,那麼gi(w∗) = 0。滿足gi(w∗) = 0的w 處於可行域的邊界上,這時候的W才能真正有用,內部的點,滿足gi(w∗) <0都是沒有意義的。這就引出了SVM的支援向量的概念。