本文结构:
什么是核函数
都有哪些 & 如何选择
调参
1. 什么是核函数
核函数形式 K(x, y) =,
其中 x, y 为 n 维,f 为 n 维到 m 维的映射,表示内积。
在用SVM处理问题时,如果数据线性不可分,希望通过 将输入空间内线性不可分的数据 映射到 一个高维的特征空间内,使数据在特征空间内是线性可分的,这个映射记作 ϕ(x),
之后优化问题中就会有内积 ϕi⋅ϕj,
这个内积的计算维度会非常大,因此引入了核函数,
kernel 可以帮我们很快地做一些计算, 否则将需要在高维空间中进行计算。
2. 都有哪些 & 如何选择
下表列出了 9 种核函数以及它们的用处和公式,常用的为其中的前四个:linear,Polynomial,RBF,Sigmoid
其中 linear kernel 和 RBF kernel 在线性可分和不可分的对比可视化例子如下:
3. 调参
在 sklearn 中可以用 grid search 找到合适的 kernel,以及它们的 gamma,C 等参数,那么来看看各 kernel 主要调节的参数是哪些:
其中有两个重要的参数,即 C(惩罚系数) 和 gamma,
gamma 越大,支持向量越少,gamma 越小,支持向量越多。
而支持向量的个数影响训练和预测的速度。
C 越高,容易过拟合。C 越小,容易欠拟合。
学习资料:
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
领取专属 10元无门槛券
私享最新 技术干货