核函数:低维生物的升华途径
预备知识:了解SVM的基本原理。知道内积和基本的线代知识。
从分类问题讲起
问题如下:
在模式识别中,某些样本点在低维特征空间里线性不可分的,但是低维的你并不想使用非线性分类器来分类。而我们知道一种方法——可以让低维不可分的样本升到高维,这样样本处在高维是线性可分的。(还有两种方法:原空间法 在原空间中直接求解,特征映射法 将非线性问题的求解映射成另一个空间中的线性
问题求解(XOR问题))如下图所示:
那升到几维?如何升维?我多出的一个或者很多个维度怎么搞,怎么映射到高维?
不好意思,目前我们只知道升维方法,具体多少要升多少个维度呢不知道,并且这个维度具体的映射关系也可能不清楚。
但是,我们可以直接算这个高维度的内积,而不用管它的映射关系到底是什么样的,进而进行分类任务,分类任务中核函数的重要应用之一就是SVM。
为什么是内积?
这涉及到了SVM(支持向量机)的分类原理:
如上图所示,构建支持向量机只需要知道任意两个样本之间的内积定义,无需知道样本点自身的特征表示。
如果每一个数据点被某种变换: x→ φ(x), 映射到了一个高维空间,则高维空间中的内积变成:φ(xi)*φ(xj)。
内积避开了低维特征在高维特征空间的表示,并且往往计算量合理。
下面是一个例子:
这里重点提及一下:
K
(
x
i
,
x
j
)
\mathrm{K(x_i,~x_j)}
K(xi, xj)才是核函数,
Φ
\text{Φ}
Φ表示低维到高维的映射关系,
Φ
\text{Φ}
Φ具体的映射关系是长什么样不用管,如果你发现一些例子都给出映射关系了,那是给你参考便于理解的,在使用核函数的时候可以不用管它具体干了什么,只关心内积的值。
核函数定义
现在给出核函数定义:
核函数是一个对称函数,对所有的
x
,
y
∈
X
x,y\in X
x,y∈X满足:
k
(
x
,
y
)
=
<
ϕ
(
x
)
,
ϕ
(
y
)
>
k(x,y)=<\phi(x),\phi(y)>
k(x,y)=<ϕ(x),ϕ(y)>
Φ
(
⋅
)
\Phi(\cdot)
Φ(⋅)这里是从X到内积特征空间F 的映射。
常用的核函数有:
k
(
x
i
,
x
j
)
=
(
1
+
x
i
⋅
x
j
)
d
k
(
x
i
,
x
j
)
=
exp
(
−
∥
x
i
−
x
j
∥
2
/
2
σ
2
)
k
(
x
i
,
x
j
)
=
t
a
n
h
(
k
⋅
<
x
,
x
i
>
+
θ
)
\begin{aligned} &k(x_{i},x_{j})=(1+x_{i}\cdot x_{j})^{d} \\ &k(x_{i},x_{j})=\exp(-\left\|x_{i}-x_{j}\right\|^{2}/2\sigma^{2}) \\ &k(x_{i},x_{j})=\mathrm{tanh}(k\cdot<x,x_{i}>+\theta) \end{aligned}
k(xi,xj)=(1+xi⋅xj)dk(xi,xj)=exp(−∥xi−xj∥2/2σ2)k(xi,xj)=tanh(k⋅<x,xi>+θ)
分别是多项式核函数,高斯核函数,sigmod核函数
它的优点:
1. 高维空间线性可分,提高分类精度。
2. 不需要显式的求出从低维→高维的映射函数,只需要求出两个空间中内积的关系函数即可,降低计算量。
应用
在SVM中的应用:
线性SVM通过核函数扩展为非线性SVM
假设经过某种非线性特征映射后原来的非线性可分问题可以通过线性SVM来解决,则在特征空间中的判别函数可以表示为:
利用核函数将非线性问题转化为线性问题的手段和方法称之为核函数方法。
如何选择
既然核函数这么好用,那该如何选择一个核函数呢:
好的核函数能够真实反映样本间的远近关系
问题又来了:如何判断核函数是否真实的反映的样本间的远近关系?
方法
判断核函数是否真实反映了样本间的远近关系可以通过以下几种方法:
距离度量:在高维空间中,可以使用合适的距离度量来衡量样本间的远近关系。如果核函数有效地反映了远近关系,那么同一类别的样本之间的距离应该较小,而不同类别的样本之间的距离应该较大。比如欧式距离。
分类性能:使用支持向量机或其他分类器,通过交叉验证等方法来评估在原始特征空间和核函数映射后的高维空间中的分类性能。如果核函数能够有效地捕捉样本间的远近关系,那么在高维空间中分类器的性能应该更好。
参数调节:对于一些核函数,如RBF核函数,存在一些参数(如),可以通过调节这些参数来改变核函数对样本间远近关系的敏感度。通过调节参数并评估分类性能,可以判断核函数是否真实地反映了样本间的远近关系。
分类
下面是不同核函数的策略和特点,供读者参考:
核函数 | 策略 | 特点 |
---|---|---|
线性核函数 | 数据线性可分时选择 | 计算效率高; 参数少;解释性强;在特征空间较大时可能效果不佳 |
多项式核函数 | 非线性数据,但不需要高维空间 | 可调节多项式阶数; 在阶数较高时可能产生过拟合;需要调节多个参数 |
RBF 核函数 | 非线性数据,需要高维空间 | 高斯形式的非线性映射;在高维空间中表现优秀;对参数敏感,需要谨慎选择和调整 |
Sigmoid 核函数 | 非线性数据,但不需要高维空间 | 常用于神经网络;计算量大,训练时间长 |
自定义核函数 | 特定领域知识 | 可根据问题领域设计 |
具体可参考文章:http://t.csdnimg.cn/baZ3y