SVM中的核函式

2021-07-30 18:06:51 字數 1857 閱讀 1147

1 核函式本質

​核函式的本質可以概括為如下三點:

1)實際應用中,常常遇到線性不可分的情況​。針對這種情況,常用做法是把樣例特徵對映到高維空間中,轉化為線性可分問題。

2)將樣例特徵對映到高維空間,可能會遇到維度過高的問題​。

3)針對可能的維災難,可以利用核函式。核函式也是將特徵從低維到高維的轉換,但避免了直接進行高維空間中的複雜計算,​可以在低維上進行計算,卻能在實質上將分類效果表現在高維上。

當然,svm也能處理線性可分問題,這時使用的就是線性核了。​

常用的核函式包括如下幾個:​線性核函式,多項式核函式,rbf核函式(高斯核),sigmoid核函式

2 線性核

2.1 線性核

​svm肯定是可以處理線性問題的,這個就是斯坦福課程裡講svm時候,最開始講解的部分,以線性問題入手進行講解。

線性核計算為​k(x1,x2)=,其實就是在原始空間中的內積。

2.2 線性svm和邏輯回歸

當svm使用線性核時,在處理分類問題時,和邏輯回歸​比較有哪些異同,如何選擇?

1)線性核svm和邏輯回歸本質上沒有區別

2)n=特徵數,m=訓練樣本數目

如果n相對m比較大,使用邏輯回歸或者線性svm,例如n=10000,m=10-1000

如果n​比較小,m數值適中,使用高斯核的svm,例如n=1-1000,m=10-10000

如果n比較小,m很大,構建更多特徵,然後使用邏輯回歸或者線性svm​

3 非線性核

常用的非線性核包括多項式核,rbf核(高斯核),sigmoid核。

​rbf核通常是首選,實踐中往往能表現出良好的效能。計算方法如下:

​其中,如果σ選得很大的話,高次特徵上的權重實際上衰減得非常快,所以實際上(數值上近似一下)相當於乙個低維的子空間;反過來,如果σ選得很小,則可以將任意的資料對映為線性可分——當然,這並不一定是好事,因為隨之而來的可能是非常嚴重的過擬合問題。不過,總的來說,通過調控引數,高斯核實際上具有相當高的靈活性,也是使用最廣泛的核函式之一。

​多項式核計算方法如下:

​sigmoid核函式計算方法如下:

​採用sigmoid函式作為核函式時,支援向量機實現的就是一種多層感知器神經網路,應用svm方法,隱含層節點數目(它確定神經網路的結構)、隱含層節點對輸入節點的權值都是在設計(訓練)的過程中自動確定的。而且支援向量機的理論基礎決定了它最終求得的是全域性最優值而不是區域性最小值,也保證了它對於未知樣本的良好泛化能力而不會出現過學習現象。

4 如何選擇

1)可以利用專家先驗知識余弦選定核函式,例如已經知道問題是線性可分的,就可以使用線性核,不必選用非線性核

2)利用交叉驗證,試用不同的核函式,誤差最小的即為效果最好的核函式

3)混合核函式方法,​將不同的核函式結合起來

​我覺得問題是線性可分和線性不可分其中之一,那在選擇核函式的時候,如果不清楚問題屬於哪一類,就兩類核都嘗試一下,所以可以主要嘗試線性核以及rbf核。

​1) linear核:主要用於線性可分的情形。引數少,速度快,對於一般資料,分類效果已經很理想了。

​2) rbf核:主要用於線性不可分的情形。引數多,分類結果非常依賴於引數。有很多人是通過訓練資料的交叉驗證來尋找合適的引數,不過這個過程比較耗時。

至於到底該採用哪種核,要根據具體問題,有的資料是線性可分的,有的不可分,需要多嘗試不同核不同引數。如果特徵的提取的好,包含的資訊量足夠大,很多問題都是線性可分的。當然,如果有足夠的時間去尋找rbf核引數,應該能達到更好的效果。​

沒有一種**規則可以確定哪種核函式將推導出最準確的svm,在實踐中,核函式的選擇一般並不導致準確率的很大差別。svm總是發現全域性解,而不是區域性解。​

5 其他

svm的複雜度主要由支援向量數刻畫,而不是資料的維度,因此相比其他方法,svm不太容易過擬合​。

SVM中關於核函式的理解

如果訓練樣本不是線性可分的,那麼只要樣本的屬性是有限個,就可以將其對映到高維特徵空間,使這些樣本線性可分.問題 為什麼要讓這些樣本線性可分?當對映到高維空間後,想要得到模型 function 那麼計算難度是非常大的.此時我們可以使用核函式來簡化計算.那麼什麼樣的函式可以作為核函式呢?只要乙個對稱函式...

SVM常用核函式

以下是幾種常用的核函式表示 線性核 linear kernel 多項式核 polynomial kernel 徑向基核函式 radial basis function 也叫高斯核 gaussian kernel 因為可以看成如下核函式的領乙個種形式 徑向基函式是指取值僅僅依賴於特定點距離的實值函式,...

SVM核函式選擇

svm支援向量機,一般用於二分類模型,支援線性可分和非線性劃分。svm中用到的核函式有線性核 linear 多項式核函式pkf以及高斯核函式rbf。當訓練資料線性可分時,一般用線性核函式,直接實現可分 當訓練資料不可分時,需要使用核技巧,將訓練資料對映到另乙個高維空間,使再高維空間中,資料可線性劃分...