浅谈高斯过程(Gaussian Process)与再生核希尔伯特空间(RKHS)
1. 再生核希尔伯特空间的源头
从一定程度上来说,核技巧(Kernel Trick) 的灵感可以追溯到像XOR问题这样的非线性可分问题。这类问题需要通过将输入数据映射到一个更高维的空间,使得在新空间中可以找到线性分类器。
1.1 背景:XOR问题
XOR问题是一个经典的例子:
XOR问题是一个经典的例子:
-输入是二元值,例如
(
0
,
0
)
→
0
(0,0) \rightarrow 0
(0,0)→0 ,
(
0
,
1
)
→
1
(0,1) \rightarrow 1
(0,1)→1 ,
(
1
,
0
)
→
1
(1,0) \rightarrow 1
(1,0)→1 ,
(
1
,
1
)
→
0
(1,1) \rightarrow 0
(1,1)→0 。
-在二维平面上,这些点是非线性可分的,没有一条直线能够将两类数据分开。
图1: 异或问题与非线i性映射(图源:[1])
对这样的问题,如图1所示,可以将样本从原始空间映射到-个更高维的特征空间,使得样本在这个特征空间内线性可分。若将原始的二维空间映射到一个合适的三维空间,就能找到一个合适的划分超平面。
令 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x) 可以认为是特征向量的基函数扩展,表示将 x \boldsymbol{x} x 映射后的特征向量。于是,在特征空间中划分超平面所对应的模型可表示为
f ( x ) = w T ϕ ( x ) + b f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b f(x)=wTϕ(x)+b
其中 w \boldsymbol{w} w 和 b b b 是模型参数.类似式(6.6),有
min w , b 1 2 ∥ w ∥ 2 s.t. y i ( w T ϕ ( x i ) + b ) ⩾ 1 , i = 1 , 2 , … , m \begin{array}{ll} \min _{\boldsymbol{w}, b} & \frac{1}{2}\|\boldsymbol{w}\|^2 \\ \text { s.t. } & y_i\left(\boldsymbol{w}^{\mathrm{T}} \phi\left(\boldsymbol{x}_i\right)+b\right) \geqslant 1, \quad i=1,2, \ldots, m \end{array} minw,b s.t. 21∥w∥2yi(wTϕ(xi)+b)⩾1,i=1,2,…,m
其对偶问题是
公式1.1 max α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) \max _\alpha \sum_{i=1}^m \alpha_i-\frac{1}{2} \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j \phi\left(\boldsymbol{x}_i\right)^{\mathrm{T}} \phi\left(\boldsymbol{x}_j\right) αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjϕ(xi)Tϕ(xj)
s.t.
∑
i
=
1
m
α
i
y
i
=
0
α
i
⩾
0
,
i
=
1
,
2
,
…
,
m
\begin{array}{ll} \text { s.t. } & \sum_{i=1}^m \alpha_i y_i=0 \\ & \alpha_i \geqslant 0, \quad i=1,2, \ldots, m \end{array}
s.t. ∑i=1mαiyi=0αi⩾0,i=1,2,…,m
求解上式涉及到计算
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\phi\left(\boldsymbol{x}_i\right)^{\mathrm{T}} \phi\left(\boldsymbol{x}_j\right)
ϕ(xi)Tϕ(xj) ,这是样本
x
i
\boldsymbol{x}_i
xi 与
x
j
\boldsymbol{x}_j
xj 映射到特征空间之后的内积。由于特征空间维数可能很高,甚至可能是无穷维,因此直接计算
ϕ
(
x
i
)
T
ϕ
(
x
j
)
\phi\left(\boldsymbol{x}_i\right)^{\mathrm{T}} \phi\left(\boldsymbol{x}_j\right)
ϕ(xi)Tϕ(xj) 通常是困难的.为了避开这个障碍,可以设想这样一个函数:
κ ( x i , x j ) = ⟨ ϕ ( x i ) , ϕ ( x j ) ⟩ = ϕ ( x i ) T ϕ ( x j ) \kappa\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right)=\left\langle\phi\left(\boldsymbol{x}_i\right), \phi\left(\boldsymbol{x}_j\right)\right\rangle=\phi\left(\boldsymbol{x}_i\right)^{\mathrm{T}} \phi\left(\boldsymbol{x}_j\right) κ(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩=ϕ(xi)Tϕ(xj)
即,向量 x i \boldsymbol{x}_i xi 与 x j \boldsymbol{x}_j xj 在特征空间中的内积等于它们在原始样本空间中通过核函数 κ ( ⋅ , ⋅ ) \kappa(\cdot, \cdot) κ(⋅,⋅) 计算所得的结果。有了这样的核函数,我们就无需直接计算高维甚至可能是无穷维特征空间中的内积,从而大大简化了计算过程,这称为"核技巧" (kernel trick) [1]。 ϕ ( x ) \phi(x) ϕ(x)则可以称为核基函数/基函数,是核函数的隐式特征表示。对于某些核函数(如线性核或多项式核),核基函数可以显式写出,对于某些核函数(如RBF核),核基函数可能是无穷维的,因此通常不显式构造特征映射,而是直接使用核函数计算。
于是式1.1可重写为
max α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j κ ( x i , x j ) s.t. ∑ i = 1 m α i y i = 0 α i ⩾ 0 , i = 1 , 2 , … , m \begin{aligned} \max _{\boldsymbol{\alpha}} & \sum_{i=1}^m \alpha_i-\frac{1}{2} \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j \kappa\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \\ \text { s.t. } & \sum_{i=1}^m \alpha_i y_i=0 \\ & \alpha_i \geqslant 0, \quad i=1,2, \ldots, m \end{aligned} αmax s.t. i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjκ(xi,xj)i=1∑mαiyi=0αi⩾0,i=1,2,…,m
求解后即可得到
公式1.2
f
(
x
)
=
w
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
ϕ
(
x
i
)
T
ϕ
(
x
)
+
b
=
∑
i
=
1
m
α
i
y
i
κ
(
x
,
x
i
)
+
b
.
\begin{aligned} f(\boldsymbol{x}) & =\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b \\ & =\sum_{i=1}^m \alpha_i y_i \phi\left(\boldsymbol{x}_i\right)^{\mathrm{T}} \phi(\boldsymbol{x})+b \\ & =\sum_{i=1}^m \alpha_i y_i \kappa\left(\boldsymbol{x}, \boldsymbol{x}_i\right)+b . \end{aligned}
f(x)=wTϕ(x)+b=i=1∑mαiyiϕ(xi)Tϕ(x)+b=i=1∑mαiyiκ(x,xi)+b.
这里的函数
κ
(
⋅
,
⋅
)
\kappa(\cdot, \cdot)
κ(⋅,⋅) 就是"核函数"(kernel function)。式1.2显示出模型最优解可通过训练样本的核函数展开,这一展式亦称"支持向量展式"(support vector expansion).
显然,若已知合适映射 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅) 的具体形式,则可写出核函数 κ ( ⋅ , ⋅ ) \kappa(\cdot, \cdot) κ(⋅,⋅) .但在现实任务中我们通常不知道 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅) 是什么形式。这方面有一些基本的经验,例如对文本数据通常采用线性核,情况不明时可先尝试高斯核 [1]。
1.2 再生核希尔伯特空间RKHS
所有的核函数对应的空间都是再生核希尔伯特空间(RKHS)吗?答案是否定的,核函数的定义如下:
[定理1.1]
(核函数)令
X
\mathcal{X}
X 为输入空间,
κ
(
⋅
,
⋅
)
\kappa(\cdot, \cdot)
κ(⋅,⋅) 是定义在
X
×
X
\mathcal{X} \times \mathcal{X}
X×X 上的对称函数,则
κ
\kappa
κ 是核函数当且仅当对于任意数据
D
=
{
x
1
,
x
2
,
…
,
x
m
}
D=\left\{x_1, x_2, \ldots, x_m\right\}
D={x1,x2,…,xm} ,"核矩阵"(kernel matrix)K 总是半正定的:
K = [ κ ( x 1 , x 1 ) ⋯ κ ( x 1 , x j ) ⋯ κ ( x 1 , x m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x i , x 1 ) ⋯ κ ( x i , x j ) ⋯ κ ( x i , x m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x m , x 1 ) ⋯ κ ( x m , x j ) ⋯ κ ( x m , x m ) ] \mathbf{K}=\left[\begin{array}{ccccc} \kappa\left(\boldsymbol{x}_1, \boldsymbol{x}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_1, \boldsymbol{x}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_1, \boldsymbol{x}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}_i, \boldsymbol{x}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_i, \boldsymbol{x}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}_m, \boldsymbol{x}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_m, \boldsymbol{x}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_m, \boldsymbol{x}_m\right) \end{array}\right] K= κ(x1,x1)⋮κ(xi,x1)⋮κ(xm,x1)⋯⋱⋯⋱⋯κ(x1,xj)⋮κ(xi,xj)⋮κ(xm,xj)⋯⋱⋯⋱⋯κ(x1,xm)⋮κ(xi,xm)⋮κ(xm,xm) [1]
定理1.1表明,只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用.事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射 ϕ \phi ϕ .换言之,任何一个核函数都隐式地定义了一个称为"再生核希尔伯特空间"(Reproducing Kernel Hilbert Space,简称 RKHS)的特征空间.
定理1.1定义了有效的核函数,因此有效的核函数构成的空间是再生核希尔伯特空间。常见的有效的核函数有:
- Gaussian Kernel κ ( x , x ′ ) = exp ( − ∥ x − x ′ ∥ 2 2 σ 2 ) \kappa\left(x, x^{\prime}\right)=\exp \left(-\frac{\left\|x-x^{\prime}\right\|^2}{2 \sigma^2}\right) κ(x,x′)=exp(−2σ2∥x−x′∥2)
- Polynomial Kernel κ ( x , x ′ ) = ( x T x ′ + c ) d \kappa\left(x, x^{\prime}\right)=\left(x^T x^{\prime}+c\right)^d κ(x,x′)=(xTx′+c)d
- Linear Kernel κ ( x , x ′ ) = x T x ′ \kappa\left(x, x^{\prime}\right)=x^T x^{\prime} κ(x,x′)=xTx′
除了有效的核函数之外,有一些研究尝试放宽核函数的条件,例如允许其核矩阵不是严格的半正定。这些函数在某些上下文中可能被称为“核函数”,但它们对应的不是传统意义上的 RKHS。比如:
- Sigmoid Kernel κ ( x , x ′ ) = tanh ( α x T x ′ + c ) \kappa\left(x, x^{\prime}\right)=\tanh \left(\alpha x^T x^{\prime}+c\right) κ(x,x′)=tanh(αxTx′+c)
- Exponential Kernel κ ( x , x ′ ) = exp ( − ∣ x − x ′ ∣ ) \kappa\left(x, x^{\prime}\right)=\exp \left(-\left|x-x^{\prime}\right|\right) κ(x,x′)=exp(−∣x−x′∣)
- Heaviside Step Function H ( x , x ′ ) = 1 if x ≥ x ′ ; 0 otherwise H\left(x, x^{\prime}\right)=1 \text { if } x \geq x^{\prime} ; 0 \text { otherwise } H(x,x′)=1 if x≥x′;0 otherwise
1.3 Mercer定理
Mercer定理:
假设
K
K
K 是一个连续的,对称的,正定的核函数。则在区间
[
a
,
b
]
[a, b]
[a,b] 上的平方可积函数空间
L
2
[
a
,
b
]
L^2[a, b]
L2[a,b]中,存在一组由算子
T
K
T_K
TK 的特征函数组成的正交归一基
{
e
i
}
i
\left\{e_i\right\}_i
{ei}i ,使得相应的特征值序列
{
λ
j
}
j
\left\{\lambda_j\right\}_j
{λj}j 是非负的。
与非零特征值对应的特征函数在区间
[
a
,
b
]
[a, b]
[a,b] 上是连续的,核函数
K
K
K 可以表示为:
K ( s , t ) = ∑ j = 1 ∞ λ j e j ( s ) e j ( t ) K(s, t)=\sum_{j=1}^{\infty} \lambda_j e_j(s) e_j(t) K(s,t)=j=1∑∞λjej(s)ej(t)
其中,该级数的收敛是绝对且一致的。
(原文[2]:
Mercer’s theorem:
Suppose
K
K
K is a continuous symmetric positive-definite kernel. Then there is an orthonormal basis
{
e
i
}
i
\left\{e_{\mathrm{i}}\right\}_i
{ei}i
of L 2 [ a , b ] L^2[a, b] L2[a,b] consisting of eigenfunctions of T K T_K TK such that the corresponding sequence of eigenvalues { λ j } i \left\{\lambda_j\right\}_{i} {λj}i is nonnegative. The eigenfunctions corresponding to non-zero eigenvalues are continuous on [ a , b ] [a, b] [a,b] and K K K has the representation
K ( s , t ) = ∑ j = 1 ∞ λ j e j ( s ) e j ( t ) K(s, t)=\sum_{j=1}^{\infty} \lambda_j e_j(s) e_j(t) K(s,t)=j=1∑∞λjej(s)ej(t)
where the convergence is absolute and uniform.)
注意:这里条件是矩阵是正定的,也有一些版本的条件是矩阵为半正定的,如参考文献[3]。
2. 高斯过程(Gaussian Processes, GP)
2.1 定义
一个随机过程
f
(
x
)
:
x
∈
X
{f(x) : x \in \mathcal{X}}
f(x):x∈X 是一个高斯过程,如果对于任何有限集合
x
1
,
x
2
,
…
,
x
n
⊆
X
{x_1, x_2, \ldots, x_n} \subseteq \mathcal{X}
x1,x2,…,xn⊆X,函数值的集合
f
(
x
1
)
,
f
(
x
2
)
,
…
,
f
(
x
n
)
{f(x_1), f(x_2), \ldots, f(x_n)}
f(x1),f(x2),…,f(xn)服从多元高斯分布:
f
(
x
)
∼
G
P
(
m
(
x
)
,
k
(
x
,
x
′
)
)
f(x) \sim \mathcal{G P}\left(m(x), k\left(x, x^{\prime}\right)\right)
f(x)∼GP(m(x),k(x,x′))
其中:
- 均值函数 m ( x ) m(x) m(x) :定义了函数在每个输入 x x x 上的期望值,
m ( x ) = E [ f ( x ) ] m(x)=\mathbb{E}[f(x)] m(x)=E[f(x)]
- 协方差函数(核函数)
k
(
x
,
x
′
)
k(x, x')
k(x,x′) :定义了任意两个点
x
,
x
′
x, x'
x,x′ 之间的相关性,
κ ( x , x ′ ) = E [ ( f ( x ) − m ( x ) ) ( f ( x ′ ) − m ( x ′ ) ) ] \kappa\left(x, x^{\prime}\right)=\mathbb{E}\left[(f(x)-m(x))\left(f\left(x^{\prime}\right)-m\left(x^{\prime}\right)\right)\right] κ(x,x′)=E[(f(x)−m(x))(f(x′)−m(x′))]
高斯过程用 G P ( m ( x ) , k ( x , x ′ ) ) \mathcal{GP}(m(x), k(x, x')) GP(m(x),k(x,x′)) 来完全刻画一个随机函数的分布。
2.2 核函数和基函数
2.2.1 核函数
高斯过程的协方差函数叫做核函数,因此核函数 k ( x , x ′ ) k(x, x') k(x,x′) 是高斯过程的关键部分,它决定了函数值的光滑性、复杂性和相关性。常用的核函数包括:
1.线性核:
k ( x , x ′ ) = x ⊤ x ′ k\left(x, x^{\prime}\right)=x^{\top} x^{\prime} k(x,x′)=x⊤x′
-描述线性关系。
2.径向基核(RBF 核):
k ( x , x ′ ) = exp ( − ∥ x − x ′ ∥ 2 2 l 2 ) k\left(x, x^{\prime}\right)=\exp \left(-\frac{\left\|x-x^{\prime}\right\|^2}{2 l^2}\right) k(x,x′)=exp(−2l2∥x−x′∥2)
-是最常用的核函数之一,定义了平滑函数的相关性。
3.多项式核:
k ( x , x ′ ) = ( x ⊤ x ′ + c ) d k\left(x, x^{\prime}\right)=\left(x^{\top} x^{\prime}+c\right)^d k(x,x′)=(x⊤x′+c)d
-用于高阶相关性的建模。
4.Matérn 核:
k ( x , x ′ ) = 2 1 − ν Γ ( ν ) ( 2 ν ∥ x − x ′ ∥ l ) ν K ν ( 2 ν ∥ x − x ′ ∥ l ) k\left(x, x^{\prime}\right)=\frac{2^{1-\nu}}{\Gamma(\nu)}\left(\frac{\sqrt{2 \nu}\left\|x-x^{\prime}\right\|}{l}\right)^\nu K_\nu\left(\frac{\sqrt{2 \nu}\left\|x-x^{\prime}\right\|}{l}\right) k(x,x′)=Γ(ν)21−ν(l2ν∥x−x′∥)νKν(l2ν∥x−x′∥)
-其中
ν
\nu
ν 控制函数的平滑性,
K
ν
K_\nu
Kν是修正的贝塞尔函数。
-是 RBF 核的广义版本。
2.2.2 基函数
高斯过程中的核函数隐式地定义了基函数空间,而不是显式地计算基函数。不同核函数对应不同类型的特征映射:
- 简单核函数(如线性核、多项式核)对应有限维基函数空间。
- 复杂核函数(如 RBF 核、Matérn 核)对应无限维的基函数空间。
另一个角度,如章节1.1所讲,对于高斯过程的基函数,也可以认为是 f ( x ) = w T ϕ ( x ) + b f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b f(x)=wTϕ(x)+b中的 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x)。假设高斯过程已知一些列输入 x ′ \boldsymbol{x'} x′ (长度为 m m m)和对应的输出 f ( x ′ ) f(\boldsymbol{x}') f(x′),能否把 f ( x ) f(\boldsymbol{x}) f(x)表示为 f ( x ) = w T ϕ ( x ) + b f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b f(x)=wTϕ(x)+b中的 ϕ ( x ) \phi(\boldsymbol{x}) ϕ(x)的形式呢?答案是可以的。
考虑新的输入序列 x \boldsymbol{x} x(长度为 n n n),求解对应的 f ( x ) f(\boldsymbol{x}) f(x)如下:
cov ( f ( x ) , f ( x ′ ) ) = [ κ ( x 1 , x ′ 1 ) ⋯ κ ( x 1 , x ′ j ) ⋯ κ ( x 1 , x ′ m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x i , x ′ 1 ) ⋯ κ ( x i , x ′ j ) ⋯ κ ( x i , x ′ m ) ⋮ ⋱ ⋮ ⋱ ⋮ κ ( x n , x ′ 1 ) ⋯ κ ( x n , x ′ j ) ⋯ κ ( x n , x ′ m ) ] \text{cov}(f(\boldsymbol{x}), f(\boldsymbol{x}'))=\left[\begin{array}{ccccc} \kappa\left(\boldsymbol{x}_1, \boldsymbol{x'}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_1, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_1, \boldsymbol{x'}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}_i, \boldsymbol{x'}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_i, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_i, \boldsymbol{x'}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}_n, \boldsymbol{x'}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_n, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_n, \boldsymbol{x'}_m\right) \end{array}\right] cov(f(x),f(x′))= κ(x1,x′1)⋮κ(xi,x′1)⋮κ(xn,x′1)⋯⋱⋯⋱⋯κ(x1,x′j)⋮κ(xi,x′j)⋮κ(xn,x′j)⋯⋱⋯⋱⋯κ(x1,x′m)⋮κ(xi,x′m)⋮κ(xn,x′m)
而
cov
(
f
(
x
′
)
,
f
(
x
′
)
)
=
[
κ
(
x
1
′
,
x
1
′
)
⋯
κ
(
x
1
′
,
x
j
′
)
⋯
κ
(
x
1
′
,
x
m
′
)
⋮
⋱
⋮
⋱
⋮
κ
(
x
i
′
,
x
1
′
)
⋯
κ
(
x
i
′
,
x
j
′
)
⋯
κ
(
x
i
′
,
x
′
m
)
⋮
⋱
⋮
⋱
⋮
κ
(
x
m
′
,
x
1
′
)
⋯
κ
(
x
m
′
,
x
′
j
)
⋯
κ
(
x
m
′
,
x
′
m
)
]
+
σ
y
2
I
m
\text{cov}(f(\boldsymbol{x}'), f(\boldsymbol{x}'))=\left[\begin{array}{ccccc} \kappa\left(\boldsymbol{x}'_1, \boldsymbol{x}'_1\right) & \cdots & \kappa\left(\boldsymbol{x}'_1, \boldsymbol{x}'_j\right) & \cdots & \kappa\left(\boldsymbol{x}'_1, \boldsymbol{x}'_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}'_i, \boldsymbol{x}'_1\right) & \cdots & \kappa\left(\boldsymbol{x}'_i, \boldsymbol{x}'_j\right) & \cdots & \kappa\left(\boldsymbol{x}'_i, \boldsymbol{x'}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}'_m, \boldsymbol{x}'_1\right) & \cdots & \kappa\left(\boldsymbol{x}'_m, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}'_m, \boldsymbol{x'}_m\right) \end{array}\right]+\sigma_y^2 \mathbf{I}_m
cov(f(x′),f(x′))=
κ(x1′,x1′)⋮κ(xi′,x1′)⋮κ(xm′,x1′)⋯⋱⋯⋱⋯κ(x1′,xj′)⋮κ(xi′,xj′)⋮κ(xm′,x′j)⋯⋱⋯⋱⋯κ(x1′,xm′)⋮κ(xi′,x′m)⋮κ(xm′,x′m)
+σy2Im
因此,得到最终结果
公式2.1
f
(
x
)
=
cov
(
f
(
x
)
,
f
(
x
′
)
)
cov
(
f
(
x
′
)
,
f
(
x
′
)
)
−
1
f
(
x
′
)
f(x) = \text{cov}(f(\boldsymbol{x}), f(\boldsymbol{x}'))\quad\text{cov}(f(\boldsymbol{x}'), f(\boldsymbol{x}'))^{-1}\quad f(\boldsymbol{x}')
f(x)=cov(f(x),f(x′))cov(f(x′),f(x′))−1f(x′)
[
κ
(
x
1
,
x
′
1
)
⋯
κ
(
x
1
,
x
′
j
)
⋯
κ
(
x
1
,
x
′
m
)
⋮
⋱
⋮
⋱
⋮
κ
(
x
i
,
x
′
1
)
⋯
κ
(
x
i
,
x
′
j
)
⋯
κ
(
x
i
,
x
′
m
)
⋮
⋱
⋮
⋱
⋮
κ
(
x
n
,
x
′
1
)
⋯
κ
(
x
n
,
x
′
j
)
⋯
κ
(
x
n
,
x
′
m
)
]
cov
(
f
(
x
′
)
,
f
(
x
′
)
)
−
1
f
(
x
′
)
\left[\begin{array}{ccccc} \kappa\left(\boldsymbol{x}_1, \boldsymbol{x'}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_1, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_1, \boldsymbol{x'}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}_i, \boldsymbol{x'}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_i, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_i, \boldsymbol{x'}_m\right) \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ \kappa\left(\boldsymbol{x}_n, \boldsymbol{x'}_1\right) & \cdots & \kappa\left(\boldsymbol{x}_n, \boldsymbol{x'}_j\right) & \cdots & \kappa\left(\boldsymbol{x}_n, \boldsymbol{x'}_m\right) \end{array}\right]\text{cov}(f(\boldsymbol{x}'), f(\boldsymbol{x}'))^{-1}f(\boldsymbol{x}')
κ(x1,x′1)⋮κ(xi,x′1)⋮κ(xn,x′1)⋯⋱⋯⋱⋯κ(x1,x′j)⋮κ(xi,x′j)⋮κ(xn,x′j)⋯⋱⋯⋱⋯κ(x1,x′m)⋮κ(xi,x′m)⋮κ(xn,x′m)
cov(f(x′),f(x′))−1f(x′)
最终可知基函数可以认为是
κ
(
⋅
,
x
i
′
)
,
i
=
1
,
2
,
3
,
…
,
m
\kappa(\cdot, x'_i),i =1,2,3,\ldots, m
κ(⋅,xi′),i=1,2,3,…,m。笔者认为这里的
κ
(
x
i
,
⋅
)
\kappa (x_i,\cdot)
κ(xi,⋅),也就是固定了一个变量的核函数,可以认为是一种特殊的基函数。
2.3 从RKHS看高斯过程(主要参考[4])
2.3.1 背景
2.3.1.1函数的范数
Mercer定理表明,任何正定核函数都可以用特征函数表示为:
κ
(
x
,
x
′
)
=
∑
i
=
1
∞
λ
i
ϕ
i
(
x
)
ϕ
i
(
x
′
)
\kappa\left(\mathbf{x}, \mathbf{x}^{\prime}\right)=\sum_{i=1}^{\infty} \lambda_i \phi_i(\mathbf{x}) \phi_i\left(\mathbf{x}^{\prime}\right)
κ(x,x′)=i=1∑∞λiϕi(x)ϕi(x′)
其中,
ϕ
i
\phi_i
ϕi 组成一个函数空间的正交归一基:
H
k
=
{
f
:
f
(
x
)
=
∑
i
=
1
∞
f
i
ϕ
i
(
x
)
,
∑
i
=
1
∞
f
i
2
λ
i
<
∞
}
\mathcal{H}_k=\left\{f: f(\mathbf{x})=\sum_{i=1}^{\infty} f_i \phi_i(\mathbf{x}), \sum_{i=1}^{\infty} \frac{f_i^2}{\lambda_i}<\infty\right\}
Hk={f:f(x)=i=1∑∞fiϕi(x),i=1∑∞λifi2<∞}
现在在该空间中,定义两个函数
f
(
x
)
=
∑
i
=
1
∞
f
i
ϕ
i
(
x
)
f(\mathbf{x})=\sum_{i=1}^{\infty} f_i \phi_i(\mathbf{x})
f(x)=∑i=1∞fiϕi(x) 和
g
(
x
)
=
∑
i
=
1
∞
g
i
ϕ
i
(
x
)
g(\mathbf{x})=\sum_{i=1}^{\infty} g_i \phi_i(\mathbf{x})
g(x)=∑i=1∞giϕi(x) 之间的内积为:
⟨
f
,
g
⟩
H
≜
∑
i
=
1
∞
f
i
g
i
λ
i
\langle f, g\rangle_{\mathcal{H}} \triangleq \sum_{i=1}^{\infty} \frac{f_i g_i}{\lambda_i}
⟨f,g⟩H≜i=1∑∞λifigi
因此
其中,
∥
f
∥
H
\|f\|_H
∥f∥H 是函数
f
f
f 在再生核希尔伯特空间(RKHS)中的范数,定义如下:
∥ f ∥ H = ⟨ f , f ⟩ H = ∑ i = 1 ∞ f i 2 λ i \|f\|_H=\langle f, f\rangle_{\mathcal{H}}=\sum_{i=1}^{\infty} \frac{f_i^2}{\lambda_i} ∥f∥H=⟨f,f⟩H=i=1∑∞λifi2
其中, f i f_i fi 是函数 f f f 在核函数对应的特征函数 e i e_i ei 下的投影系数, λ i \lambda_i λi 是相应的特征值。
那么实际中如何求得 f i f_i fi呢?其实一般也是根据已有的输入输出对来求,首先回顾表示定理[4]。
2.3.1.2 表示定理(The Representer Theorem)
在其一般形式中,表示定理表述如下:
在一个再生核希尔伯特空间(RKHS)
H
k
\mathcal{H}_k
Hk 中,对于一个学习问题,我们的目标是最小化以下形式的目标函数:
J
(
f
)
=
L
(
f
(
x
1
)
,
…
,
f
(
x
N
)
)
+
λ
∥
f
∥
H
k
2
\mathcal{J}(f)=L\left(f\left(\mathbf{x}_1\right), \ldots, f\left(\mathbf{x}_N\right)\right)+\lambda\|f\|_{\mathcal{H}_k}^2
J(f)=L(f(x1),…,f(xN))+λ∥f∥Hk2
其中:
L
L
L 是损失函数,依赖于函数
f
f
f 在
N
N
N 个训练点
{
x
i
}
i
=
1
N
\left\{\mathbf{x}_i\right\}_{i=1}^N
{xi}i=1N 上的取值,
∣
f
∣
H
k
|f|_{\mathcal{H}_k}
∣f∣Hk 是函数
f
f
f 在 RKHS 中的范数,
λ
>
0
\lambda>0
λ>0 是正则化参数。
则存在一个最优解
f
∗
∈
H
k
f^* \in \mathcal{H}_k
f∗∈Hk,使得最小化
J
(
f
)
\mathcal{J}(f)
J(f) 的解总是可以表示为:
f
∗
(
x
)
=
∑
i
=
1
N
α
i
κ
(
x
,
x
i
)
f^*(\mathbf{x})=\sum_{i=1}^N \alpha_i \kappa\left(\mathbf{x}, \mathbf{x}_i\right)
f∗(x)=i=1∑Nαiκ(x,xi)
其中,
κ
(
⋅
,
⋅
)
\kappa(\cdot, \cdot)
κ(⋅,⋅) 是 RKHS 关联的核函数,
{
α
i
}
i
=
1
N
\left\{\alpha_i\right\}_{i=1}^N
{αi}i=1N是待求的系数。
2.3.1.3 结论
上述定理的形式 f ∗ ( x ) = ∑ i = 1 N α i κ ( x , x i ) f^*(\mathbf{x})=\sum_{i=1}^N \alpha_i \kappa\left(\mathbf{x}, \mathbf{x}_i\right) f∗(x)=∑i=1Nαiκ(x,xi)与高斯过程的结论 2.2.2章节一致。
2.3.2 RKHS的问题
RKHS有一个问题:如果基函数太多,那么 f ( x ) f(\mathbf{x}) f(x)就会过于复杂。
2.3.3 解决思路
相对于核而言,复杂的函数将具有较大的范数,因为它们需要许多基函数(特征函数)来表示。我们的目标是选择一个简单的函数,以便很好地拟合数据。
2.3.4 解决方法
我们可以通过将
f
(
x
)
f(\mathbf{x})
f(x)代入表达式:
f
(
x
)
=
∑
i
=
1
N
α
i
κ
(
x
,
x
i
)
f(\mathbf{x})=\sum_{i=1}^N \alpha_i \kappa\left(\mathbf{x}, \mathbf{x}_i\right)
f(x)=i=1∑Nαiκ(x,xi)
并利用再生性质(reproducing property)来求解参数向量
α
\boldsymbol{\alpha}
α ,从而得到目标函数:
J
(
α
)
=
1
2
σ
y
2
∣
y
−
K
α
∣
2
+
1
2
α
T
K
α
J(\boldsymbol{\alpha})=\frac{1}{2 \sigma_y^2}|\mathbf{y}-\mathbf{K} \boldsymbol{\alpha}|^2+\frac{1}{2} \boldsymbol{\alpha}^T \mathbf{K} \boldsymbol{\alpha}
J(α)=2σy21∣y−Kα∣2+21αTKα
其中,
K
\mathbf{K}
K 是核矩阵,
y
\mathbf{y}
y 是目标值向量,
σ
y
2
\sigma_y^2
σy2 是噪声方差,
α
\boldsymbol{\alpha}
α 是待求的系数向量。
通过对 α \alpha α 进行最小化,我们得到:
α ^ = ( K + σ y 2 I ) − 1 y \hat{\boldsymbol{\alpha}}=\left(\mathbf{K}+\sigma_y^2 \mathbf{I}\right)^{-1} \mathbf{y} α^=(K+σy2I)−1y
因此,最优函数估计为:
公式2.2
f
^
(
x
∗
)
=
∑
i
α
^
i
κ
(
x
∗
,
x
i
)
=
k
∗
T
(
K
+
σ
y
2
I
)
−
1
y
\hat{f}\left(\mathbf{x}_*\right)=\sum_i \hat{\alpha}_i \kappa\left(\mathbf{x}_*, \mathbf{x}_i\right)=\mathbf{k}_*^T\left(\mathbf{K}+\sigma_y^2 \mathbf{I}\right)^{-1} \mathbf{y}
f^(x∗)=i∑α^iκ(x∗,xi)=k∗T(K+σy2I)−1y
2.3.5 结论
公式2.2与公式2.1中高斯过程(GP)预测分布的后验均值形式完全一致。事实上,由于高斯分布的均值和众数是相同的,我们可以看出,带有 RKHS 正则项的线性回归等价于使用 GP 的最大后验 (MAP)估计。
参考文献
[1]: 周志华,机器学习,清华大学出版社
[2]: Wikipedia, “Mercer’s theorem”
[3]: 百度百科: Mercer定理
[4]: Kevin P. Murphy. 2012. Machine Learning: A Probabilistic Perspective. The MIT Press