核函数

Posted smartcat994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了核函数相关的知识,希望对你有一定的参考价值。

核函数使用的条件:

核函数的充要条件是K矩阵是半正定的。 将K特征值分解,有V‘KV=∧,K=V∧V‘ 经特征映射将属性值映射到特征空间Ф:xi->sqrt(λ:)*Vi: (根号对角特征值阵*第i点对应的特征向量阵的第i行阵) 核函数K(x,z)对应于特征映射Ф的核函数=<Ф(x)•Ф(z)>

先不慌,我们要搞清楚正定与半正定先熟悉几个基本的概念

最简单的理解就是:线性变换就是线性映射,矩阵只不过是线性映射的系数而已。所以,选定基底实际是选定坐标轴(不一定正交)。我们平时不太关心坐标轴,是因为所有地方都用同一个坐标系x-y-z。很多时候,合适的坐标系会简化问题。

这就像描述一个物体的运动,你需要选取参考系,参考系不同,描述方式也不同。在不同的基下,同一个线性变换就有不同的矩阵表示,不过他们本质上并没有什么区别,这也由相似这一概念表明。

技术图片

核函数的理解

技术图片 技术图片 技术图片 技术图片 技术图片

常见的核函数:

核函数有很多,最常用的是高斯核函数:

技术图片

高斯核函数可以将原始的特征空间映射到无穷维的特征空间。

对于样本 { x(1),x(2),x(3),… ,x(m) } ,l 的取值是所有的 x 。

高斯核函数计算的是每一个 x(j) ,和所有的 l(i) 之间的距离关系:

技术图片

上图中突起的点代表着就是 l(i) 的位置,而 x(j) 在图中落点的高度,就是核函数的值。

如果 x(j) 与 l(i) 距离很近,那么 || x(j) - l(i) ||2 ≈ 0,核函数的值为 1;如果 x(j) 与 l(i) 距离很远,那么 || x(j) - l(i) ||2 >> 0,核函数的值为 0 。

同样距离下,核函数变化的敏感度,可以通过 σ 来控制。

σ 越小,同样距离下核函数的结果就越小: 

以上是关于核函数的主要内容,如果未能解决你的问题,请参考以下文章

SVM的类型和核函数选择

利用RBF作为核函数

关于核函数的一些思考

支持向量机——核函数与支持向量回归(附Python代码)

高斯核函数

模式识别SVM核函数