1. 程式人生 > >SVM支援向量機系列理論(三) 非線性支援向量機與核函式技巧

SVM支援向量機系列理論(三) 非線性支援向量機與核函式技巧

3.1 核技巧解決非線性SVM

3.1.1 非線性SVM解決思路

image

對於非線性分類問題,顯然無法用一個線性分離超平面來把不同的類別的資料點分開,那麼可以用以下思路解決這個問題:

  • 首先使用一個變換 z = ϕ ( x ) 非線性特徵空間x對映到新的線性特徵空間z

  • 在新的z特徵空間裡使用線性SVM學習分類的方法從訓練資料中學習分類模型

基於這個想法,SVM模型可以表示成:

m i n α         1 2 j = 1 N α i α j y i y j ( ϕ ( x i ) ϕ ( x j ) ) i = 1 N α i

                       
s . t .         i = 1 N α i y i = 0

                        α i 0 , i = 1 , 2 , . . . , N                   ( 1 )

但是,這裡有一個問題: ϕ ( x i ) ϕ ( x j ) 計算起來要分兩步,先對映x到z空間,然後在z空間(一般是較高維度)作高維度的內積 z i z j

為了簡化這個運算過程,如果我們找到一個核函式 K ( x i , x j ) , 即K是關於x的函式,其運算在低維空間上進行,然後使得 K ( x i , x j ) = ϕ ( x i ) ϕ ( x j ) ,那麼只需要計算一個比較好計算的核函式 K ( x i , x j ) ,就可以避免先對映,再在高維空間內積的複雜運算


3.1.2 核技巧下SVM

基於核技巧,非線性SVM模型可以表示成:

m i n α         1 2 j = 1 N α i α j y i y j K ( x i , x j ) i = 1 N α i

                       
s . t .         i = 1 N α i y i = 0

                        α i 0 , i = 1 , 2 , . . . , N                   ( 2 )

其中,