前面對非線性支援向量機進行了簡單的介紹。例如moons資料集,為其增加乙個維度,即可很容易地構造乙個平面對兩類樣本進行分割。然而,若對映至3維空間無法較好分割則需要對映到更高維空間,尤其是當原始資料維度較高時,可能需要將其對映到無窮維空間,這根本無法計算。
首先,給出核函式的定義。
定義:設x
\mathcal
x是輸入空間,為歐氏空間r
n\mathbb^n
rn及其子空間或離散的幾何,又設h
\mathcal
h為特徵空間,為希爾伯特空間,若存在乙個從x
\mathcal
x到h\mathcal
h的對映ϕ(x
):x→
h\phi(\boldsymbol):\ \mathcal \rightarrow \mathcal
ϕ(x):x
→h使得對所有的x,z
∈x\boldsymbol,\boldsymbol\in \mathcal
x,z∈
x函式k(x
,z)k(\boldsymbol,\boldsymbol)
k(x,z)
滿足條件k(x
,z)=
ϕ(x)
⋅ϕ(z
)k(\boldsymbol,\boldsymbol) = \phi(\boldsymbol)\cdot \phi(\boldsymbol)
k(x,z)
=ϕ(x
)⋅ϕ(
z)則稱k (x
,z)k(\boldsymbol,\boldsymbol)
k(x,z)
為核函式,ϕ(x
)\phi(\boldsymbol)
ϕ(x)
為對映函式,而ϕ(x
)⋅ϕ(
z)\phi(\boldsymbol)\cdot \phi(\boldsymbol)
ϕ(x)⋅ϕ
(z)稱為ϕ(x
)\phi(\boldsymbol)
ϕ(x)
和ϕ (z
)\phi(\boldsymbol)
ϕ(z)
的內積。
正如之前在對偶問題的求解和smo演算法中,將x⊤x
\boldsymbol\boldsymbol
x⊤x寫成內積的形式,即用核函式進行代替。通過核函式,我們並不需要顯式地定義原始空間到特徵空間的對映,僅通過定義核函式就可以在原始空間中進行計算,再通過內積體現在高維的特徵空間當中,避免了在高維空間中進行複雜的計算。
然而,乙個函式是否是核函式是有條件的,我們往往要求其是正定核函式(因為此時才能夠保證特徵空間的存在)。我們需要去找正定核函式的充要條件。
定理:設k:x
×x→r
k: \mathcal \times \mathcal \rightarrow \mathbb
k:x×x→
r是對稱函式,則k(x
,z)k(\boldsymbol, \boldsymbol)
k(x,z)
是正定核函式的充要條件是對任意xi∈
x,i∈
[m]\boldsymbol \in \mathcal, i \in [m]
xi∈x,
i∈[m
],k(x,
z)k(\boldsymbol, \boldsymbol)
k(x,z)
對應的gram矩陣k=[
k(xi
,xj)
]m×m
k = \left[ k(\boldsymbol,\boldsymbol)\right]_
k=[k(x
i,x
j)]
m×m
是半正定矩陣。
在此不做證明,可參考李航老師《統計學習方法》中的證明。實際應用中我們往往是直接應用已有的函式。下面對常見的核函式進行介紹。
SVM學習筆記4 核函式和離群點的處理
核函式 在svm裡,核函式是這樣定義的。核函式是乙個n n 樣本個數 的矩陣,其中 k exp frac x 也就是說,當兩個向量越接近時,它們的核函式越接近於1 越遠時,核函式越接近於0。在svm裡,使用 k 而不使用 x x 應該是就像神經網路或者邏輯回歸裡的啟用函式吧。反正,以後出現兩個樣本內...
SVM學習筆記4 核函式和離群點的處理
核函式 在svm裡,核函式是這樣定義的。核函式是乙個n n 樣本個數 的矩陣,其中 k exp frac x 也就是說,當兩個向量越接近時,它們的核函式越接近於1 越遠時,核函式越接近於0。在svm裡,使用 k 而不使用 x x 應該是就像神經網路或者邏輯回歸裡的啟用函式吧。反正,以後出現兩個樣本內...
機器學習之SVM(粗略的筆記)
svm是 supportvectormachine的簡 稱,它的中文名 為支援向量機,屬於一種有 監督的機器 學 習演算法,可用於離散因 變數的分類和 連續因變數的 通常情況下,該演算法相 對於其他單 一的分類 演算法 如 logistic回歸 決策樹 樸素貝 葉斯 knn 等 會有更好的 準確率,...