SVM(二)——寬鬆SVM

錯分問題與離羣點問題

之前的SVM(http://blog.csdn.net/ice110956/article/details/23436171)推導前提條件是樣本線性可分,或者至少在高維空間中線性可分。但是許多情況下,並不是高維可分的。先考慮如下面這種情況:


由於一個小的離羣點,整個分隔平面發生了很大的改變。於是我們尋求寬鬆的限制原則來改進之前的嚴格SVM,從而也能夠處理高維不可分情況。

 

考慮加入正則化項,如下:


其中,也就是不是所有的樣本的函數間隔都要大於1,這個條件弱化的離羣點的影響。

時,函數間隔爲負,也就是樣本錯分。這樣也就是允許一定的錯分。

在目標函數中加入懲罰項


其給離羣的點,錯分的點一定懲罰。

 

根據之前的對偶規劃,我們也能得到:


對比之前的公式,兩者唯一的不同是KKT互補條件由變爲

之前論述過,alfa !=0的項是少數的幾個支持向量。同樣的,我們有類似結論:


 

SMO算法

之前的推導到以alfa爲變量的最優化爲最後形式。下面討論如何解這個問題。

 

座標上升法

考慮解下面的最優化問題:


其中alfa爲m維的量。

我們直觀地用逐一求解的方法,求解i時,固定其他所有的未知量,依次迭代求解,步驟如下:


稱爲座標上升法,其二維上的求解圖如下:


比較其他常見的下降法,如最速下降,牛頓法等。一般的方法以alfa向量爲單位,根據矩陣求導的方法,每次更新整個向量。

相比而言,座標上升法迭代步驟更多,但是每次求解是都把問題化簡爲一維的最優化問題。也就是雖然步驟增加,但是每次都更簡單。這是座標上升法的優勢。接下來把這種方法運用到SVM的求解中。

 

SMO算法

考慮我們最後得到的SVM優化公式如下:


其中的最後一個約束項,使得我們不能簡單運用座標上升法。因爲如果固定其他alfa,求解alfa(i)那麼根據最後一個約束項


Alfa(i)也是不可改變的。

 

於是,我們一次改變兩個變量。

每次根據一定的策略,如順序,選擇兩個變量,固定其他變量,求解兩個變量的最優化,步驟如下:


假設現在選取alfa1,alfa2兩個變量,得到:


簡化表示如下:


其約束在二維空間上表示如下:


Alfa1用alfa2表示:


帶入原問題,得到:


上述可以化爲以alfa2爲變量的一元二次方程:


求解後,再考慮得到的解是否滿足上面的alfa2定義域,如果不滿足,則做一定的裁切,使得得到的結果在定義域內:


發佈了89 篇原創文章 · 獲贊 51 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章