【機器學習】SVM核函數

知識預備

1. 回顧:logistic迴歸出發,引出了SVM,即支持向量機[續]

2.  Mercer定理:如果函數K是上的映射(也就是從兩個n維向量映射到實數域)。那麼如果K是一個有效核函數(也稱爲Mercer核函數),那麼當且僅當對於訓練樣例,其相應的核函數矩陣是對稱半正定的。

核函數描述和分析

考慮在”迴歸和梯度下降一節的“線性迴歸”中提出的問題,特徵是房子的面積x,這裏的x是實數,結果y是房子的價格。假設我們從樣本點的分佈中看到x和y符合3次曲線,那麼我們希望使用x的三次多項式來逼近這些樣本點。那麼首先需要將特徵x擴展到三維,然後尋找特徵和結果之間的模型。我們將這種特徵變換稱作特徵映射(feature mapping)。映射函數稱作

在這個例子中我們希望將得到的特徵映射後的特徵應用於SVM分類,而不是最初的特徵。這樣,我們需要將前面公式中的內積從,映射到。至於爲什麼需要映射後的特徵而不是最初的特徵來參與計算,上面提到的(爲了更好地擬合)是其中一個原因,另外的一個重要原因是樣例可能存在線性不可分的情況,而將特徵映射到高維空間後,往往就可分了。所以,將核函數形式化定義。如果原始特徵內積是,映射後爲,那麼定義核函數(Kernel)爲。因些,我們可以得出結論,如果要實現該節開頭的效果,只需先計算,然後計算即可,然而這種計算方式是非常低效的。

比如最初的特徵是n維的,我們將其映射到維,然後再計算,這樣需要的時間。那麼我們能不能想辦法減少計算時間呢?

先看一個例子,假設x和z都是n維的展開後,得

這個時候發現我們可以只計算原始特徵x和z內積的平方(時間複雜度是O(n)),就等價與計算映射後特徵的內積。也就是說我們不需要花時間了。現在看一下映射函數(n=3時),根據上面的公式,得到。也就是說核函數只能在選擇這樣的作爲映射函數時才能夠等價於映射後特徵的內積。

核函數1

這時,我們再看一個核函數

對應的映射函數(n=3時)是,更一般地,核函數對應的映射後特徵維度爲

由於計算的是內積,我們可以想到IR中的餘弦相似度,如果x和z向量夾角越小,那麼核函數值越大,反之,越小。因此,核函數值是的相似度。

核函數2

同時,我們再看,另外一個核函數

這時,如果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,那麼是正類,小於等於是負類。在兩者之間,認爲無法確定。如果使用了核函數後,就變成了,是否先要找到,然後再預測?答案肯定不是了,找很麻煩,回想我們之前說過的

。只需將替換成,然後值的判斷同上,

核函數有效性判定

問題描述

給定一個函數K,我們能否使用K來替代計算,也就說,是否能夠找出一個,使得對於所有的x和z,都有? 比如給出了,是否能夠認爲K是一個有效的核函數。

問題分析

下面來解決這個問題,給定m個訓練樣本,每一個對應一個特徵向量。那麼,我們可以將任意兩個帶入K中,計算得到。可以從1到m,j可以從1到m,這樣可以計算出m*m的核函數矩陣(Kernel Matrix)。爲了方便,我們將核函數矩陣和都使用K來表示。

有效地核函數定義

如果假設K是有效地核函數,那麼根據核函數定義

可見,矩陣K應該是個對稱陣。讓我們得出一個更強的結論,首先使用符號來表示映射函數的第k維屬性值。那麼對於任意向量z,得

最後一步和前面計算時類似。從這個公式我們可以看出,如果K是個有效的核函數(即等價),那麼,在訓練集上得到的核函數矩陣K應該是半正定的K大於等於零。這樣我們得到一個核函數的必要條件:K是有效的核函數 ==> 核函數矩陣K是對稱半正定的。可幸的是,這個條件也是充分的,由Mercer定理來表達。Mercer定理表明爲了證明K是有效的核函數,那麼我們不用去尋找,而只需要在訓練集上求出各個,然後判斷矩陣K是否是半正定(使用左上角主子式大於等於零等方法)即可。在Mercer定理證明過程中使用了範數和再生希爾伯特空間等概念,但在特徵是n維的情況下,這裏給出的證明是等價的。核函數不僅僅用在SVM上,但凡在一個模型後算法中出現了< x, z >,我們都可以常使用去替換,這可能能夠很好地改善我們的算法。

======================================================
轉載請註明出處:http://blog.csdn.net/utimes/article/details/9317227
======================================================
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章