【Trick】核技巧(kernel trick)

前言

核函数在支持向量机中得到广泛应用,并且在降低高维运算复杂度的同时提高低维运算的准确率。

常用核函数

SVM关键是选取核函数的类型,主要有线性核,多项式核,径向基核(RBF),sigmoid核。

核函数计算公式
线性核 K ( x i , x j ) = x i T x j K(x_i,x_j)=x^T_ix_j K(xi,xj)=xiTxj
多项式核 K ( x i , x j ) = ( γ x i T x j + b ) d K(x_i,x_j)=(\gamma x_i^Tx_j+b)^d K(xi,xj)=(γxiTxj+b)d
径向基核/高斯核 K ( x i , x j ) = e x p ( − γ ∣ ∣ x i − x j ∣ ∣ 2 ) K(x_i, x_j)=exp(-\gamma \mid \mid x_i-x_j \mid\mid ^2) K(xi,xj)=exp(γxixj2)
sigmoid核 K ( x i , x j ) = t a n h ( γ x i T x j + b ) K(x_i, x_j)=tanh(\gamma x_i^T x_j + b) K(xi,xj)=tanh(γxiTxj+b)
线性核

主要用于线性可分的情形。参数少,速度快,对于一般数据,分类效果已经很理想了。

多项式核

多项式核的参数比RBF多,而参数越多模型越复杂

RBF核

RBF核主要用于线性不可分的情形。参数多,分类结果非常依赖于参数。有很多人是通过训练数据的交叉验证来寻找合适的参数,不过这个过程比较耗时。
使用libsvm,默认参数,RBF核比Linear核效果稍差。通过进行大量参数的尝试,一般能找到比linear核更好的效果。
至于到底该采用哪种核,要根据具体问题,有的数据是线性可分的,有的不可分,需要多尝试不同核不同参数。如果特征的提取的好,包含的信息量足够大,很多问题都是线性可分的。
当然,如果有足够的时间去寻找RBF核参数,应该能达到更好的效果。
这些函数中应用最广的应该就是RBF核了,无论是小样本还是大样本,高维还是低维等情况,RBF核函数均适用,它相比其他的函数有一下优点:

  1. RBF核函数可以将一个样本映射到一个更高维的空间,而且线性核函数是RBF的一个特例,也就是说如果考虑使用RBF,那么就没有必要考虑线性核函数了。
  2. 与多项式核函数相比,RBF需要确定的参数要少,核函数参数的多少直接影响函数的复杂程度。另外,当多项式的阶数比较高时,核矩阵的元素值将趋于无穷大或无穷小,而RBF则在上,会减少数值的计算困难。
  3. 对于某些参数,RBF和sigmoid具有相似的性能。
sigmoid核

下面是吴恩达的见解:

  1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
  2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
  3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

-更新时间:2021-05-06

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值