支持向量機SVM(四)

9 規則化和不可分情況處理(Regularization and the non-separable case)

我們之前討論的情況都是建立在樣例線性可分的假設上,當樣例線性不可分時,我們可以嘗試使用核函數來將特徵映射到高維,這樣很可能就可分了。然而,映射後我們也不能100%保證可分。那怎麼辦呢,我們需要將模型進行調整,以保證在不可分的情況下,也能夠儘可能地找出分隔超平面。

看下面兩張圖:

clip_image001

可以看到一個離羣點(可能是噪聲)可以造成超平面的移動,間隔縮小,可見以前的模型對噪聲非常敏感。再有甚者,如果離羣點在另外一個類中,那麼這時候就是線性不可分了。

這時候我們應該允許一些點遊離並在在模型中違背限制條件(函數間隔大於1)。我們設計得到新的模型如下(也稱軟間隔):

clip_image002

引入非負參數clip_image004後(稱爲鬆弛變量),就允許某些樣本點的函數間隔小於1,即在最大間隔區間裏面,或者函數間隔是負數,即樣本點在對方的區域中。而放鬆限制條件後,我們需要重新調整目標函數,以對離羣點進行處罰,目標函數後面加上的clip_image006就表示離羣點越多,目標函數值越大,而我們要求的是儘可能小的目標函數值。這裏的C是離羣點的權重,C越大表明離羣點對目標函數影響越大,也就是越不希望看到離羣點。我們看到,目標函數控制了離羣點的數目和程度,使大部分樣本點仍然遵守限制條件。

模型修改後,拉格朗日公式也要修改如下:

clip_image008

這裏的clip_image010clip_image012都是拉格朗日乘子,回想我們在拉格朗日對偶中提到的求法,先寫出拉格朗日公式(如上),然後將其看作是變量w和b的函數,分別對其求偏導,得到w和b的表達式。然後代入公式中,求帶入後公式的極大值。整個推導過程類似以前的模型,這裏只寫出最後結果如下:

clip_image013

此時,我們發現沒有了參數clip_image004[1],與之前模型唯一不同在於clip_image010[1]又多了clip_image015的限制條件。需要提醒的是,b的求值公式也發生了改變,改變結果在SMO算法裏面介紹。先看看KKT條件的變化:

clip_image016

第一個式子表明在兩條間隔線外的樣本點前面的係數爲0,離羣樣本點前面的係數爲C,而支持向量(也就是在超平面兩邊的最大間隔線上)的樣本點前面係數在(0,C)上。通過KKT條件可知,某些在最大間隔線上的樣本點也不是支持向量,相反也可能是離羣點。

10 座標上升法(Coordinate ascent)

在最後討論clip_image018的求解之前,我們先看看座標上升法的基本原理。假設要求解下面的優化問題:

clip_image019

這裏W是clip_image021向量的函數。之前我們在迴歸中提到過兩種求最優解的方法,一種是梯度下降法,另外一種是牛頓法。現在我們再講一種方法稱爲座標上升法(求解最小值問題時,稱作座標下降法,原理一樣)。

方法過程:

clip_image022

最裏面語句的意思是固定除clip_image010[2]之外的所有clip_image024,這時W可看作只是關於clip_image010[3]的函數,那麼直接對clip_image010[4]求導優化即可。這裏我們進行最大化求導的順序i是從1到m,可以通過更改優化順序來使W能夠更快地增加並收斂。如果W在內循環中能夠很快地達到最優,那麼座標上升法會是一個很高效的求極值方法。

下面通過一張圖來展示:

clip_image025

橢圓代表了二次函數的各個等高線,變量數爲2,起始座標是(2,-2)。圖中的直線式迭代優化的路徑,可以看到每一步都會向最優值前進一步,而且前進路線是平行於座標軸的,因爲每一步只優化一個變量。

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