超詳細白板推導:從模型和優化 2 個角度詳解 SVM 核函數

SVM 白板推導| 由最大間隔化目標演化的損失函數推導過程 中白板手推了 SVM 的原理,並介紹了硬間隔核函數的實現原理及公式推導,這一節我來詳細介紹下 SVM 中的 Keynel Function。segmentfault

一直以來咱們只知道核函數能讓 SVM 在高維空間中實現非線性可分,那麼,核函數是在什麼狀況下被提出的呢?又有哪幾種核函數呢?數組

本篇文章從 2 個角度講解 SVM 核函數。函數

  1. 非線性帶來高維轉換 (模型角度),$X → Φ(X)$
  2. 對偶表示帶來內積 (優化角度),$x_i^Tx_j$

從線性可分到線性不可分

以下表中介紹了 感知機 PLA 和 SVM 從線性可分到非線性可分的模型演變結果。性能

而在線性不可分的狀況下,若是讓模型可以變得線性可分?上面已經講了,從 2 個角度來理解。優化

1. 非線性帶來高維轉換,引入 $Φ(X)$

咱們知道高維空間中的特徵比低維空間中的特徵更易線性可分,這是一個定理,是能夠證實的,這裏只須要知道就行。spa

那麼,咱們就能夠想到一個辦法,就是把在輸入空間中的特徵經過一個函數映射到高維空間。rem

假設輸入空間有一個點 $X=(x_1, x_2)$,是二維的,咱們經過一個函數 $Φ(X)$ 將其映射到三維空間 $Z=(x_1,x_2,(x_1-x_2)^2)$,從二維到三維空間中的表示爲:get

2. 對偶表示帶來內積,引入核函數

從另外一個角度來看,以前咱們已經推導出 SVM 的損失函數,Hard-Margin SVM 的對偶問題中,最終的優化問題只與 X 的內積有關,也便是支持向量有關。it

由此,咱們能夠將 X 的內積表示爲 $Φ(X)$ 的內積 $Φ(x_i)^TΦ(x_j)$。io

而咱們現實生活中,可能 $Φ(X)$ 並非上面舉例的三維或者更高維,而是無限維,那麼 的 $Φ(X)$ 將會很是難求。

換個角度思考,其實咱們關心的只是 $Φ(x_i)^TΦ(x_j)$ 的內積,並不關心 $Φ(X)$。有沒有一種方法能直接求出內積?答案是有的。

咱們能夠引入核函數 keynel function。

如上中的一個核函數,咱們能夠直接求出 X 的內積,避免在高維空間中求 $Φ(x_i)^TΦ(x_j)$。

針對核函數,咱們能夠總結出 3 點。

  1. 當在線性不可分的時候,咱們能夠將輸入空間中的特徵映射到高維空間,來實現線性可分。
  2. 在高維空間中,因爲計算 $Φ(x_i)^TΦ(x_j)$ 很是困難,由於 $Φ(X)$ 可能有無限維。
  3. 所以,咱們引入核函數,將本來須要在高維空間計算的內積變成在輸入空間計算內積,也能達到同樣的效果,從而減少計算。

核函數存在條件

定理: 令 $χ$ 爲輸入空間,$k(⋅,⋅)$ 是定義在 $χ×χ$上的對稱函數,則 $k$ 是核函數當且僅當對於任意數據$D=x_1,x_2,⋯,x_m$,「核矩陣」 $K$ 老是半正定的:

定理代表,只要一個對稱函數所對應的核矩陣半正定,那麼它就能夠做爲核函數使用。事實上,對於一個半正定核矩陣,總能找到一個與之對應的映射 $ϕ(X)$。換言之,任何一個核函數都隱式定義了一個稱爲 「再生核希爾伯特空間」 的特徵空間。

常見的核函數

經過前面的介紹,核函數的選擇,對於非線性支持向量機的性能相當重要。可是因爲咱們很難知道特徵映射的形式,因此致使咱們沒法選擇合適的核函數進行目標優化。因而 「核函數的選擇」 稱爲支持向量機的最大變數,咱們常見的核函數有如下幾種:

此外,還能夠經過函數組合獲得,例如:

  • 若 $k_1$ 和 $k_2$ 爲核函數,則對於任意正數 $γ_1,γ_2$,其線性組合也是核函數。$γ_1k_1+γ_2k_2$
  • 若 $k_1$ 和 $k_2$ 爲核函數,則核函數的直積也是核函數。$k_1⨂k_2(x,z)=k_1(x,z),k_2(x,z)$
  • 若k_1k1爲核函數,則對於任意函數 $g(x)$ 也是核函數。 $k(x,z)=g(x)k_1(x,z)g(z)$

對於非線性的狀況,SVM 的處理方法是選擇一個核函數 $κ(⋅,⋅)$,經過將數據映射到高維空間,來解決在原始空間中線性不可分的問題。因爲核函數的優良品質,這樣的非線性擴展在計算量上並無比原來複雜多少,這一點是很是可貴的。

固然,這要歸功於核方法——除了 SVM 以外,任何將計算表示爲數據點的內積的方法,均可以使用核方法進行非線性擴展。

相關文章
相關標籤/搜索