在 布朗运动与朗之万方程 中已经介绍过随机过程,而高斯过程 (Gaussian process ) 是一个特殊的随机过程。在高斯过程中,连续输入空间中每个点都是与一个正态分布的随机变量相关联 1 。
从单变量高斯分布说起。在 单变量高斯分布 中我们已经写出了单变量高斯分布的公式,在这里重复一遍。
单变量高斯分布
单变量高斯分布的概率密度函数为
p ( x ) = 1 σ 2 π e x p ( − ( x − μ ) 2 2 σ 2 ) p(x) = \frac{1}{\sigma\sqrt{2\pi}}\mathrm{exp}(-\frac{(x-\mu)^2}{2\sigma^2}) p ( x ) = σ 2 π 1 exp ( − 2 σ 2 ( x − μ ) 2 )
其中 μ \mu μ 和 σ \sigma σ 分别表示均值和方差,这个概率密度函数曲线画出来就是我们熟悉的钟形曲线,均值和方差唯一地决定了曲线的形状。
多元高斯分布
从一元高斯分布推广到多元高斯分布,假设各维度之间相互独立。
p ( x 1 , x 2 , … , x n ) = ∏ i = 1 n p ( x i ) = 1 ( 2 π ) n 2 σ 1 σ 2 … σ n exp ( − 1 2 [ ( x 1 − μ 1 ) 2 σ 1 2 + ( x 2 − μ 2 ) 2 σ 2 2 + … + ( x n − μ n ) 2 σ n 2 ] ) p\left(x_{1}, x_{2}, \ldots, x_{n}\right)=\prod_{i=1}^{n} p\left(x_{i}\right)=\frac{1}{(2 \pi)^{\frac{n}{2}} \sigma_{1} \sigma_{2} \ldots \sigma_{n}} \exp \left(-\frac{1}{2}\left[\frac{\left(x_{1}-\mu_{1}\right)^{2}}{\sigma_{1}^{2}}+\frac{\left(x_{2}-\mu_{2}\right)^{2}}{\sigma_{2}^{2}}+\ldots+\frac{\left(x_{n}-\mu_{n}\right)^{2}}{\sigma_{n}^{2}}\right]\right) p ( x 1 , x 2 , … , x n ) = i = 1 ∏ n p ( x i ) = ( 2 π ) 2 n σ 1 σ 2 … σ n 1 exp ( − 2 1 [ σ 1 2 ( x 1 − μ 1 ) 2 + σ 2 2 ( x 2 − μ 2 ) 2 + … + σ n 2 ( x n − μ n ) 2 ] )
其中 μ 1 , μ 2 , … \mu_{1},\mu_{2},\dots μ 1 , μ 2 , … 和 σ 1 , σ 2 , … \sigma_{1},\sigma_{2},\dots σ 1 , σ 2 , … 分别是第 1 维、第二维 … 的均值和方差。用向量和矩阵表示上式,令
x − μ = [ x 1 − μ 1 , x 2 − μ 2 , … x n − μ n ] T \boldsymbol{x}-\boldsymbol{\mu}=\left[x_{1}-\mu_{1}, x_{2}-\mu_{2}, \ldots x_{n}-\mu_{n}\right]^{T} x − μ = [ x 1 − μ 1 , x 2 − μ 2 , … x n − μ n ] T
K = [ σ 1 2 0 ⋯ 0 0 σ 2 2 ⋯ 0 ⋮ ⋮ ⋱ 0 0 0 0 σ n 2 ] K=\begin{bmatrix}
\sigma_{1}^{2} & 0 & \cdots & 0 \\
0 & \sigma_{2}^{2} & \cdots & 0 \\
\vdots & \vdots & \ddots & 0 \\
0 & 0 & 0 & \sigma_{n}^{2}
\end{bmatrix} K = σ 1 2 0 ⋮ 0 0 σ 2 2 ⋮ 0 ⋯ ⋯ ⋱ 0 0 0 0 σ n 2
则
σ 1 σ 2 … σ n = ∣ K ∣ 1 2 \sigma_{1} \sigma_{2} \ldots \sigma_{n}=|K|^{\frac{1}{2}} σ 1 σ 2 … σ n = ∣ K ∣ 2 1
( x 1 − μ 1 ) 2 σ 1 2 + ( x 2 − μ 2 ) 2 σ 2 2 + … + ( x n − μ n ) 2 σ n 2 = ( x − μ ) T K − 1 ( x − μ ) \frac{\left(x_{1}-\mu_{1}\right)^{2}}{\sigma_{1}^{2}}+\frac{\left(x_{2}-\mu_{2}\right)^{2}}{\sigma_{2}^{2}}+\ldots+\frac{\left(x_{n}-\mu_{n}\right)^{2}}{\sigma_{n}^{2}}=(x-\mu)^{T} K^{-1}(x-\mu) σ 1 2 ( x 1 − μ 1 ) 2 + σ 2 2 ( x 2 − μ 2 ) 2 + … + σ n 2 ( x n − μ n ) 2 = ( x − μ ) T K − 1 ( x − μ )
代入公式可得:
p ( x ) = ( 2 π ) − n 2 ∣ K ∣ − 1 2 e x p ( − 1 2 ( x − μ ) T K − 1 ( x − μ ) ) p(\boldsymbol{x}) = (2\pi)^{-\frac{n}{2}}|K|^{-\frac{1}{2}}\mathrm{exp}\left( -\frac{1}{2}(\boldsymbol{x-\mu})^TK^{-1}(\boldsymbol{x-\mu}) \right) p ( x ) = ( 2 π ) − 2 n ∣ K ∣ − 2 1 exp ( − 2 1 ( x − μ ) T K − 1 ( x − μ ) )
其中 μ ∈ R n \boldsymbol{\mu} \in \mathbb{R}^n μ ∈ R n 是均值向量, K ∈ R n × n K \in \mathbb{R}^{n \times n} K ∈ R n × n 为协方差矩阵,由于我们假设了各维度直接相互独立,因此 K K K 是一个对角矩阵。在各维度变量相关时,上式的形式仍然一致,但此时协方差矩阵 K K K 不再是对角矩阵,可以称为 Gramian矩阵 。上式通常也简写为
x ∼ N ( μ , K ) x \sim \mathcal{N}(\boldsymbol{\mu}, K) x ∼ N ( μ , K )
无限元高斯分布
高斯过程则是更进一步,它一个定义在连续域上的无限多个高斯随机变量所组成的随机过程;
对于一个连续域 T T T (假设是一个时间轴),如果我们在连续域上任选 n n n 个时刻:t 1 , t 2 , … , t n ∈ T t_{1},t_{2},\dots,t_{n} \in T t 1 , t 2 , … , t n ∈ T ,使得获得的一个 n n n 维向量 { ξ 1 , ξ 2 , ξ 3 , … , ξ n } \left\{\xi_{1}, \xi_{2}, \xi_{3}, \ldots, \xi_{n}\right\} { ξ 1 , ξ 2 , ξ 3 , … , ξ n } 都满足一个 n n n 维高斯分布,那么这个 { ξ t } \left\{ \xi_{t} \right\} { ξ t } 就是一个高斯过程。
对于一个 p p p 维的高斯分布而言,决定他的分布是两个参数,一个是 p p p 维的均值向量 μ p \mu_{p} μ p ,他反映了 p p p 维高斯分布中每一维随机变量的期望,另一个就是 p × p p \times p p × p 的协方差矩阵 Σ p × p \Sigma_{p \times p} Σ p × p ,他反映了高维分布中,每一维自身的方差,以及不同维度之间的协方差。
定义在连续域 T T T 上的高斯过程是一样,它是无限维的高斯分布,他同样需要描述每一个时间点 t t t 上的均值,但是这个时候就不能用向量了,因为是在连续域上的,维数是无限的,因此就应该定义成一个关于时刻 t t t 的函数:m ( t ) m(t) m ( t ) 。
协方差矩阵也是同理, 无限维的情况下就定义为一个核函数 k ( s , t ) k(s, t) k ( s , t ) ,其中 s s s 和 t t t 表示任意两个时刻,核函数也称协方差函数。核函数是一个高斯过程的核心,它决定了高斯过程的性质,在研究和实践中,核函数有很多种不同的类型,他们对高斯过程的衡量方法也不尽相同,这里我们介绍和使用最为常见的一个核函数:径向基函数 R B F \mathrm{RBF} RBF ,其定义 如下:
k ( s , t ) = σ 2 exp ( − ∥ s − t ∥ 2 2 l 2 ) k(s, t)=\sigma^{2} \exp \left(-\frac{\|s-t\|^{2}}{2 l^{2}}\right) k ( s , t ) = σ 2 exp ( − 2 l 2 ∥ s − t ∥ 2 )
这里面的 σ \sigma σ 和 l l l 是径向基函数的超参数, s s s 和 t t t 表示高斯过程连续域上的两个不同的时间点, ∥ s − t