澄清相关概念

当年学习另外一门课程的时候,我们也接触过核函数的概念,使得我似乎概念上有一些混淆。查询了一下维基百科后,发现这完全是两个概念,这里需要理清一下。

KDE,也就是kernel density estimation是一种非参数估计的方法,用来进行随机变量的概率密度估计。回想当年学习的时候,在讲非参数估计时引入了两种方法,一是Parzon窗,另外一个就是KNN。而KDE的方法就使用在Parzon窗中使用的方法,里面也涉及到核函数的概念,具体可参见这里)。

而我们这里所讲的kernel function则是在特征转换时遇到的高维数据处理的时候采用的方法。

特征转换(feature transformation)

feature transformation

前面我们一直都在考虑线性可分的情形,当线性不可分的时候,我们就要考虑把低维空间的数据映射到高维空间,希望可以在高维空间里找到超平面将数据分开,这既是特征转换要做的工作。

多项式核函数

涉及到高维矩阵运算的式子是$y_ny_mz_n^Tz_m$,那么假设现在的一个多项式转换是:

formula

$z_n^Tz_m$可以写成$K_\phi(x,x') \equiv \phi(x)^T\phi(x')$,所以上面的多项式转换下就得到:

可以发现,经过一番推导,我们只需要对原始数据进行矩阵运算就可以得到高维计算的结果,打打简化的计算过程。下面就是一些常见的多项式核函数:

一般形式的二阶核函数

二阶核函数一般很常用,但是$\gamma$的选择对决策边界的影响很难说,需要慎重选择。

一般阶数的核函数

当$\zeta=0,\gamma=1$的时候,就是所谓的线性核函数。需要记住的是,linear first!

高斯核函数

该式用泰勒展开,实际上就是一个无穷维度的多项式核函数。由于好像函数是围绕着一个中心的,所以又被常称为径向基函数(radius basis function)

$\gamma$的选择

参数选择

当$\gamma$变大时,可能会发生overfitting的问题。一个直观的解释就是$\gamma$变大,高斯函数就会变尖。考虑一个特殊的情况,当$\gamma$变得无穷大的时候:

核函数就会只认出点本身。所以,SVM虽然有宽宽的边界的保证,依旧可能会overfitting

线性核函数、多项式核函数、高斯核函数的比较

线性核函数最简单,总是首选,但是能力有限,使用的局限性很大。多项式核函数能力强大,但参数选择困难,很容易overfitting。高斯核函数丢失了原始的$w$的物理意义,但要选择的参数少,不过也要注意防止overfitting的情况。

合法的核函数

有一个叫做Mercer's condition用来判断核函数的合法性:

1.对称

2.矩阵$ZZ^T$必须是一个半正定的矩阵

下面回顾一下半正定的概念:

半正定矩阵

  • 定义
    半正定

  • 性质
    性质

构建合法的核函数

这里直接参考了某大学的PPT:

一

二

更多推导与证明,请参见PPT以及MIT handout

下一次将介绍所谓的soft margin的SVM问题。