1. 程式人生 > >SVM學習筆記-軟間隔SVM

SVM學習筆記-軟間隔SVM

SVM學習筆記第四篇

Soft-Margin Support Vector Machine

這篇介紹的是Soft-Margin SVM,也就是再將SVM做一些變化,或者是針對Hard-Margin SVM做一些改進, 放寬SVM的限制,可以允許存在一些誤分類的點。

0 - 回顧

在上一篇中介紹了對偶形式的Kernel SVM,在對偶SVM(從某個角度來說,對偶形式的SVM得到了primalSVM的內積形式)中利用核函式可以很方便的解決很複雜的非線性問題,例如使用高斯核函式可以在無限維度的空間中尋找超平面。但是正如我們之前說到過的,高斯

SVM在引數選擇的不恰當的時候,也會出現overfit的情況。為什麼SVM也會出現過擬合的情況呢(雖然有最大間隔的保證)?一個原因可能是因為我們選擇的特徵轉化太過於powerful,就算存在最大間隔的限制,最終也還是會出現過擬合。另外一個原因是因為我們堅持要把正例和負例完美的分開,導致會被一些噪聲點影響。

1 - 容忍一些噪聲

現在我們知道了hardSVM可能由於要求完全正確的劃分正例和負例而被一些噪聲點影響導致過擬合,那麼回想一下,以前我們是怎麼處理這些噪聲資料的呢?

1.1 - pocket演算法

pocke

t演算法中,由於資料不是線性可分的,所以我們真的沒有辦法找到一條線將資料完美的分開,所以我們退而求其次:找一條線,這條線在資料上犯的錯誤最少。即我們想要最小化如下的式子:

minw,bn=1N|[ynsign(wTxn+b)]|

這裡:1=|[]|,如果成立;0=|[]|,如果不成立。

1.2 - 硬間隔支撐向量機

而我們之前提到的hardmarginSVM如下:

(1)m
inw12wTw(2)s.t.yn(wTxn+b)1(3)foralln

即要求所有的樣本點都要正確劃分,並且在這個基礎上找到間隔最大的。

1.3 - pocket + hard margin SVM

結合pocket演算法對錯誤的容忍SVM演算法對於間隔最大化的要求得到如下的模型(softmarginSVM):約束中的第二個條件表明允許存在一些點不滿足原來的SVM的要求,即yn(wTxn+b)可以小於1;但是要儘量減少這樣的點,這一目標體現在我們的objectfunction中: