1. 程式人生 > >理解支援向量機(二)核函式

理解支援向量機(二)核函式

由之前對核函式的定義(見統計學習方法定義7.6):
設χ是輸入空間(歐氏空間或離散集合),Η為特徵空間(希爾伯特空間),如果存在一個從χ到Η的對映

φ(x): χ→Η 使得對所有的x,z∈χ,函式Κ(x,z)=φ(x)∙φ(z),
則稱Κ(x,z)為核函式,φ(x)為對映函式,φ(x)∙φ(z)為x,z對映到特徵空間上的內積。
由於對映函式十分複雜難以計算,在實際中,通常都是使用核函式來求解內積,計算複雜度並沒有增加,對映函式僅僅作為一種邏輯對映,表徵著輸入空間到特徵空間的對映關係。例如:
設輸入空間χ:^3,
X=(x_(1,) x_2,x_3) , z=(z_(1,) z_2,z_3), 對映函式φ(x)= < X,X > =這裡寫圖片描述
核函式Κ(x,z)=〖(<x,z>)〗^2

那麼,取兩個樣例x=(1,2,3),z=(4,5,6)分別通過對映函式和核函式計算內積過程如下:
φ(x)=(1,2,3,2,4,6,3,6,9)
φ(z)=(16,20,24,20,25,30,24,30,36)
φ(x)∙φ(z)=16+40+72+40+100+180+72+180+324=1024
而直接通過Κ(x,z)計算得[(4+10+18)]^2=1024
兩者相比,核函式的計算量顯然要比對映函式小太多了。

從上可知,如果我們知道核函式的話,那麼就可以在不增加計算複雜度的情況下完成非線性變換。那麼我們下一步的任務就是確定核函式。
通常我們所說的核函式就是正定核函式,什麼函式是正定核函式呢?
這裡給出判定正定核的充要條件(見統計學習方法定理7.5):
設Κ:χ×χ→R是對稱函式,則Κ(x,z)為正定核函式的充要條件是對任意x_i∈χ,i=1,2,…,m,Κ(x,z)對應的Gram矩陣:

〖[Κ(x_i,x_j)]〗_(m×n) 是半正定矩陣。
由充要條件可以給出判定正定核的等價定義:
設χ為輸入空間,Κ(x,z)是定義在χ×χ對稱函式,如果對任意x_i∈χ,i=1,2,…,m,Κ(x,z)對應的Gram矩陣:
〖[Κ(x_i,x_j)]〗_(m×n) 是半正定矩陣,則稱Κ(x,z)是正定核。
符合這樣條件的函式,我們稱它為正定核函式。
但值得提下的是,該定義是判定正定核的,也存在核函式是非正定核的,,如多元二次核函式:
這裡寫圖片描述 在實際應用中,我們會經常用到Mercer定理還確定核函式。由Mercer定理得到的核函式稱為Mercer核,正定核與Mercer核的維基百科定義分別如下:
這裡寫圖片描述

這裡寫圖片描述

由以上定義可以看出,正定核比Mercer核更具有一般性,因為正定核要求函式為定義空間上的對稱函式,而Mercer核要求函式為對稱連續函式。

二、常用核函式
1、線性核函式
線性核函式是最簡單的核函式,是徑向基核函式的一個特例,公式為:

這裡寫圖片描述 主要用於線性可分的情形,對應上一篇講的線性可分支援向量機與線性支援向量機。它在原始空間中尋找最優線性分類器,具有引數少速度快的優勢。
2、多項式核函式
多項式核適合於正交歸一化(向量正交且模為1)資料,公式為:
這裡寫圖片描述 多項式核函式屬於全域性核函式,允許相距很遠的資料點對核函式的值有影響。引數d越大,對映的維度越高,計算量就會越大。當d過大時,由於學習複雜性也會過高,易出現“過擬合現象。
3、徑向基核函式&高斯核函式
徑向基核函式屬於區域性核函式,當資料點距離中心點變遠時,取值會變小。公式為:
這裡寫圖片描述 高斯核函式可以看作是徑向基核函式的另一種形式:
這裡寫圖片描述 高斯徑向基核對資料中存在的噪聲有著較好的抗干擾能力,由於其很強的區域性性,其引數決定了函式作用範圍,隨著引數σ的增大而減弱。
4、Sigmoid核函式
Sigmoid核函式來源於神經網路,被廣泛用於深度學習和機器學習中。公式為:
這裡寫圖片描述 採用Sigmoid函式作為核函式時,支援向量機實現的就是一種多層感知器神經網路。支援向量機的理論基礎(凸二次規劃)決定了它最終求得的為全域性最優值而不是區域性最優值,也保證了它對未知樣本的良好泛化能力。
5、字串核函式
核函式不僅可以定義在歐氏空間上,還可以定義在離散資料的集合上。字串核函式是定義在字串集合上的核函式,可以直觀地理解為度量一對字串的相似度,在文字分類、資訊檢索等方面都有應用。