SVM(四):非線性支持向量機

3 非線性SVM

3.1 問題定義

現實任務中,訓練樣本經常不是線性可分的,即原始樣本空間中並不存在一個能正確劃分兩類樣本的超平面。
在這裏插入圖片描述
對於這樣的問題,基於Mercer核展開定理,通過內積函數定義的非線性變換,將樣本從原始空間映射到一個高維特徵空間(Hibbert空間),使得樣本在這個高維特徵空間內線性可分(升維線性化)。
在這裏插入圖片描述
ϕ ( x ) \phi(\boldsymbol x) 表示將 x \boldsymbol x 映射後的特徵向量,在特徵空間中劃分超平面對應的模型可表示爲
f ( x ) = w T ϕ ( x ) + b f(\boldsymbol x) = \boldsymbol w^T \phi(\boldsymbol x) + b 優化目標爲
min    1 2 w 2 s . t .      y i ( w T ϕ ( x i ) + b ) 1 , i = 1 , 2 , . . . m \begin{aligned} & \min \; \frac{1}{2}||\boldsymbol w||^2 \\ & s.t. \;\; y_i(\boldsymbol w^T \phi(\boldsymbol x_i) + b) \geq 1,i =1,2,...m \end{aligned} 其對偶問題爲
max α i = 1 m α i 1 2 i = 1 , j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) s . t .    i = 1 m α i y i = 0 , α i 0 ,    i = 1 , 2 , . . . m \begin{aligned} \max_{\alpha} & \sum\limits_{i=1}^{m}\alpha_i - \frac{1}{2}\sum\limits_{i=1,j=1}^{m}\alpha_i\alpha_jy_iy_j\phi(\boldsymbol x_i)^T \phi(\boldsymbol x_j) \\ s.t. \; & \sum\limits_{i=1}^{m}\alpha_iy_i = 0, \\ & \alpha_i \geq 0, \; i=1,2,...m \end{aligned}

該問題和線性可分SVM的優化目標函數的區別僅僅是將內積 x i x j \boldsymbol x_i \boldsymbol x_j 替換爲 ϕ ( x i ) T ϕ ( x j ) \phi (\boldsymbol x_i)^T \phi(\boldsymbol x_j)

ϕ ( x i ) T ϕ ( x j ) \phi (\boldsymbol x_i)^T \phi(\boldsymbol x_j) x i \boldsymbol x_i x j \boldsymbol x_j 映射到特徵空間後的內積,由於特徵空間維數很高,甚至是無窮維,因此直接計算 ϕ ( x i ) T ϕ ( x j ) \phi (\boldsymbol x_i)^T \phi(\boldsymbol x_j) 通常是困難的。

如對於一個2維特徵的數據 ( x 1 , x 2 ) (x_1,x_2) ,需要將其映射到5維 ( 1 , x 1 , x 2 , x 1 2 , x 2 2 , x 1 x 2 ) (1, x_1, x_2, x_{1}^2, x_{2}^2, x_{1}x_2) 來做特徵的內積。

3.2 核函數

假設 ϕ \phi 是一個從低維的輸入空間 χ \chi (歐式空間的子集或者離散集合)到高維的希爾伯特空間 H \mathcal{H} 的映射。如果存在函數 K ( , ) \boldsymbol K( ,) 對於任意 x i , x j χ \boldsymbol x_i, \boldsymbol x_j \in \chi 都有:

K ( x i , x j ) = < ϕ ( x i ) , ϕ ( x j ) > = ϕ ( x i ) T ϕ ( x j ) \boldsymbol K(x_i,x_j) = <\phi(\boldsymbol x_i),\phi(\boldsymbol x_j)> = \phi(\boldsymbol x_i)^T\phi(\boldsymbol x_j)

x i \boldsymbol x_i x j \boldsymbol x_j 在特徵空間的內積等於它們在原始樣本空間中通過函數 K ( , ) \boldsymbol K( , ) 計算的結果,則稱 K ( , ) \boldsymbol K( , ) 爲核函數。
核函數使得計算在低維特徵空間中進行,避免了高維特徵空間中的巨大計算量,同時還利用了高維空間線性可分的特性。

凡是滿足Mercer定理的函數都可以作爲支持向量機的核函數。
一般所說核函數爲正定核函數(正定核比Mercer更具一般性),一個函數爲正定核函數的充分必要條件是如下:

對於任意 x i χ , i = 1 , 2 , 3... m x_i \in \chi, i=1,2,3...m K ( , ) \boldsymbol K(\cdot , \cdot ) 是正定核函數,當且僅當 K ( x i , x j ) \boldsymbol K(x_i,x_j) 對應的Gram矩陣 K = [ K ( x i , x j ) ] \boldsymbol K = \bigg[ K(x_i, x_j )\bigg] 爲半正定矩陣。

常用核函數如下
在這裏插入圖片描述
徑向基函數核(RBF,Radial basis Function)又稱高斯核。

4 一分類SVM(1-SVM)/多分類SVM

4.1 1-SVM

用於異常檢測,通過超球提實現一分類:找到一個以 α \alpha 爲中心,以 R R 爲半徑的包含樣本本的最小超球。

4.2 多分類SVM

  • 直接法:直接修改目標函數,將多個分類面的參數求解合併到一個最優化問題中,通過求解該最優化問題「一次性」實現多類分類。簡單但是計算複雜度較高,只適合小型問題。
  • 間接法:主要通過組合多個二分類器來實現多分類器的構造,如:一對多(one-against-all)和一對一(one-against-one)方法。

(1)一對多法

訓練時依次把某個類別的樣本歸爲一類,其它樣本歸爲另一類,這樣 k k 個類別的樣本構造了 k k 個SVM,分類時將未知樣本分類爲具有最大分類函數值的那類。

  • 優點:訓練 k k 個分類器,個數較少,分類速度相對較快
  • 缺點:
    • 訓練速度會隨訓練樣本數量的增加而急劇減慢
    • 樣本不對稱:負類樣本的數據要遠遠大於正類樣本的數據(可通過引入不同的懲罰因子解決,對樣本點較少的正類採用較大的懲罰因子 C C
    • 新的類別加入,需要對所有的模型重新訓練

(2) 一對一法

在任意兩類樣本之間設計一個SVM,因此 k k 個類別的樣本需要設計 k ( k 1 ) / 2 k(k-1)/2 個SVM,當對一個未知樣本進行分類時,得票最多的類即爲該樣本的類別。當類別很多時,模型個數也很多,計算代價大。