本文结构:
什么是核函数
都有哪些 & 如何选择
调参
1. 什么是核函数
核函数形式 K(x, y) = <f(x), f(y)>,
其中 x, y 为 n 维,f 为 n 维到 m 维的映射,<f(x), f(y)> 表示内积。
在用SVM处理问题时,如果数据线性不可分,希望通过 将输入空间内线性不可分的数据 映射到 一个高维的特征空间内,使数据在特征空间内是线性可分的,这个映射记作 ϕ(x),
之后优化问题中就会有内积 ϕi⋅ϕj,
这个内积的计算维度会非常大,因此引入了核函数,
kernel 可以帮我们很快地做一些计算, 否则将需要在高维空间中进行计算。
2. 都有哪些 & 如何选择
下表列出了 9 种核函数以及它们的用处和公式,常用的为其中的前四个:linear,Polynomial,RBF,Sigmoid
核函数 | 用处 | 公式 |
---|---|---|
linear kernel | 线性可分时,特征数量多时,样本数量多再补充一些特征时,linear kernel可以是RBF kernel的特殊情况 | |
Polynomial kernel | image processing,参数比RBF多,取值范围是(0,inf) | |
Gaussian radial basis function (RBF) | 通用,线性不可分时,特征维数少 样本数量正常时,在没有先验知识时用,取值在[0,1] | |
Sigmoid kernel | 生成神经网络,在某些参数下和RBF很像,可能在某些参数下是无效的 | |
Gaussian kernel | 通用,在没有先验知识时用 | |
Laplace RBF kernel | 通用,在没有先验知识时用 | |
Hyperbolic tangent kernel | neural networks中用 | |
Bessel function of the first kind Kernel | 可消除函数中的交叉项 | |
ANOVA radial basis kernel | 回归问题 | |
Linear splines kernel in one-dimension | text categorization,回归问题,处理大型稀疏向量 |
其中 linear kernel 和 RBF kernel 在线性可分和不可分的对比可视化例子如下:
linear kernel | RBF kernel | |
---|---|---|
线性可分 | ||
线性不可分 |
3. 调参
在 sklearn 中可以用 grid search 找到合适的 kernel,以及它们的 gamma,C 等参数,那么来看看各 kernel 主要调节的参数是哪些:
核函数 | 公式 | 调参 |
---|---|---|
linear kernel | ||
Polynomial kernel | -d:多项式核函数的最高次项次数,-g:gamma参数,-r:核函数中的coef0 | |
Gaussian radial basis function (RBF) | -g:gamma参数,默认值是1/k | |
Sigmoid kernel | -g:gamma参数,-r:核函数中的coef0 |
其中有两个重要的参数,即 C(惩罚系数) 和 gamma,
gamma 越大,支持向量越少,gamma 越小,支持向量越多。
而支持向量的个数影响训练和预测的速度。
C 越高,容易过拟合。C 越小,容易欠拟合。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦