3 非線性SVM
3.1 問題定義
現實任務中,訓練樣本經常不是線性可分的,即原始樣本空間中並不存在一個能正確劃分兩類樣本的超平面。
對於這樣的問題,基於Mercer核展開定理,通過內積函數定義的非線性變換,將樣本從原始空間映射到一個高維特徵空間(Hibbert空間),使得樣本在這個高維特徵空間內線性可分(升維線性化)。
令
ϕ(x)表示將
x映射後的特徵向量,在特徵空間中劃分超平面對應的模型可表示爲
f(x)=wTϕ(x)+b優化目標爲
min21∣∣w∣∣2s.t.yi(wTϕ(xi)+b)≥1,i=1,2,...m其對偶問題爲
αmaxs.t.i=1∑mαi−21i=1,j=1∑mαiαjyiyjϕ(xi)Tϕ(xj)i=1∑mαiyi=0,αi≥0,i=1,2,...m
該問題和線性可分SVM的優化目標函數的區別僅僅是將內積
xixj替換爲
ϕ(xi)Tϕ(xj)。
ϕ(xi)Tϕ(xj)是
xi與
xj映射到特徵空間後的內積,由於特徵空間維數很高,甚至是無窮維,因此直接計算
ϕ(xi)Tϕ(xj)通常是困難的。
如對於一個2維特徵的數據
(x1,x2),需要將其映射到5維
(1,x1,x2,x12,x22,x1x2)來做特徵的內積。
3.2 核函數
假設
ϕ是一個從低維的輸入空間
χ(歐式空間的子集或者離散集合)到高維的希爾伯特空間
H的映射。如果存在函數
K(,) 對於任意
xi,xj∈χ都有:
K(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
即
xi與
xj在特徵空間的內積等於它們在原始樣本空間中通過函數
K(,)計算的結果,則稱
K(,)爲核函數。
核函數使得計算在低維特徵空間中進行,避免了高維特徵空間中的巨大計算量,同時還利用了高維空間線性可分的特性。
凡是滿足Mercer定理的函數都可以作爲支持向量機的核函數。
一般所說核函數爲正定核函數(正定核比Mercer更具一般性),一個函數爲正定核函數的充分必要條件是如下:
對於任意
xi∈χ,i=1,2,3...m,
K(⋅,⋅)是正定核函數,當且僅當
K(xi,xj)對應的Gram矩陣
K=[K(xi,xj)]爲半正定矩陣。
常用核函數如下
徑向基函數核(RBF,Radial basis Function)又稱高斯核。
4 一分類SVM(1-SVM)/多分類SVM
4.1 1-SVM
用於異常檢測,通過超球提實現一分類:找到一個以
α爲中心,以
R爲半徑的包含樣本本的最小超球。
4.2 多分類SVM
- 直接法:直接修改目標函數,將多個分類面的參數求解合併到一個最優化問題中,通過求解該最優化問題「一次性」實現多類分類。簡單但是計算複雜度較高,只適合小型問題。
- 間接法:主要通過組合多個二分類器來實現多分類器的構造,如:一對多(one-against-all)和一對一(one-against-one)方法。
(1)一對多法
訓練時依次把某個類別的樣本歸爲一類,其它樣本歸爲另一類,這樣
k個類別的樣本構造了
k個SVM,分類時將未知樣本分類爲具有最大分類函數值的那類。
- 優點:訓練
k個分類器,個數較少,分類速度相對較快
- 缺點:
- 訓練速度會隨訓練樣本數量的增加而急劇減慢
- 樣本不對稱:負類樣本的數據要遠遠大於正類樣本的數據(可通過引入不同的懲罰因子解決,對樣本點較少的正類採用較大的懲罰因子
C)
- 新的類別加入,需要對所有的模型重新訓練
(2) 一對一法
在任意兩類樣本之間設計一個SVM,因此
k個類別的樣本需要設計
k(k−1)/2個SVM,當對一個未知樣本進行分類時,得票最多的類即爲該樣本的類別。當類別很多時,模型個數也很多,計算代價大。