SVM中,高斯核為什麼會把原始維度映射到無窮多維?

SVM中,對於線性不可分的情況下,我們利用升維,把低維度映射到到維度讓數據變得「更可能線性可分」,為了避免維度爆炸,我們巧妙的運用了核函數,避免了在高維度空間的計算,而只需要在低維度空間進行計算。

對於核函數,有:

多項式核

高斯核:

對於多項式核,我們把低維度映射到高維度,我們可以從公式中很容易的理解,但是對於高斯核,「把維度映射到無窮多維」,是如何理解的?如何看出是「無窮多維」的?

為什麼更傾向於選擇高斯核,而不是多項式核?是因為在無窮多維時,數據更加線性可分?


我來回答下:

1.先考慮多項式核函數(polynomial kernel)

比如

假設每個向量維度為2 兩向量 X = (x1 , y1) Y = (y1 , y2)。

則有:

k(x,y)=(x1y1 + x2y2)^{2} = x_{1}^{2} y_{1}^{2} + 2x_{1}x_{2}y_{1}y_{2} +x_{2}^{2}y_{2}^{2}

找到特徵映射 Phi 因為 k(x , y) = Phi left( x 
ight)Phi left( y 
ight)

  • Phileft( x 
ight)  =({x_{1}^{2}   , sqrt{2} x_{1}^{2}x_{2}^{2}  , x_{2}^{2} })R^{2}  的點映射到 R^{3}

2.現在分析高斯核

同樣每個向量的維度為2 兩向量 X = (x1 , y1) Y = (y1 , y2)

則有

k(x ,y) = exp(-left| x^{2} - y^{2}   
ight| )
          = exp(-(x_{1}^{2}  - y_{1}^{2}) - (x_{2}^{2}  - y_{2}^{2} ) )
          = exp(-x_{1}^{2}  + 2x_{1}y_{1} - y_{1}^{2} - x_{2}^{2}  + 2x_{2}y_{2}  - y_{2}^{2}  )
          = exp(- left| x 
ight| ^{2})exp(- left| y 
ight| ^{2})exp(2xy)

根據泰勒公式

那麼

可以看出公式中的的泰勒展開式其實是0-n維的多項式核函數的和。

我們知道多項式核函數將低維數據映射到高維(維度是有限的),那麼 對於無限個 不同維的多項式核函數之和 的高斯核,其中也包括 無窮維度 的 多項式核函數。而且我們也找得到 Phi 使

該等式

k(x , y) = Phi left( x 
ight)Phi left( y 
ight)

成立

而且維度 是無窮維

資料

Why does the RBF (radial basis function) kernel map into infinite dimensional space?

所以這樣看來

核函數是一種特殊的 多項式核。

有錯誤請指正。


我還是自己寫一下我的理解吧,

對於高斯核為什麼可以將數據映射到無窮多維,我們可以從泰勒展開式的角度來解釋,

首先我們要清楚,SVM中,對於維度的計算,我們可以用內積的形式,假設函數:

kappa left( x_{1}, x_{2} 
ight) = (1, x_{1}x_{2}, x^{2}   ) 表示一個簡單的從二維映射到三維。

則在SVM的計算中,可以表示為:

kappa left( x_{1}, x_{2} 
ight) = 1+x_{1}x_{2}+ x^{2}

再來看e^{x} 泰勒展開式:

e^{x} approx 1 + x +  frac{x^{2}}{2!}  +  frac{x^{3}}{3!}  + ... +   frac{x^{n}}{n!}

所以這個無窮多項的式子正是對於e^{x} 的近似,e^{x} 所對應的映射:

kappa left( x 
ight) = left( 1, x, frac{x^{2} }{2!}, frac{x^{3} }{3!}, ..., frac{x^{n} }{n!}    
ight)

再來看高斯核:

kappa left( x_{1} , x_{2}   
ight)   = e^{left(- frac{left||x_{1} - x_{2}  
ight|| ^{2} }{2sigma ^{2} }  
ight) }

將泰勒展開式帶入高斯核,我們得到了一個無窮維度的映射:

kappa left( x_{1} , x_{2}   
ight)   = 1 + left(- frac{left||x_{1} - x_{2}  
ight|| ^{2} }{2sigma ^{2} }  
ight) + frac{(-frac{left||x_{1} - x_{2}  
ight|| ^{2} }{2sigma ^{2} })^{2} }{2!} + ... + frac{(-frac{left||x_{1} - x_{2}  
ight|| ^{2} }{2sigma ^{2} })^{3} }{3!} + ... + frac{(-frac{left||x_{1} - x_{2}  
ight|| ^{2} }{2sigma ^{2} })^{n} }{n!}

那麼,對於x_{1} x_{2} 的內積形式符合在SVM中無窮維度下的內積計算,即高斯核將數據映射到無窮高的維度。


---------------

根據網上看的資料總結的內容,跟大家分享一下。


可以看到,展開之後的特徵的長度就是無限維的


那我想請問一下,指數核函數和拉普拉斯核函數是不是也可以映射到無窮維?因為他們也是有e^x這種形式的


並沒有


推薦閱讀:

KNN 與 SVM 的區別是什麼?
支持向量機中的函數距離和幾何距離怎麼理解?
支持向量機(SVM)是否適合大規模數據?
為什麼支持向量機要用拉格朗日對偶演算法來解最大化間隔問題?

TAG:機器學習 | SVM | kernel核函數 |