核函数K(kernel function)就是指K(x, y) = <f(x), f(y)>,其中x和y是n维的输入值,f(·) 是从n维到m维的映射(通常,m>>n)。<x, y>是x和y的内积(inner product)(也称点积(dot product))。
1. Linear Kernel
线性核是最简单的核函数,核函数的数学公式如下:
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
贝叶斯核函数还没有用到过。