㈠ 支持向量機(2)
簡單的說,支持向量機就是通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信范圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。通俗來講,它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,即支持向量機的學習策略便是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。(引自劉知行)
假設給定一個訓練數據集 。同時,假定已經找到樣本空間中的分割平面,其劃分公式可以通過以下線性方程來描述: 使用一條直線對線性可分數據集進行分類的過程中,我們已經知道這樣的直線可能有很多條:
對於線性可分的正負樣本點而言,位於 虛線外的點就是正樣本點,而位於 虛線外的點就是負樣本點。另外,正好位於兩條虛線上方的樣本點就被我們稱為支持向量,這也就是支持向量機的名字來源。
對於線性可分數據而言,幾何間隔最大的分離超平面是唯一的,這里的間隔也被我們稱之為「硬間隔」,而間隔最大化也就稱為硬間隔最大化。上圖實際上就是硬間隔的典型例子。
最大間隔分離超平面,我們希望最大化超平面 關於訓練數據集的幾何間隔 ,滿足以下約束條件:每個訓練樣本點到超平面 的幾何間隔至少都是 ,因此可以轉化為以下的約束最優化問題:
實際上, 的取值並不會影響最優化問題的解,同時,我們根據數學對偶性原則,可以得到面向硬間隔的線性可分數據的支持向量機的最優化問題:
我們通常使用拉格朗日乘子法來求解最優化問題,將原始問題轉化為對偶問題,通過解對偶問題得到原始問題的解。對公式(3)使用拉格朗日乘子法可得到其「對偶問題」。具體來說,對每條約束添加拉格朗日乘子 ,則該問題的拉格朗日函數可寫為:
我們通過將公式(4)分別對 和 求偏導為 0 並代入原式中,可以將 和 消去,得到公式(3)的對偶問題:
解出最優解 後,基於此我們可以求得最優解 , ,由此得到分離超平面:
使用符號函數求得正負類之間的分類決策函數為:
當數據集變成嚴格意義上的線性不可分,如下圖所示,在實心點和空心點中各混入了零星的不同類別的「雜訊」數據點,造成線性不可分的原因往往是因為包含「雜訊」數據,它同樣可以被看作是不嚴格條件下的線性可分。
當我們使用支持向量機求解這類問題時,就會把最大間隔稱之為最大「軟間隔」,而軟間隔就意味著可以容許零星雜訊數據被誤分類。
當出現上圖所示的樣本點不是嚴格線性可分的情況時,某些樣本點 就不能滿足函數間隔 的約束條件,即公式(3b)中的約束條件。為了解決這個問題,可以對每個樣本點 引入一個鬆弛變數 ,使得函數間隔加上鬆弛變數 ,即約束條件轉化為:
同時,對每個鬆弛變數 支付一個代價 ,目標函數由原來的 變成:
這里, 稱為懲罰參數,一般根據實際情況確定。 值越大對誤分類的懲罰增大,最優化問題即為:
這就是軟間隔支持向量機的表示過程。同理,我們可以使用拉格朗日乘子法將其轉換為對偶問題求解:
解出最優解 後,基於此我們可以求得最優解 , ,由此得到分離超平面:
使用符號函數求得正負類之間的分類決策函數為:
對於線性不可分的數據集,我們也可以通過支持向量機去完成分類。但是需要通過一些方法把線性不可分數據轉換為線性可分數據之後,再完成分類。
我們把這種數據轉換的方法稱作「核技巧」,實現數據轉換的函數稱之為「核函數」 。
核技巧的關鍵在於空間映射,即將低維數據映射到高維空間中,使得數據集在高維空間能被線性可分。
如上圖所示,假設我們在二維空間中有藍色和紅色代表的兩類數據點,很明顯無法使用一條直線把這兩類數據分開。此時,如果我們使用核技巧將其映射到三維空間中,就變成了可以被平面線性可分的狀態。
對於「映射」過程,我們還可以這樣理解:分布在二維桌面上的紅藍小球無法被線性分開,此時將手掌拍向桌面(好疼),小球在力的作用下跳躍到三維空間中,這也就是一個直觀的映射過程。
同時,「映射」的過程也就是通過核函數轉換的過程。這里需要補充說明一點,那就是將數據點從低維度空間轉換到高維度空間的方法有很多,但往往涉及到龐大的計算量,而數學家們從中發現了幾種特殊的函數,這類函數能大大降低計算的復雜度,於是被命名為「核函數」。也就是說,核技巧是一種特殊的「映射」技巧,而核函數是核技巧的實現方法。
此外,核函數還可以通過函數組合得到,例如:
若 和 是核函數,那麼對於任意正數 ,其線性組合:
我們通過直接引入核函數 ,而不需要顯式的定義高維特徵空間和映射函數,就可以利用解線性分類問題的方法來求解非線性分類問題的支持向量機。引入核函數以後,對偶問題就變為:
同樣,解出最優解 後,基於此我們可以求得最優解 , ,由此得到分離超平面:
使用符號函數求得正負類之間的分類決策函數為:
主要參數說明: