核函数
为了解决线性不可分的问题,需要将样本从原始空间映射到高维空间,在高维空间实现线性可分。然后利用常见的线性分类器ex:SVM分类
然而,将输入的空间中样本映射到新的空间中,在新的空间中求内积;维数高,计算开销大。【可通过最后一张图理解】
设计采用核函数的方法:利用核函数,不需要将输入空间中的样本映射到新的空间中去,在输入空间中就可以直接计算出内积了。对输入空间向高维空间的一种隐式映射(注意,这也是低维空间到高维空间的一种映射)。不需要给出那个映射,而在输入空间中就可以计算内积,即核函数方法。【核函数可以简化映射空间中的内积运算】
核函数K,对于所有的x1,x2满足:
注:核函数和隐射没有关系,只是用来计算映射到高维空间空间之后内积计算的简便方法。故;上面提到为隐形隐射。
核函数也就是一种函数,本质上跟其他常见的函数(如幂函数)是一样的。
满足以下要求的函数才能称为核函数(定理):
令为输入空间,是定义在上的对称函数,则是核函数当且仅当对于任意数据,核矩阵K总是半正定的:
.
上面的定理表明,只要一个对称函数对应的核矩阵半正定,它就能作为核函数。
核函数的作用:隐含着一个从低维空间到高维空间的映射,计算样本在高维空间的内积。
假如出于某些原因,我们要将样本从原始空间映射到高维空间(如在低维空间样本线性不可分,需要映射到高维空间产生线性可分的样本)。
假设映射为,表示x映射后的特征向量。假设在高维空间中,正好涉及到计算内积:。这时,就可以引入核函数(涉及选择什么核函数):
.
上式将在高维空间的内积转化到在原始空间计算。
那为什么不直接在映射后的高维空间计算?原因有两点:
- 通常我们不知道映射的具体形式;
- 映射后的空间维数可能非常高,甚至无限维,直接计算开销太大,十分困难.
上面提到有5种常用的核函数,选择了不同的核函数,意味选择了不同的某种映射。因为我们不知道映射的具体形式,所以我们并不知道什么样的核函数合适。核函数的选择成为算法的“变数”。
核函数的选择有一些基本经验:
- 例如对文本数据通常采用线性核,情况不明时可先尝试高斯核。线性核和高斯核也是最为常用的核函数。
https://blog.csdn.net/weixin_35732969/article/details/81603520
https://blog.csdn.net/puqutogether/article/details/41309745
http://www.360doc.com/content/14/0728/15/14106735_397653989.shtml