SVM 的核函数选择和调参

本文结构: 
1. 什么是核函数 
2. 都有哪些 & 如何选择 
3. 调参

1. 什么是核函数
核函数形式 K(x, y) = <f(x), f(y)>,
其中 x, y  为 n 维,f 为 n 维到 m 维的映射,<f(x), f(y)> 表示内积。
1
2
在用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 在线性可分和不可分的对比可视化例子如下:

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 越小,容易欠拟合。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值