和函数常用公式 核函数( 三 )


先考虑一个简单的例子:
现在有两个二维空间中的数据点x=(x1,x2)'''和y=(y1,y2)''' , 考虑下面这个二元函数:
把x,y代表(9)式 , 解之得:
你会发现 , 最后的函数值竟然等于两个向量p和q的内积 , 而且两个向量分别是二维空间数据点x和y在三维空间中的映射!想到刚才定义的核函数 , 我们很容易想到 , f(x,y)就是一个核函数 。它给出了一个二维的表达式 , 使得x,y代入即可求值 , 而不再需要先把x,y映射成3维空间中的向量p,q , 再求内积 。
这也正是我们定义核函数的目的 , 即 虽然没有显式地给出原空间中向量的映射函数 , 但却达到了可以在原空间中计算映射后的向量内积的目的!
回到我们刚才讨论的问题 , 对于(8)式 , 假设我不知道这个5维的映射是啥 , 但我要求映射后向量的内积 , 所以我要构造一个核函数K(x,xi)来代替映射后向量的内积 , 即可得到下面的决策分类面:
那么问题来了:
有几个经典的核函数可供选用 , 如:多项式核函数 , 高斯核函数等 。当然你也可以自己构造核函数 , 但也不是任意一个函数就可以当做核函数的 , 需要满足Mercer条件(有兴趣的童鞋可以自己研究一下) 。
我没专门研究过 , 我也不知道自己构造的核函数一定能把数据点在高维空间中线性地分开 。但是你可以选择上面提到的常用的核函数 , 选择合适的参数 , 就能使得原空间中的数据点在高维空间中变得线性可分 。至于为什么 , 我是这样理解的:
常用的核函数把原空间的数据映射到了高维空间中 , 使得数据变得“更容易”线性可分 , 考虑下图所示的例子:
二维空间中的点只能用非线性的超平面才能分开 , 但把数据映射到高维空间中 , 就可以用一个线性的平面给分开了 。虽然更高维的画面无法脑补 , 但是可以参考我们在文章开始举的椭圆方程的例子 。即 空间的维度越高 , 数据越容易线性可分 。
总结一下:
核函数有哪些核函数包括线性核函数、多项式核函数、高斯核函数等 , 其中高斯核函数最常用 , 可以将数据映射到无穷维 , 也叫做径向基函数(Radial Basis Function 简称 RBF) , 是某种沿径向对称的标量函数 。[1] 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||) ,  其作用往往是局部的 , 即当x远离xc时函数取值很小 。
分类
核函数的选择要求满足Mercer定理(Mercer's theorem) , 即核函数在样本空间内的任意格拉姆矩阵(Gram matrix)为半正定矩阵(semi-positive definite) 。常用的核函数有:线性核函数 , 多项式核函数 , 径向基核函数 , Sigmoid核函数和复合核函数 , 傅立叶级数核 , B样条核函数和张量积核函数等[2]。
平稳和各向同性核函数
具有平稳性(stationarity)的核函数仅是特征空间下样本间向量的函数 , 对指数集的平移变换保持不变(translation invariant) 。若样本的协方差与其向量的方向无关 , 即仅与距离有关 , 则可使用具有各向同性(isotropy)的核函数 。很多核函数同时满足平稳性和各向同性 , 这里给出其常见例子[3] :
1. 径向基函数核(RBF kernel)
式中 , 为RBF核的超参数 , 定义了学习样本间相似性的特征长度尺度(characteristic length-scale) , 即权重空间视角下特征空间映射前后样本间距离的比例[3]。
2. 马顿核(Matérn kernel)
式中为核函数的超参数 , 为修正贝塞尔函数(modified Bessel function) 。由修正贝塞尔函数的定义可知 , 马顿核是指数函数与多项式函数的乘积 , 其可导性 , 或平滑程度与有关 , 的常见选择为1.5和2.5 。当时 , 马顿核等价于以为特征尺度的RBF核[3]。
3. 指数函数核(exponential kernel)
指数函数核是马顿核在的特殊形式 , 通常对应奥恩斯坦-乌伦贝克过程(Ornstein-Uhlenbeck Process, OU) 。OU过程是一个连续但不平滑(均方不可导)的随机过程 。其对应的数学模型是维纳过程(Wiener process)下质点运动的速度[3]。

秒懂生活扩展阅读