7 核函數(Kernels)
考慮我們最初在“線性回歸”中提出的問題,特征是房子的面積x,這里的x是實數,結果y是房子的價格。假設我們從樣本點的分布中看到x和y符合3次曲線,那么我們希望使用x的三次多項式來逼近這些樣本點。那么首先需要將特征x擴展到三維
,然后尋找特征和結果之間的模型。我們將這種特征變換稱作特征映射(feature mapping)。映射函數稱作
,在這個例子中
我們希望將得到的特征映射后的特征應用於SVM分類,而不是最初的特征。這樣,我們需要將前面
公式中的內積從
,映射到
。
至於為什么需要映射后的特征而不是最初的特征來參與計算,上面提到的(為了更好地擬合)是其中一個原因,另外的一個重要原因是樣例可能存在線性不可 分的情況,而將特征映射到高維空間后,往往就可分了。(在《數據挖掘導論》Pang-Ning Tan等人著的《支持向量機》那一章有個很好的例子說明)
將核函數形式化定義,如果原始特征內積是
,映射后為
,那么定義核函數(Kernel)為
到這里,我們可以得出結論,如果要實現該節開頭的效果,只需先計算
,然后計算
即可,然而這種計算方式是非常低效的。比如最初的特征是n維的,我們將其映射到
維,然后再計算,這樣需要
的時間。那么我們能不能想辦法減少計算時間呢?
先看一個例子,假設x和z都是n維的,
展開后,得
這個時候發現我們可以只計算原始特征x和z內積的平方(時間復雜度是O(n)),就等價與計算映射后特征的內積。也就是說我們不需要花
時間了。
現在看一下映射函數(n=3時),根據上面的公式,得到
也就是說核函數
只能在選擇這樣的
作為映射函數時才能夠等價於映射后特征的內積。
再看一個核函數
對應的映射函數(n=3時)是
更一般地,核函數
對應的映射后特征維度為
。(求解方法參見http://zhidao.baidu.com/question/16706714.html)。
由於計算的是內積,我們可以想到IR中的余弦相似度,如果x和z向量夾角越小,那么核函數值越大,反之,越小。因此,核函數值是
和
的相似度。
再看另外一個核函數
這時,如果x和z很相近(
),那么核函數值為1,如果x和z相差很大(
),那么核函數值約等於0。由於這個函數類似於高斯分布,因此稱為高斯核函數,也叫做徑向基函數(Radial Basis Function 簡稱RBF)。它能夠把原始特征映射到無窮維。
既然高斯核函數能夠比較x和z的相似度,並映射到0到1,回想logistic回歸,sigmoid函數可以,因此還有sigmoid核函數等等。
下面有張圖說明在低維線性不可分時,映射到高維后就可分了,使用高斯核函數。
來自Eric Xing的slides
注意,使用核函數后,怎么分類新來的樣本呢?線性的時候我們使用SVM學習出w和b,新來樣本x的話,我們使用
來判斷,如果值大於等於1,那么是正類,小於等於是負類。在兩者之間,認為無法確定。如果使用了核函數后,
就變成了
,是否先要找到
,然后再預測?答案肯定不是了,找
很麻煩,回想我們之前說過的
8 核函數有效性判定
問題:給定一個函數K,我們能否使用K來替代計算
,也就說,是否能夠找出一個
,使得對於所有的x和z,都有
?
下面來解決這個問題,給定m個訓練樣本
,每一個
對應一個特征向量。那么,我們可以將任意兩個
和
帶入K中,計算得到
。I可以從1到m,j可以從1到m,這樣可以計算出m*m的核函數矩陣(Kernel Matrix)。為了方便,我們將核函數矩陣和
都使用K來表示。
如果假設K是有效地核函數,那么根據核函數定義
可見,矩陣K應該是個對稱陣。讓我們得出一個更強的結論,首先使用符號
來表示映射函數
的第k維屬性值。那么對於任意向量z,得
最后一步和前面計算
時類似。從這個公式我們可以看出,如果K是個有效的核函數(即
和
等價),那么,在訓練集上得到的核函數矩陣K應該是半正定的(
)
這樣我們得到一個核函數的必要條件:
K是有效的核函數 ==> 核函數矩陣K是對稱半正定的。
可幸的是,這個條件也是充分的,由Mercer定理來表達。
| Mercer定理: 如果函數K是 |
Mercer定理表明為了證明K是有效的核函數,那么我們不用去尋找
,而只需要在訓練集上求出各個
,然后判斷矩陣K是否是半正定(使用左上角主子式大於等於零等方法)即可。
許多其他的教科書在Mercer定理證明過程中使用了
范數和再生希爾伯特空間等概念,但在特征是n維的情況下,這里給出的證明是等價的。

![clip_image006[6] clip_image006[6]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQyOTM5OS5wbmc=.png)
![clip_image030[4] clip_image030[4]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQzNDgyMzUucG5n.png)
![clip_image031[4] clip_image031[4]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQzNTYxODQucG5n.png)
![clip_image034[4] clip_image034[4]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQzNjQ5MzkucG5n.png)
![clip_image035[4] clip_image035[4]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQzNjE1MjYucG5n.png)
![clip_image042[6] clip_image042[6]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQzOTM3NzAucG5n.png)
![clip_image048[6] clip_image048[6]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQ0MTM1NzIucG5n.png)
![clip_image055[4] clip_image055[4]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQ0NDQ2NzAucG5n.png)
![clip_image078[6] clip_image078[6]](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vamVycnlsZWFkLzIwMTEwMy8yMDExMDMxODIwMzQ1MjIzODMucG5n.png)