总结一下遇到的各种核函数~

由于之前做了很多核方法相关的子空间学习算法,本文打算对各种核函数进行一下简要的介绍,希望对大家能够有所帮助。

首先,再对核方法的思想进行描述,核函数的思想是一个伟大的想法,它工作简练巧妙的映射,解决了高维空间中数据量庞大的问题,在机器学习中是对算法进行非线性改进的利器。如下,如果在原空间中,给定的样本数据X是线性不可分的,那么如果我们能够将数据映射到高维空间中,即

那么在高维空间中,样本数据很有可能线性可分,这个特点可以用下图做一个很好的说明:

如左图,红色部分的点为一类数据,黑色部分的点为另一类,在一维空间中,你不可能通过一刀切将两类数据分开,至少需要两刀。OK,这就说明数据分布是非线性的,我们采用高维映射,当然了,例子中只是映射到了二维空间,但已经足够说明问题了,在右图中,完全可以通过沿着X轴方向的一刀切将两类数据分开,说明在二维空间中,数据已经变成线性可分的了。

这个时候,我们就可以采用很多已有的线性算法对数据进行处理,但是问题来了,映射函数具体形式是什么?这个问题的答案是,根本不需要知道映射函数的具体形式,直接对高维数据进行操作吧!

比如说最经典的PCA算法,这部分内容其实是对前一篇帖子的回顾(http://blog.csdn.net/wsj998689aa/article/details/40398777

PCA在原始空间中的数学模型如下所示:

在高维空间中的形式就是:

我们对其进行简单的变换,我们知道,一个空间中的基向量完全可以用所有的训练样本线性表示出来,即

见证神奇的时刻到了,上式带入上上式,就可以得到如下形式:

如果你再在等号两侧同时左乘一个东西,就会变成如下形式:

核方法的价值在于如下等式成立,

请注意,这个公式表达的意思只是高维空间中向量的内积等于原空间中向量之间的核函数值,根核函数的具体形式没有一毛钱的关系。我们继续,一个样本是这样的,那么矩阵化的形式如下:

那么PCA就变成了如下形式:

看到没,核方法借用核函数的性质,将高维映射成功的抹掉了。那么什么样的函数才可以被称作为核函数呢?这里大牛们给出了一个著名的定理,称作mercer定理。

Mercer 定理:任何半正定的函数都可以作为核函数。所谓半正定的函数f(xi,xj),是指拥有训练数据集合(x1,x2,...xn),我们定义一个矩阵的元素aij = f(xi,xj),这个矩阵式n*n的,如果这个矩阵是半正定的,那么f(xi,xj)就称为半正定的函数。

请注意,这个mercer定理不是核函数必要条件,只是一个充分条件,即还有不满足mercer定理的函数也可以是核函数。所谓半正定指的就是核矩阵K的特征值均为非负。

本文将遇到的核函数进行收集整理,分享给大家。

 

1. Linear Kernel

线性核是最简单的核函数,核函数的数学公式如下:

如果我们将线性核函数应用在KPCA中,我们会发现,推导之后和原始PCA算法一模一样,很多童鞋借此说“kernel is shit!!!”,这是不对的,这只是线性核函数偶尔会出现等价的形式罢了。

2. Polynomial Kernel

多项式核实一种非标准核函数,它非常适合于正交归一化后的数据,其具体形式如下:

这个核函数是比较好用的,就是参数比较多,但是还算稳定。

3. Gaussian Kernel

这里说一种经典的鲁棒径向基核,即高斯核函数,鲁棒径向基核对于数据中的噪音有着较好的抗干扰能力,其参数决定了函数作用范围,超过了这个范围,数据的作用就“基本消失”。高斯核函数是这一族核函数的优秀代表,也是必须尝试的核函数,其数学形式如下:

虽然被广泛使用,但是这个核函数的性能对参数十分敏感,以至于有一大把的文献专门对这种核函数展开研究,同样,高斯核函数也有了很多的变种,如指数核,拉普拉斯核等。

4. Exponential Kernel

      指数核函数就是高斯核函数的变种,它仅仅是将向量之间的L2距离调整为L1距离,这样改动会对参数的依赖性降低,但是适用范围相对狭窄。其数学形式如下:

5. Laplacian Kernel

拉普拉斯核完全等价于指数核,唯一的区别在于前者对参数的敏感性降低,也是一种径向基核函数。

6. ANOVA Kernel

ANOVA 核也属于径向基核函数一族,其适用于多维回归问题,数学形式如下:

7. Sigmoid Kernel

Sigmoid 核来源于神经网络,现在已经大量应用于深度学习,是当今机器学习的宠儿,它是S型的,所以被用作于“激活函数”。关于这个函数的性质可以说好几篇文献,大家可以随便找一篇深度学习的文章看看。

8. Rational Quadratic Kernel

二次有理核完完全全是作为高斯核的替代品出现,如果你觉得高斯核函数很耗时,那么不妨尝试一下这个核函数,顺便说一下,这个核函数作用域虽广,但是对参数十分敏感,慎用!!!!

9. Multiquadric Kernel

多元二次核可以替代二次有理核,它是一种非正定核函数。

10. Inverse Multiquadric Kernel

顾名思义,逆多元二次核来源于多元二次核,这个核函数我没有用过,但是据说这个基于这个核函数的算法,不会遇到核相关矩阵奇异的情况。

11. Circular Kernel

这个核函数没有用过,其数学形式如下所示:

12. Spherical Kernel

这个核函数是上一个的简化版,形式如下所示

13. Wave Kernel

这个核函数没有用过,其适用于语音处理场景。

14. Triangular  Kernel

三角核函数感觉就是多元二次核的特例,数学公式如下:

15. Log Kernel

对数核一般在图像分割上经常被使用,数学形式如下:

16. Spline Kernel

17. Bessel Kernel

18. Cauchy Kernel

柯西核来源于神奇的柯西分布,与柯西分布相似,函数曲线上有一个长长的尾巴,说明这个核函数的定义域很广泛,言外之意,其可应用于原始维度很高的数据上。

19. Chi-Square Kernel

卡方核,这是我最近在使用的核函数,让我欲哭无泪,在多个数据集上都没有用,竟然比原始算法还要差劲,不知道为什么文献作者首推这个核函数,其来源于卡方分布,数学形式如下:

它存在着如下变种:

其实就是上式减去一项得到的产物,这个核函数基于的特征不能够带有赋值,否则性能会急剧下降,如果特征有负数,那么就用下面这个形式:

20. Histogram Intersection Kernel

直方图交叉核在图像分类里面经常用到,比如说人脸识别,适用于图像的直方图特征,例如extended LBP特征其数学形式如下,形式非常的简单

21. Generalized Histogram Intersection

顾名思义,广义直方图交叉核就是上述核函数的拓展,形式如下:

22. Generalized T-Student Kernel

TS核属于mercer核,其数学形式如下,这个核也是经常被使用的

23. Bayesian Kernel

贝叶斯核函数还没有用到过。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 05:38:33

总结一下遇到的各种核函数~的相关文章

Libsvm自定义核函数【转】

1. 使用libsvm工具箱时,可以指定使用工具箱自带的一些核函数(-t参数),主要有: -t kernel_type : set type of kernel function (default 2) 0 -- linear: u'*v 1 -- polynomial: (gamma*u'*v + coef0)^degree 2 -- radial basis function: exp(-gamma*|u-v|^2) 3 -- sigmoid: tanh(gamma*u'*v + coef0

RBF高斯径向基核函数【转】

XVec表示X向量.||XVec||表示向量长度.r表示两点距离.r^2表示r的平方.k(XVec,YVec) = exp(-1/(2*sigma^2)*(r^2))= exp(-gamma*r^2)...... 公式-1这里, gamma=1/(2*sigma^2)是参数, r=||XVec-YVec||实际上,可看作是计算2个点X与Y的相似性.很多参考书上,把YVec写作XVec',即 k(XVec, XVec'),也是一样的含义:两点相似性.由于Matlab上面XVec'代表XVec的转置

转:径向基核函数

转:径向基核函数 (2011-05-20 16:53:54) 转载▼   分类: AboutResearch 所谓径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数. 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小. 最常用的径向基函数是高斯核函数 ,形式为 k(||x-xc||)=exp{- ||x-xc||^2/(2*σ)^2) }

【模式识别】SVM核函数

下面是几种经常使用的核函数表示: 线性核(Linear Kernel) 多项式核(Polynomial Kernel) 径向基核函数(Radial Basis Function) 也叫高斯核(Gaussian Kernel),由于能够看成例如以下核函数的领一个种形式: 径向基函数是指取值只依赖于特定点距离的实值函数,也就是. 随意一个满足特性的函数 Φ都叫做径向量函数,标准的一般使用欧氏距离,虽然其它距离函数也是能够的.所以另外两个比較经常使用的核函数.幂指数核,拉普拉斯核也属于径向基核函数.

核函数逻辑回归

1.表示定理的证明 如果你求解的是L2-regularized的问题,那么一定有一个最好的w可以表示成z的线性组合: 如何来证明这件事情呢? 我们将w分成两个部分,分别为w的平行部分(由zn展开的那个空间的向量来构成)和w的垂直部分(与zn展开表示的向量垂直的向量). 我们希望最后完全没有w的垂直部分. 将最优的那个w与zn相乘其实和w的平行部分和zn相乘得到的结果是一样的,因为w的垂直部分与zn相乘为0,所以得到的err是一样的. 对于最佳解wTw,其包含w的平行部分的平方和w的垂直部分的平方

机器学习——支持向量机(SVM)之核函数(kernel)

对于线性不可分的数据集,可以利用核函数(kernel)将数据转换成易于分类器理解的形式. 如下图,如果在x轴和y轴构成的坐标系中插入直线进行分类的话, 不能得到理想的结果,或许我们可以对圆中的数据进行某种形式的转换,从而得到某些新的变量来表示数据.在这种表示情况下,我们就更容易得到大于0或者小于0的测试结果.在这个例子中,我们将数据从一个特征空间转换到另一个特征空间,在新的空间下,我们可以很容易利用已有的工具对数据进行处理,将这个过程称之为从一个特征空间到另一个特征空间的映射.在通常情况下,这种

SVM: 使用kernels(核函数)的整个SVM算法过程

将所有的样本都选做landmarks 一种方法是将所有的training data都做为landmarks,这样就会有m个landmarks(m个trainnign data),这样features就是某个x(可以是trainning data/cross validation data/test data里面的)与这些landmarks之间的距离的远近程度的描述. landmarks选定后得出新的features向量 给出一个x,则通过这些landmarks来计算features向量,和之前的

高斯核函数

高斯核函数 所谓径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数.通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小. 高斯核函数 - 常用公式 最常用的径向基函数是高斯核函数 ,形式为 k(||x-xc||)=exp{- ||x-xc||^2/(2*σ)^2) } 其中xc为核函数中心,σ为函数的宽度参数 , 控制了函数的径向作用范围.

机器学习---核函数

前言:当我跟你说起核的时候,你的脑海里一定是这样的: 想到的一定是BOOMBOOM.谈核色变,但是今天我们说的核却温和可爱的多了. 我记得我前面说到了SVM的核武器是核函数,这篇文章可以作为http://www.cnblogs.com/xiaohuahua108/p/5934282.html这篇文章的下篇.但是我这里首先强调一下,核函数不是仅仅在SVM里使用,他只是一个工具,把低维数据映射到高维数据的工具. 形如这样: 本来是二维的数据,现在我们把它映射的高维.这里也需要说明下,低维到高维,维数