从线性空间到再生核希尔伯特空间

点击量:1722

线性空间(Linear Space)

线性空间也就是向量空间(Vector Space),它指的是一系列向量的集合,并且只定义了两个运算:加法和数乘。加法指的是两个向量之间的运算;而数乘指的是实数和向量的相乘(相当于缩放,scale)也就是向量长度的变化。接下来我们以一个10维的向量空间来解释加法和数乘运算:

$$
\vec{v} = (v_1,v_2,…,v_{10}) \\
\vec{w} = (w_1,w_2,…,w_{10}) \\
\vec{v} + \vec{w} =(v_1+w_1,v_2+w_2,…,v_{10}+w_{10}) \\
c \cdot \vec{v} = (c \cdot v_1,c \cdot v_2,…,c \cdot v_{10})
$$

看完这个对什么是线性空间应该一目了然了。

希尔伯特空间(Hilbert Space):

基本的线性空间只包括加法和数乘操作,在此基础上我们引入内积操作,这样就把空间升级为内积空间。根据内积我们可以定义一个范数:\(\left || x \right || = <x,x>\),于是我们就得到了一个赋范向量空间(norm vector space)。

  • 什么是赋范向量空间?

    In mathematics, a normed vector space is a vector space on which a norm is defined.

  • 什么是范数?

    A norm is a function that assigns a strictly positive length or size to each vector in a vector space.

比如,在二维欧式空间中经常被表示为一个向量的长度,但其实严格来说范数并不一定就是指向量的长度,会有很多种定义方法,比如:Manhattan norm,Euclidean norm,p-norm和Absolute-value norm。

有了范数之后我们就可以引入一个度量:\(d(x_1,x_2) = \left || x_1 – x_2 \right ||\)用于计算向量\(x_1\)和\(x_2\)之间的距离。于是我们就得到一个度量空间(metric space)。这个度量空间其实并不用提及,有了范数之后自然就存在了度量空间。如果这样的空间在这个度量下是完备的,那么这个空间叫做 Hilbert Space。简单地来说,Hilbert Space 就是完备的内积空间。

  • 什么是度量空间?

    In mathematics, a metric space is a set for which distances between all members of the set are defined. Those distances, taken together, are called a metric on the set.

  • 那什么是空间的完备性?

    In mathematical analysis, a metric space M is called complete (or a Cauchy space) if every Cauchy sequence of points in M has a limit that is also in M or, alternatively, if every Cauchy sequence in M converges in M.

中文的意思就是:空间中的任何柯西序列都收敛在该空间之内。在数学中,一个柯西列或柯西数列是指这样一个数列,它的元素随着序数的增加而愈发靠近。柯西列的定义依赖于距离的定义,所以只有在度量空间中柯西列才有意义。
一个重要性质是,在完备空间中,所有的柯西数列都有极限且极限在这空间里,这就让人们可以在不求出这个极限(如果存在)的情况下,利用柯西列的判别法则证明该数列的极限是存在的。
一个柯西数列长这样:
cauthy

所以希尔伯特空间定义的流程是:
线性空间(向量空间)–> 内积空间 –> 赋范向量空间 –> 度量空间 –完备的–> 希尔伯特空间
另外,希尔伯特空间是一个函数空间,即空间中每个元素都是一个函数

再生核希尔伯特空间(Reproducing Kernel Hilbert Space, RKHS)

在希尔伯特空间的基础上我们引入再生核希尔伯特空间。首先引入再生核的概念:在一定条件下,我们可以找到一个对应于这个Hilbert Space上的唯一的一个再生核函数\(K\),它满足:

  • 对任意固定\(x_0\)属于\(X\),\(K(x,x_0)\)作为\(x\)的函数属于\(H\);

  • 对任意\(x\)属于\(X\)和\(f(.)\)属于\(H\),有\(f(x) = {<f(.),K(.,x)>_{H}}\)

则称\(K(x,y)\)为\(H\)的再生核,\(H\)是以\(K(x,y)\)为再生核的Hilbert空间,简称再生核Hilbert空间,简记为RKHS(Reproducing Kernel Hilbert Space)。

这个再生性有什么用?

首先,我们令\(f(\cdot) = K(\cdot,y)\),这样根据再生性\(f(x) = {<f(.),K(.,x)>_{H}}\)我们可以得到:

$$
f(x) = K(x,y) = {<K(.,y),K(.,x)>_{H}}
$$

然后,我们把映射\(\phi\)定义为:

$$
\phi(x) = K(\cdot,x)
$$

最后,我们有:
$$
K(x_1,x_2) = <K(\cdot,x_1),K(\cdot,x_2)> = <\phi(x_1),\phi(x_2)>
$$

咦,这个看起来怎么这么眼熟呢?其实就是上文提到的kernel trick,所谓的“核技巧”。

这里顺便说两个定理:

  • 一个希尔伯特空间\(H\)是一个再生核希尔伯特空间,当且仅当它有一个再生核;
  • 对于给定的希尔伯特空间,再生核是唯一的。

这些概念理解起来比较绕,总之,你可以简单认为:我们使用“核技巧”把一组数据映射到一个高维空间,这个空间就是一个可再生核希尔伯特空间。

参考:
支持向量机:Kernel II
再生核希尔伯特空间-Heiming’s Blog
再生核希尔伯特空间(RKHS)和核函数

从线性空间到再生核希尔伯特空间》上有1条评论

  1. f

    感谢作者,写的清晰明了简单易懂。我有个疑问,根据再生性:对任意x属于X和f(.)属于H,有f(x)=为什么得到的是K(x1,x2)=,难道不应该是K(x2,x1)=吗?

    回复

f进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注