如果訓練資料本身是非線性的,比如按下圖分布:
那麼此時原輸入空間沒有超平面能將訓練集很好地分離開,但存在這樣的超曲面。而我們仍然希望用求解線性分類問題的方法求解非線性問題。這時可以將原輸入空間中的資料點通過非線性變換,對映到新特徵空間去,在此特徵空間中,訓練集是線性可分的,這時可以使用線性分類的方法找解決分類問題。比如上圖中,將左邊的原始輸入空間對映到右邊的新特徵空間中去,然後用線性分類器在新空間中解決分類問題。
核函式設x但是,是輸入空間(歐式空間rn
的子集或者離散集合),設
h 為特徵空間(希爾伯特空間),如果存在乙個從
x 到
h 的對映 ϕ(
x):x
→h使得對所有的 x
,z∈x
,函式 k
(x,z
) 滿足條件 k
(x,z
)=ϕ(
x)⋅ϕ
(z) 則稱
k(x,
z)為核函式, ϕ
(x)為
對映函式
。
ϕ 是輸入空間rn
到特徵空間
h 的對映,而
h 一般是高維的甚至是無窮維的,所以直接求ϕ(
x)是比較困難的。核技巧的想法是,只定義核函式k(
x,z)
,而不顯示定義非線性對映函式
ϕ ,這對支援向量機來說再合適不過了,因為無論是支援向量機的優化問題還是其最優超平面,都只涉及變換後的內積,而並不需要變換值。(這裡多提一句,對於確定的核函式k(
x,z)
,其對應的特徵空間
h 和對映
ϕ 並不唯一。)
於是在特徵空間中的支援向量機優化問題為:
minαs.
t.12
∑i=1
m∑j=
1mαi
αjyi
yjk(
xi,x
j)−∑
i=1m
αi∑i
=1mα
iyi=
00≤α
i≤c(50)
對應的最優超平面為: ∑i
=1mα
∗iyi
k(xi
,x)+
b∗=0
(51)
核函式並不好構造,不過有幾個常用的核函式:
核函式有如下性質:
支援向量機的核函式
什麼是核函式?核函式是特徵轉換函式。這是非常抽象的描述,這一節的內容就是為了理解這個抽象的概念的。假設我們有乙個非線性分界線的分類問題,有兩個特徵 x1 x2 回顧邏輯回歸演算法裡的知識,我們可以使用多項式來增加特徵,以便描述出非線性分界線。當 0 1x 1 2 x2 3x1x 2 4 x21 5x...
支援向量機的核函式
支援向量機是建立在統計學習理論基礎之上的新一代機器學習演算法,支援向量機的優勢主要體現在解決線性不可分問題,他通過引入和函式,巧妙地解決了在高維空間中的內積運算,從而很好的解決了非線性分類問題。構造出乙個具有良好效能的svm,核函式的選擇是關鍵,核函式的選擇包括兩部分工作 一是核函式型別的選擇,二是...
支援向量機3 非線性支援向量機與核函式
本節敘述非線性支援向量機,其主要特點是利用核技巧 kernel trick 1 核技巧 非線性分類問題是指通過利用非線性模型才能很好地進行分類的問題。非線性問題往往不好求解,所以希望能用解線性問題的方法解決這個問題,所採取的方法是進行乙個非線性變換,將非線性問題變換為線性問題。通過解變換後的線性問題...