核函数(Kernel function)

  • 更新时间: 2018-09-14
  • 来源: 原创或网络
  • 浏览数: 7次
  • 字数: 8193
  • 发表评论

1 核函数

核函数形式 K(x, y) = <f(x), f(y)>, 其中 x, y 为 n 维,f 为 n 维到 m 维的映射,<f(x), f(y)> 表示内积。

在用SVM处理问题时,如果数据线性不可分,希望通过 将输入空间内线性不可分的数据 映射到 一个高维的特征空间内,使数据在特征空间内是线性可分的,这个映射记作 ϕ(x),

核函数(Kernel function),by 5lulu.com

之后优化问题中就会有内积 ϕi⋅ϕj,
这个内积的计算维度会非常大,因此引入了核函数
kernel 可以帮我们很快地做一些计算, 否则将需要在高维空间中进行计算。


2 都有哪些 & 如何选择

核函数(Kernel function),by 5lulu.com

下表列出了 9 种核函数以及它们的用处和公式,常用的为其中的前四个:linear,Polynomial,RBFSigmoid

核函数 用处 公式
linear kernel 线性可分时,特征数量多时,样本数量多再补充一些特征时,linear kernel可以是RBF kernel的特殊情况 核函数(Kernel function),by 5lulu.com
Polynomial kernel image processing,参数比RBF多,取值范围是(0,inf) 核函数(Kernel function),by 5lulu.com
Gaussian radial basis function (RBF) 通用,线性不可分时,特征维数少 样本数量正常时,在没有先验知识时用,取值在[0,1] 核函数(Kernel function),by 5lulu.com
Sigmoid kernel 生成神经网络,在某些参数下和RBF很像,可能在某些参数下是无效的 核函数(Kernel function),by 5lulu.com
Gaussian kernel 通用,在没有先验知识时用 核函数(Kernel function),by 5lulu.com
Laplace RBF kernel 通用,在没有先验知识时用 核函数(Kernel function),by 5lulu.com
Hyperbolic tangent kernel neural networks中用 核函数(Kernel function),by 5lulu.com
Bessel function of the first kind Kernel 可消除函数中的交叉项 核函数(Kernel function),by 5lulu.com
ANOVA radial basis kernel 回归问题 核函数(Kernel function),by 5lulu.com
Linear splines kernel in one-dimension text categorization,回归问题,处理大型稀疏向量 核函数(Kernel function),by 5lulu.com

其中 linear kernel 和 RBF kernel 在线性可分和不可分的对比可视化例子如下:

核函数(Kernel function),by 5lulu.com


3 调参

在 sklearn 中可以用 grid search 找到合适的 kernel,以及它们的 gamma,C 等参数,那么来看看各 kernel 主要调节的参数是哪些:

核函数 公式 调参
linear kernel 核函数(Kernel function),by 5lulu.com
Polynomial kernel 核函数(Kernel function),by 5lulu.com -d:多项式核函数的最高次项次数,-g:gamma参数,-r:核函数中的coef0
Gaussian radial basis function (RBF) 核函数(Kernel function),by 5lulu.com -g:gamma参数,默认值是1/k
Sigmoid kernel 核函数(Kernel function),by 5lulu.com -g:gamma参数,-r:核函数中的coef0

其中有两个重要的参数,即 C(惩罚系数) 和 gamma,
gamma 越大,支持向量越少,gamma 越小,支持向量越多。
而支持向量的个数影响训练和预测的速度。
C 越高,容易过拟合。C 越小,容易欠拟合


标签: 核函数 rbf

我来评分 :6
0

转载注明:转自5lulu技术库

本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议