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

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

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

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

從線性可分到線性不可分

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

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

而在線性不可分的情況下,如果讓模型能夠變得線性可分?上面已經講了,從 2 個角度來理解。

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

我們知道高維空間中的特徵比低維空間中的特徵更易線性可分,這是一個定理,是可以證明的,這裡只需要知道就行。

那麼,我們就可以想到一個辦法,就是把在輸入空間中的特徵通過一個函數映射到高維空間。

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

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

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

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

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

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

由此,我們可以將 X 的內積表示為 $Φ(X)$ 的內積 $Φ(x_i)^TΦ(x_j)$。

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

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

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

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

我們可以引入核函數 keynel function。

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

如上中的一個核函數,我們可以直接求出 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$ 總是半正定的:

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

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

常見的核函數

通過前面的介紹,核函數的選擇,對於非線性支持向量機的性能至關重要。但是由於我們很難知道特徵映射的形式,所以導致我們無法選擇合適的核函數進行目標優化。於是 “核函數的選擇” 稱為支持向量機的最大變數,我們常見的核函數有以下幾種:

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

此外,還可以通過函數組合得到,例如:

  • 若 $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_1 k 1為核函數,則對於任意函數 $g(x)$ 也是核函數。 $k(x,z)=g(x)k_1(x,z)g(z)$

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

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


分享到:


相關文章: