本文結(jié)構(gòu):
- 什么是核函數(shù)
- 都有哪些 & 如何選擇
- 調(diào)參
1. 什么是核函數(shù)
核函數(shù)形式 K(x, y) = <f(x), f(y)>寻狂,
其中 x, y 為 n 維凛澎,f 為 n 維到 m 維的映射撑教,<f(x), f(y)> 表示內(nèi)積送挑。
在用SVM處理問(wèn)題時(shí)茫陆,如果數(shù)據(jù)線性不可分颤芬,希望通過(guò) 將輸入空間內(nèi)線性不可分的數(shù)據(jù) 映射到 一個(gè)高維的特征空間內(nèi)慰丛,使數(shù)據(jù)在特征空間內(nèi)是線性可分的卓囚,這個(gè)映射記作 ?(x),
之后優(yōu)化問(wèn)題中就會(huì)有內(nèi)積 ?i??j诅病,
這個(gè)內(nèi)積的計(jì)算維度會(huì)非常大哪亿,因此引入了核函數(shù)几苍,
kernel 可以幫我們很快地做一些計(jì)算, 否則將需要在高維空間中進(jìn)行計(jì)算备闲。
2. 都有哪些 & 如何選擇
下表列出了 9 種核函數(shù)以及它們的用處和公式,常用的為其中的前四個(gè):linear澜倦,Polynomial芥永,RBF篡殷,Sigmoid
核函數(shù) | 用處 | 公式 |
---|---|---|
linear kernel | 線性可分時(shí),特征數(shù)量多時(shí)埋涧,樣本數(shù)量多再補(bǔ)充一些特征時(shí)板辽,linear kernel可以是RBF kernel的特殊情況 | |
Polynomial kernel | image processing,參數(shù)比RBF多棘催,取值范圍是(0,inf) | |
Gaussian radial basis function (RBF) | 通用劲弦,線性不可分時(shí),特征維數(shù)少 樣本數(shù)量正常時(shí)醇坝,在沒有先驗(yàn)知識(shí)時(shí)用邑跪,取值在[0,1] | |
Sigmoid kernel | 生成神經(jīng)網(wǎng)絡(luò),在某些參數(shù)下和RBF很像,可能在某些參數(shù)下是無(wú)效的 | |
Gaussian kernel | 通用画畅,在沒有先驗(yàn)知識(shí)時(shí)用 | |
Laplace RBF kernel | 通用砸琅,在沒有先驗(yàn)知識(shí)時(shí)用 | |
Hyperbolic tangent kernel | neural networks中用 | |
Bessel function of the first kind Kernel | 可消除函數(shù)中的交叉項(xiàng) | |
ANOVA radial basis kernel | 回歸問(wèn)題 | |
Linear splines kernel in one-dimension | text categorization,回歸問(wèn)題夜赵,處理大型稀疏向量 |
其中 linear kernel 和 RBF kernel 在線性可分和不可分的對(duì)比可視化例子如下:
linear kernel | RBF kernel | |
---|---|---|
線性可分 | ||
線性不可分 |
3. 調(diào)參
在 sklearn 中可以用 grid search 找到合適的 kernel明棍,以及它們的 gamma,C 等參數(shù)寇僧,那么來(lái)看看各 kernel 主要調(diào)節(jié)的參數(shù)是哪些:
核函數(shù) | 公式 | 調(diào)參 |
---|---|---|
linear kernel | ||
Polynomial kernel | -d:多項(xiàng)式核函數(shù)的最高次項(xiàng)次數(shù)摊腋,-g:gamma參數(shù),-r:核函數(shù)中的coef0 | |
Gaussian radial basis function (RBF) | -g:gamma參數(shù)嘁傀,默認(rèn)值是1/k | |
Sigmoid kernel | -g:gamma參數(shù)兴蒸,-r:核函數(shù)中的coef0 |
其中有兩個(gè)重要的參數(shù),即 C(懲罰系數(shù)) 和 gamma细办,
gamma 越大橙凳,支持向量越少,gamma 越小笑撞,支持向量越多岛啸。
而支持向量的個(gè)數(shù)影響訓(xùn)練和預(yù)測(cè)的速度。
C 越高茴肥,容易過(guò)擬合坚踩。C 越小,容易欠擬合瓤狐。
學(xué)習(xí)資料:
https://data-flair.training/blogs/svm-kernel-functions/
https://www.quora.com/What-are-kernels-in-machine-learning-and-SVM-and-why-do-we-need-them
https://www.zhihu.com/question/21883548
https://www.quora.com/How-do-I-select-SVM-kernels
推薦閱讀 歷史技術(shù)博文鏈接匯總
http://www.reibang.com/p/28f02bb59fe5
也許可以找到你想要的:
[入門問(wèn)題][TensorFlow][深度學(xué)習(xí)][強(qiáng)化學(xué)習(xí)][神經(jīng)網(wǎng)絡(luò)][機(jī)器學(xué)習(xí)][自然語(yǔ)言處理][聊天機(jī)器人]