在機器學習中常用的核函數,一般有這麼幾類,也就是LibSVM中自帶的這幾類:
1) 線性:
2) 多項式:
3) Radial basis function:
4) Sigmoid:
舉例:有一個一維的數據分佈是如下圖的樣子,用一個直線來分開,發現不論畫在哪,比如綠色豎線,都不可能把兩個類分開。
使用一個簡單的升維的方法,把原來一維的空間投射到二維中,x->(x, x^2)。
0->(0,0)
1->(1,1)
2->(2,4)
舉例2 多項式核函數中的情況。
下面這張圖位於第一、二象限內。我們關注紅色的門,以及“北京四合院”這幾個字下面的紫色的字母。我們把紅色的門上的點看成是“+”數據,紫色字母上的點看成是“-”數據,它們的橫、縱座標是兩個特徵。顯然,在這個二維空間內,“+”“-”兩類數據不是線性可分的。
我們現在考慮核函數,即“內積平方”。
這裏面是二維空間中的兩個點。
這個核函數對應着一個二維空間到三維空間的映射,它的表達式是:
可以驗證,
在P這個映射下,原來二維空間中的圖在三維空間中的像是這個樣子:
(前後軸爲x軸,左右軸爲y軸,上下軸爲z軸)
注意到綠色的平面可以完美地分割紅色和紫色,也就是說,兩類數據在三維空間中變成線性可分的了。