支持向量機SVM核函數的選擇(七)

支持向量機是建立在統計學習理論基礎之上的新一代機器學習算法,支持向量機的優勢主要體現在解決線性不可分問題,它通過引入核函數,巧妙地解決了在高維空間中的內積運算,從而很好地解決了非線性分類問題。要構造出一個具有良好性能的SVM,核函數的選擇是關鍵也是最重要的一步.通常來講核函數的選擇包括兩部分工作:一是核函數類型的選擇,二是確定核函數類型後相關參數的選擇。如何根據具體的數據選擇恰當的核函數是SVM應用領域遇到的一個重大難題,也成爲科研工作者所關注的焦點,但是目前還沒有具體的理論或方法來指導核函數的選取。下面我把我們常用的核函數列出來

1、經常使用的核函數

核函數的定義並不困難,根據泛函的有關理論,只要一種函數K(xi,xj)滿足Mercer條件,它就對應某一變換空間的內積.對於判斷哪些函數是核函數到目前爲止也取得了重要的突破,得到Mercer定理和以下常用的核函數類型:

(1)線性核函數

K(x,xi)=xxi

(2)多項式核

K(x,xi)=((xxi)+1)d

(3)徑向基核(RBF)

K(x,xi)=exp(xxi2σ2)

Gauss徑向基函數則是局部性強的核函數,其外推能力隨着參數σ的增大而減弱。多項式形式的核函數具有良好的全局性質。局部性較差。

(4)傅里葉核

K(x,xi)=1q22(12qcos(xxi)+q2)

(5)樣條核

K(x,xi)=B2n+1(xxi)

(6)Sigmoid核函數

K(x,xi)=tanh(κ(x,xi)δ)

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

2、核函數的選擇

在選取核函數解決實際問題時,通常採用的方法有:一是利用專家的先驗知識預先選定核函數;二是採用Cross-Validation方法,即在進行核函數選取時,分別試用不同的核函數,歸納誤差最小的核函數就是最好的核函數.如針對傅立葉核、RBF核,結合信號處理問題中的函數迴歸問題,通過仿真實驗,對比分析了在相同數據條件下,採用傅立葉核的SVM要比採用RBF核的SVM誤差小很多。

在我的研究做實驗過程中,最常用的是Linear核與RBF核。
1). Linear核:主要用於線性可分的情形。參數少,速度快,對於一般數據,分類效果已經很理想了。
2). RBF核:主要用於線性不可分的情形。參數多,分類結果非常依賴於參數。有很多人是通過訓練數據的交叉驗證來尋找合適的參數,不過這個過程比較耗時。我個人的體會是:使用libsvm,默認參數,RBF核比Linear核效果稍差。通過進行大量參數的嘗試,一般能找到比linear核更好的效果。

但是應用最廣的應該就是RBF核了,無論是小樣本還是大樣本,高維還是低維等情況,RBF核函數均適用,它相比其他的函數有一下優點:

1)RBF核函數可以將一個樣本映射到一個更高維的空間,而且線性核函數是RBF的一個特例,也就是說如果考慮使用RBF,那麼就沒有必要考慮線性核函數了。

2)與多項式核函數相比,RBF需要確定的參數要少,核函數參數的多少直接影響函數的複雜程度。另外,當多項式的階數比較高時,核矩陣的元素值將趨於無窮大或無窮小,而RBF則在上,會減少數值的計算困難。

3)對於某些參數,RBF和sigmoid具有相似的性能。






發佈了13 篇原創文章 · 獲贊 17 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章