【机器学习基础】核函数详解

机器学习中,对于线性可分的情况研究的比较透彻,可以采用svm/lr/感知机等成熟的机器学习模型,但是很多情况是我们希望我们的模型学习非线性的模型。通常的做法就是选择一个函数ϕ(x)ϕ(x)将xx映射到另一个空间中,这里的核心就是如何选择ϕ(x)ϕ(x).一般有三种做法
1)通过核函数,比如RBF。如果 φ(x) 具有足够高的维数,我们总是有足够的能力来拟合训练集,但是对于测试集的泛化往往不佳。非常通用的特征映射通常只基于局部光滑的原则,并且没有将足够的先验信息进行编码来解决高级问题。
2)另一种选择是手动地设计 φ,在深度学习以前,这种方法对于每个单独的任务都需要人们数十年的努力,从业者各自擅长特定的领域(如语音识别或计算机视觉),并且不同领域之间很难迁移 (transfer)。
3)深度学习方式是去学习这个函数ϕ(x)ϕ(x)

1. 核函数的定义

核函数的作用就是隐含着一个从低维空间到高维空间的映射,而这个映射可以把低维空间中线性不可分的两类点变成线性可分的。
【机器学习基础】核函数详解

2. Gram矩阵

【机器学习基础】核函数详解

3. 常用的核函数

线性核函数,多项式核函数,高斯核函数(径向基函数,radial basis function, RBF)。
【机器学习基础】核函数详解

4. SVM如何选择核函数?

【机器学习基础】核函数详解
【机器学习基础】核函数详解
MKL:英特尔数学核心函数库

参考

  1. 机器学习之核函数
  2. 核函数的定义和作用(转)