在 SVM 白板推導| 由最大間隔化目標演化的損失函數(shù)推導過程 中白板手推了 SVM 的原理滚局,并介紹了硬間隔核函數(shù)的實現(xiàn)原理及公式推導,這一節(jié)我來詳細介紹下 SVM 中的 Keynel Function顽频。
一直以來我們只知道核函數(shù)能讓 SVM 在高維空間中實現(xiàn)非線性可分藤肢,那么,核函數(shù)是在什么情況下被提出的呢糯景?又有哪幾種核函數(shù)呢嘁圈?
本篇文章從 2 個角度講解 SVM 核函數(shù)。
- 非線性帶來高維轉(zhuǎn)換 (模型角度)蟀淮,
![]()
- 對偶表示帶來內(nèi)積 (優(yōu)化角度)最住,
![]()
從線性可分到線性不可分
如下表中介紹了 感知機 PLA 和 SVM 從線性可分到非線性可分的模型演變結(jié)果。
線性可分 | 一點點錯誤 | 嚴格非線性 |
---|---|---|
PLA | Pocket Algorithm |
|
Hard-Margin SVM | Soft-Margin SVM |
|
而在線性不可分的情況下怠惶,如果讓模型能夠變得線性可分温学?上面已經(jīng)講了,從 2 個角度來理解甚疟。
1. 非線性帶來高維轉(zhuǎn)換,引入
我們知道高維空間中的特征比低維空間中的特征更易線性可分逃延,這是一個定理览妖,是可以證明的,這里只需要知道就行揽祥。
那么讽膏,我們就可以想到一個辦法,就是把在輸入空間中的特征通過一個函數(shù)映射到高維空間拄丰。
假設(shè)輸入空間有一個點 府树,是二維的俐末,我們通過一個函數(shù)
將其映射到三維空間
,從二維到三維空間中的表示為:
2. 對偶表示帶來內(nèi)積奄侠,引入核函數(shù)
從另一個角度來看卓箫,之前我們已經(jīng)推導出 SVM 的損失函數(shù),Hard-Margin SVM 的對偶問題中垄潮,最終的優(yōu)化問題只與 X 的內(nèi)積有關(guān)烹卒,也即是支持向量有關(guān)。
由此弯洗,我們可以將 X 的內(nèi)積表示為 的內(nèi)積
旅急。
而我們現(xiàn)實生活中,可能 并不是上面舉例的三維或者更高維牡整,而是無限維藐吮,那么 的
將會非常難求。
換個角度思考逃贝,其實我們關(guān)心的只是 的內(nèi)積谣辞,并不關(guān)心
。有沒有一種方法能直接求出內(nèi)積秋泳?答案是有的潦闲。
我們可以引入核函數(shù) keynel function。
如上中的一個核函數(shù)迫皱,我們可以直接求出 X 的內(nèi)積歉闰,避免在高維空間中求 。
針對核函數(shù)卓起,我們可以總結(jié)出 3 點和敬。
- 當在線性不可分的時候,我們可以將輸入空間中的特征映射到高維空間戏阅,來實現(xiàn)線性可分昼弟。
- 在高維空間中,由于計算
非常困難奕筐,因為
可能有無限維舱痘。
- 因此,我們引入核函數(shù)离赫,將原本需要在高維空間計算的內(nèi)積變成在輸入空間計算內(nèi)積芭逝,也能達到一樣的效果,從而減小計算渊胸。
核函數(shù)存在條件
定理: 令 為輸入空間旬盯,
是定義在
上的對稱函數(shù),則
是核函數(shù)當且僅當對于任意數(shù)據(jù)
,“核矩陣”
總是半正定的:
定理表明胖翰,只要一個對稱函數(shù)所對應的核矩陣半正定接剩,那么它就可以作為核函數(shù)使用。事實上萨咳,對于一個半正定核矩陣懊缺,總能找到一個與之對應的映射 。換言之某弦,任何一個核函數(shù)都隱式定義了一個稱為 “再生核希爾伯特空間” 的特征空間桐汤。
常見的核函數(shù)
通過前面的介紹,核函數(shù)的選擇靶壮,對于非線性支持向量機的性能至關(guān)重要怔毛。但是由于我們很難知道特征映射的形式,所以導致我們無法選擇合適的核函數(shù)進行目標優(yōu)化腾降。于是 “核函數(shù)的選擇” 稱為支持向量機的最大變數(shù)拣度,我們常見的核函數(shù)有以下幾種:
此外,還可以通過函數(shù)組合得到螃壤,例如:
- 若
和
為核函數(shù)抗果,則對于任意正數(shù)
,其線性組合也是核函數(shù)奸晴。
- 若
和
為核函數(shù)冤馏,則核函數(shù)的直積也是核函數(shù)。
- 若k_1k1為核函數(shù)寄啼,則對于任意函數(shù)
也是核函數(shù)逮光。
對于非線性的情況,SVM 的處理方法是選擇一個核函數(shù) 墩划,通過將數(shù)據(jù)映射到高維空間涕刚,來解決在原始空間中線性不可分的問題。由于核函數(shù)的優(yōu)良品質(zhì)乙帮,這樣的非線性擴展在計算量上并沒有比原來復雜多少杜漠,這一點是非常難得的。
當然察净,這要歸功于核方法——除了 SVM 之外驾茴,任何將計算表示為數(shù)據(jù)點的內(nèi)積的方法,都可以使用核方法進行非線性擴展氢卡。