100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 再生核希尔伯特空间(RKHS)和核函数

再生核希尔伯特空间(RKHS)和核函数

时间:2024-02-07 02:33:32

相关推荐

再生核希尔伯特空间(RKHS)和核函数

之前看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||=d(0,x)

||αx||=d(0,ax)≠|α|||x||

举一个例子:d(x,y)=∑(xi−yi)2−−−−−−−−−−√1+∑(xi−yi)2−−−−−−−−−−√

这个满足距离定义,但是不满足范数定义。所以范数是比距离更具体的一个东西

而定义了范数的空间,叫赋范空间和度量空间。另外完备的赋范空间叫巴拿赫空间。

而定义了范数的线性空间,叫赋范线性空间

希尔伯特空间

定义了范数之后,还没有定义角度。那就再来定义角度,所以可以定义内积<x,y><script type="math/tex" id="MathJax-Element-4639"></script>如下:

1. 对称性

2. 对第一变元的线性性质,即<αx,y>=α<x,y><script type="math/tex" id="MathJax-Element-4640"><\alpha x,y> = \alpha< x,y></script>

3. 正定性

另外还要再说一下函数空间的内积。

一个函数可以看成一个无穷维的向量

将一个函数按照x进行采样,可以得到一个函数的表示为一个向量的形式

(f(x0),f(x1),f(x2),⋯,f(xn))

如果采样的间隔变得无穷的小,则这个函数就可以表示为一个无穷维的向量。

所以一个函数空间的内积可以定义为:

<f,g>=∫f(x)g(x)dx<script type="math/tex; mode=display" id="MathJax-Element-4643">= \int f(x)g(x)dx</script>

由内积可以导出范数,但是范数不可以导出内积。因为可以定义||x||2=<x,x>

另外函数空间的概念,还可以从另外一个角度来思考,例如:

1. 泰勒级数展开,可以看成将一个函数用{xi}∞0 作为基底表示的一个空间

2. 傅立叶级数展开,即将一个函数用三角函数的形式进行无穷维的展开

一个n维的的空间,且定义了内积,就叫欧几里德空间(即有线性结构和夹角,垂直,投影这些)。

引入无穷维的空间(一般指函数空间),具有线性结构同时定义了内积,同时还具有完备性的空间就叫希尔伯特空间

比如上面讲的傅立叶变换就是一个希尔伯特空间。

核函数

在一般的欧氏空间中,我们可以定义一个n×n矩阵的特征值和特征向量。

Ax=λx

当一个矩阵可以进行特征值分解的时候,其特征向量构成了这个n维空间的一组基底

然后将其推广到

先说定义一个函数空间中无穷维的矩阵K(x,y)

如何其满足:

1. 正定性,即对于任意的函数f(x),都有∫∫f(x)K(x,y)f(y)dxdy≥0

2. 对称性,即K(x,y)=K(y,x)

∫K(x,y)ψ(x)dx=λψ(y)

则这个二元函数可以称为核函数

可以证明一个核函数的特征函数之间是正交的

<ψ1,ψ2>=∫ψ1(x)ψ2(x)dx=0<script type="math/tex; mode=display" id="MathJax-Element-5791">< \psi_1, \psi_2 > = \int \psi_1(\mathbf{x}) \psi_2(\mathbf{x}) d\mathbf{x} = 0</script>

所以{ψi}∞i=1是原来函数空间之中的一组基底

同时原来的核函数也可以分解成为核函数之间相乘的结果:

K(x,y)=∑i=0∞λiψi(x)ψi(y)

再生核希尔伯特空间

下面就进入到正题之中。

RKHS是由核函数构成的空间。

其基底为:{λi−−√ψi}∞i=1

所以其中任意函数都可以由基底表示

f=∑i=1∞fiλi−−√ψi选出其中的两个函数,按照坐标表示如下:

f=(f1,f2,...)TH和g=(g1,g2,...)TH

所以其内积为:

<f,g>H=∑i=1∞figi<script type="math/tex; mode=display" id="MathJax-Element-7650">< f,g >_\mathcal{H} = \sum_{i=1}^{\infty} f_i g_i</script>

再来看核函数K(x,y)将其中一个元素固定K(x0,y),则其也可以看成一个函数

K(x0,y)=∑i=0∞λiψi(x)ψi

化成向量坐标表示形式:

K(x0,y)=(λ1−−√ψ1(x),λ2−−√ψ2(x),⋯)TH

所以计算内积:

<K(x0,y),K(y0,x)>H=∑i=0∞λiψi(x0)ψi(y0)=K(x0,y0)<script type="math/tex; mode=display" id="MathJax-Element-7655">< K(\mathbf{x_0},\mathbf{y}), K(\mathbf{y_0},\mathbf{x}) >_\mathcal{H} = \sum_{i=0}^{\infty} \lambda_i \psi_i (\mathbf{x_0}) \psi_i(\mathbf{y_0}) = K(\mathbf{x_0},\mathbf{y_0})</script>

上面这个性质就叫做再生性(reproducing property),所以这个空间才叫做再生核希尔伯特空间。

这个性质是非常好的,因为这样看,原本函数之间计算内积需要算无穷维的积分的,但是现在只需要算核函数就好了。

所以定义一个点的映射一个点x给其映射到一个无穷维的特征空间【即先将这个点变成一个函数,而这个函数可以看成一个无穷维的特征空间】:

Φ(x)=K(x,⋅)=(λ1−−√ψ1(x),λ2−−√ψ2(x),⋯)T

得到两个特征空间上的内积为:

<Φ(x),Φ(y)>H=<K(x,⋅),K(y,⋅)>H=K(x,y)<script type="math/tex; mode=display" id="MathJax-Element-7658">< \boldsymbol{\Phi} (\mathbf{x}), \boldsymbol{\Phi} (\mathbf{y}) >_\mathcal{H} = < K(\mathbf{x},\cdot), K(\mathbf{y},\cdot) >_\mathcal{H} = K(\mathbf{x},\mathbf{y})</script>

这就是kernel trick

SVM的kernel形式推导

这个相当于另一种SVM的推导形式了,即先将点映射成为kernel的形式,然后再进行那个最优化的一番推导。

然后也能推出最后跟用svm正常推导,最后把内积替换成为那个形式一样的结果。

详情见参考文献[2][3]都有推导。

参考资料

函数空间这个是上交的一个公开课:数学之旅的其中一讲。整个系列讲的都非常的不错,通过通俗的方式讲解了数学中许多高深的概念。A Story of Basis and Kernel - Part II: Reproducing Kernel Hilbert Space这个是一个中国人写的英文博客,但是它的的英文水平非常之高,读起来通俗易懂。这一篇的前一篇是讲函数空间的,也非常好,建议看一下。支持向量机:Kernel II这篇讲支持向量机的,讲的也不错。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。