1. 程式人生 > >機器學習筆記——支援向量機

機器學習筆記——支援向量機

一,線性可分支援向量機與硬間隔最大化

1.1 間隔與支援向量

在樣本空間中,劃分超平面可通過如下線性方程來描述:

其中,w = (w1;w2;...;wd)為法向量,決定了超平面的方向;b為位移項,決定了超平面與原點之間的距離。

我們將超平面記為(w,b).樣本空間中任意點x到平面(w,b)的距離可寫為:

假設超平面(w,b)能將訓練樣本正確分類,則有:

如下圖所示,距離超平面最近的這幾個訓練樣本點使上式的等號成立,它們被稱為支援向量

兩個異類支援向量到超平面的距離之和為:

它被稱為間隔

支援向量機欲找到具有“最大間隔”的劃分超平面即:

顯然為了最大化間隔,僅需要最大化1/||w||,這等價於最小化||w||2,因此支援向量機的基本型為:

1.2 對偶問題

對上式使用拉格朗日乘子法可得到其“對偶問題”。具體來說,對上式的每條約束新增拉格朗日乘子αi >= 0,該問題的拉格朗日函式可寫為:

其中α = (α1;α2;...;αm).令上式對w和b的偏導為零可得到:

將上面三個式子結合可得到基本型的對偶問題

解出α後,求出w與b即可得到模型:

上述過程的KKT條件為:

KKT條件:

1,拉格朗日乘子>=0 

2,約束

3,拉格朗日乘子*約束 = 0

該式子顯示出支援向量機的一個重要性質:訓練完成後,大部分的訓練樣本都不需要保留,最終模型僅與支援向量有關。

二,非線性支援向量機與核函式

在前面的討論中,我們假設訓練樣本是線性可分的,即存在一個劃分超平面能將訓練樣本正確分類。然而在現實任務中,原始樣本空間內也許並不存在一個能正確劃分兩類樣本的超平面。如下圖所示。

對於這樣的問題,可將樣本從原始空間對映到一個更高維的空間,使得樣本在這個特徵空間內線性可分。如果原始空間是有限維,即屬性有限,那麼一定存在一個高維特徵空間使樣本可分。

令Φ(x)表示將x對映後的特徵向量,於是在特徵空間中劃分超平面所對應的模型可表示為:

類似於訓練樣本線性可分的情況,有:

其對偶問題是:

Φ(xi)TΦ(xj)是樣本xi與xj對映到特徵空間之後的內積。由於特徵空間維數可能很高,甚至有可能是無窮維,因此直接計算Φ(xi)TΦ(xj)通常是困難的。可以設想這樣一個函式:

即xi與xj在特徵空間的內積等於它們在原始樣本空間中通過函式k(.)計算的結果。因此對偶問題可重寫為:

求解後即可得到:

這裡的函式k(.)就是核函式

在實際應用中,通常人們會從一些常用的核函式裡選擇(根據樣本資料的不同,選擇不同的引數,實際上就得到了不同的核函式),下面給出常用的核函式:

三,線性支援向量機與軟間隔最大化

在前面的討論中,我們一直假定訓練樣本在樣本空間或特徵空間中是線性可分的。然而在現實任務中往往很難確定合適的核函式使得訓練樣本在特徵空間中線性可分。緩解該問題的一個辦法是允許支援向量機在一些樣本上出錯,為此引入了“軟間隔”的概念。

“硬間隔”要求所有樣本都必須劃分正確,而“軟間隔”則允許某些樣本不滿足約束:

在最大化間隔的同時,不滿足約束的樣本應該儘可能少。於是優化目標可寫為:

其中C>0是一個常數,l是“0/1損失函式”:

常用的替代損失函式:

若採用hing損失,優化目標變為:

引入“鬆弛變數”ξi≥0,上式重寫為:

這就是常用的“軟間隔支援向量機”。

通過拉格朗日乘子法可得到拉格朗日函式:

令L()對w,b,ξi的偏導為零可得到:

將上式聯立可得到軟間隔支援向量機的對偶問題為:

與硬間隔下的對偶問題對比可看出,兩者唯一的差別就在於對偶變數的約束不同(0<=αi<=C和0<=αi).

對於軟間隔支援向量機,KKT條件要求:

由此可以看出,軟間隔支援向量機的最終模型僅與支援向量有關。