1. 程式人生 > >【機器學習】支援向量機(4)——非線性支援向量機(核函式)

【機器學習】支援向量機(4)——非線性支援向量機(核函式)

前言

當訓練資料集線性可分或者近似線性可分時,前面我們在文一以及文二已經介紹了線性可分支援向量機和線性支援向量機。但是有時訓練資料集是非線性的,這時就可以使用非線性支援向量機

非線性支援向量機的主要特點就是利用了核技巧

非線性分類問題


這裡寫圖片描述

如上面左圖,是一個分類問題,圖中實心點為正類,空心點為負類;我們很容易看出,無法用直線(線性模型)將正負例項正確分開,但是可以通過橢圓曲線(非線性模型)將它們正確分開。

非線性問題往往不好求解,所以我們希望用線性分類問題的方法來解決這個問題。所採用的方法是進行非線性變換

線性分類方法求解非線性分類問題一般分為兩步:

  • 使用一個變換將原空間的資料對映到新空間;
  • 在新空間裡使用信線性分類學習方法從訓練資料中學習分類模型。

核技巧

核技巧就是屬於上訴介紹的方法,應用到支援向量機的基本思想就是通過一個非線性變換將輸入空間對應於一個特徵空間,使得在輸入空間中的超曲面模型對應於特徵空間中的超平面模型。


這裡寫圖片描述

這樣,分類問題的學習任務通過在特徵空間中求解線性支援向量機就可以完成。

核函式的定義

X 是輸入空間,H為特徵空間,如果存在一個從XH的對映:

ϕ(x):XH
使得對所有x,zX,函式K(x,z)滿足條件:
K(x,z)=ϕ(x)ϕ(z)
則稱
K(x,z)
為核函式,ϕ(x)為對映函式,式中ϕ(x)ϕ(z)為內積

核技巧的想法:在學習與預測中只定義核函式K(x,z),而不顯式地定義對映函式ϕ
因為通常計算K(x,z)比較容易,而通過ϕ(x)ϕ(z)的內積來計算K(x,z)並不容易;
ϕ是輸入空間到特徵空間的對映,特徵空間H往往是高維的,甚至是無窮維;
對於給定的核K(x,z),特徵空間H和對映函式ϕ的取法並不唯一。

在我們之前學習線性可分支援向量機和線性支援向量機時,無論是目標函式還是決策函式(分離超平面)都只涉及輸入例項與例項之間的內積

。在對偶問題的目標函式中的內積xi,xj,可以用核函式K(xi,xj)=ϕ(xi)ϕ(xj)來代替。此時對偶問題的目標函式成為:

W(α)=12i=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαi
分類決策函式變為:
f(x)=sign(i=1NsαiyiK(xi,x)+b)

這就等價於:
經過對映函式ϕ將原來的輸入空間變換到一個新的特徵空間,將輸入空間中的內積