核函数的定义
核函数包括线性核函数、多项式核函数、高斯核函数等,其中高斯核函数最常用,可以将数据映射到无穷维,也叫做径向基函数(Radial Basis Function 简称 RBF)。
机器学习中,对于线性可分的情况研究的比较透彻,但是很多情况是我们希望我们的模型学习非线性的模型。通常的做法就是选择一个函数ϕ(x)将x映射到另一个空间中,即通过某非线性变换ϕ(x) ,将输入空间映射到高维特征空间。关键是如何选择ϕ(x)。
假设X是输入空间,H是X映射到的高维特征空间,存在一个映射ϕ使得X中的点x能够计算得到H空间中的点h: h=ϕ(x)
对于所有的X中的点都成立。x,z是X空间中的点,如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数k(x,z)满足条件: k(x,z)=ϕ(x)⋅ϕ(z) 则称k为核函数,而ϕ为映射函数。
核函数带来的好处很明显,如果先要映射到高维空间然后进行模型学习,计算量远远大于在低维空间中直接直接采用核函数计算
核函数的使用
上面,我们提到,使用核函数关键在于选择应设函数ϕ(x),一般有三种做法 :
1)通过核函数,比如RBF。如果ϕ(x) 具有足够高的维数,我们总是有足够的能力来拟合训练集,但是对于测试集的泛化往往不佳。非常通用的特征映射通常只基于局部光滑的原则,并且没有将足够的先验信息进行编码来解决高级问题。
2)另一种选择是手动地设计ϕ,在深度学习以前,这种方法对于每个单独的任务都需要人们数十年的努力,从业者各自擅长特定的领域(如语音识别或计算机视觉),并且不同领域之间很难迁移 (transfer)。
3)深度学习方式是去学习这个函数ϕ(x)
那么能不能不通过映射函数而直接使用核函数计算高维空间的点的距离以及夹角呢?
答案是可以的,核函数的技巧就是不显示的定义映射函数,而在高维空间中直接使用核函数进行计算。
核函数必须是连续的,对称的,并且最优选地应该具有正(半)定Gram矩阵。
显然,Gram矩阵是半正定的。
常用核函数
在实际计算中,通常会选用高斯核。
举例
假设有一张二维空间的图片,匾额和门现行不可分
然儿,当映射到三维空间后,则变成了现行可分
如上面的例子所说,核函数的作用就是隐含着一个从低维空间到高维空间的映射,而这个映射可以把低维空间中线性不可分的两类点变成线性可分的。
参考资料:
https://baike.baidu.com/item/%E6%A0%B8%E5%87%BD%E6%95%B0/4693132
https://blog.csdn.net/cqy_chen/article/details/77932270
https://www.cnblogs.com/hezhiyao/p/7238500.html
网友评论