之前看SVM核函数相关的问题,总是会碰到再生核希尔伯特空间(Reproducing Kernel Hilbert Space, RKHS)不过一直没有太仔细了解过到底是指的什么,前几天研究了一下。
先来说一下什么是希尔伯特空间。
这个概念听起来高大上,其实是个非常简单的概念。
先说什么是线性空间
线性空间即定义了数乘和加法的空间。这个就是具有线性结构的空间。
有了线性空间的概念之后,因为有数乘和加法,所以空间中可以找到一组基底(Basis)能够通过线性组合得到空间中所有的点。
距离的定义必须满足如下三个条件:
1. d(x,y)≥0;d(x,y)=0 的充要条件是 x=y 即非负性
2. d(x,y)=d(y,x) ;对称性
3. d(x,z)+d(z,y)≥d(x,y) 满足三角不等式。
定义了距离的空间叫度量空间。
定义了距离的线性空间叫线性度量空间
接下来再定义范数 ||x|| ,范数的定义必须满足:
1. ||x||≥0 即非负性
2. ||αx||=|α|||x||
3. ||x||+||y||≥||x+y|| 满足三角不等式
所以范数这个概念,可以看成从零点到 x 的距离,同时比价第二条(2),即数乘可以提取出来。
所以:由范数可以定义距离,即 d(x,y)=||x−y|| ,但是距离不可以定义范数
因为距离的定义,不满足范数的第二条条件
因为
而定义了范数的空间,叫赋范空间和度量空间。另外完备的赋范空间叫巴拿赫空间。
而定义了范数的线性空间,叫赋范线性空间
定义了范数之后,还没有定义角度。那就再来定义角度,所以可以定义内积 <x,y> 如下:
1. 对称性
2. 对第一变元的线性性质,即 <αx,y>=α<x,y>
3. 正定性
另外还要再说一下函数空间的内积。
一个函数可以看成一个无穷维的向量。
将一个函数按照 x 进行采样,可以得到一个函数的表示为一个向量的形式
所以一个函数空间的内积可以定义为:
另外函数空间的概念,还可以从另外一个角度来思考,例如:
1. 泰勒级数展开,可以看成将一个函数用 {xi}∞0 作为基底表示的一个空间
2. 傅立叶级数展开,即将一个函数用三角函数的形式进行无穷维的展开
一个 n 维的的空间,且定义了内积,就叫欧几里德空间(即有线性结构和夹角,垂直,投影这些)。
引入无穷维的空间(一般指函数空间),具有线性结构同时定义了内积,同时还具有完备性的空间就叫希尔伯特空间
比如上面讲的傅立叶变换就是一个希尔伯特空间。
在一般的欧氏空间中,我们可以定义一个 n×n 矩阵的特征值和特征向量。
然后将其推广到
先说定义一个函数空间中无穷维的矩阵 K(x,y)
如何其满足:
1. 正定性,即对于任意的函数 f(x) ,都有
则这个二元函数可以称为核函数
可以证明一个核函数的特征函数之间是正交的
同时原来的核函数也可以分解成为核函数之间相乘的结果:
下面就进入到正题之中。
RKHS是由核函数构成的空间。
其基底为: {λi−−√ψi}∞i=1
所以其中任意函数都可以由基底表示
再来看核函数 K(x,y) 将其中一个元素固定 K(x0,y) ,则其也可以看成一个函数
这个相当于另一种SVM的推导形式了,即先将点映射成为kernel的形式,然后再进行那个最优化的一番推导。
然后也能推出最后跟用svm正常推导,最后把内积替换成为那个形式一样的结果。
详情见参考文献[2][3]都有推导。