高斯过程(Gaussian Process, GP)是随机过程之一,是一系列符合正态分布的随机变量在一指数集(index set)内的集合。该解释中的“指数”可以理解为“维度“,按照机器学习的角度,各个指数上的随机变量可以对应地理解为各个维度上的特征。
1.1 一元高斯分布
其概率密度函数为:
标准正态分布:
正态分布具有如下性质:
-
如果$X \sim N(\mu, \sigma^2)$,且$a$、$b$均为实数,则$aX + b \sim N(a \mu + b, (a \sigma)^2)$;
-
如果$X \sim N(\mu_x, \sigma_x^2)$与$Y \sim N(\mu_y, \sigma_y^2)$独立,则:
-
$U = X + Y \sim N(\mu_x + \mu_y, \sigma_x^2 + \sigma_y^2)$ ; -
$V = X - Y \sim N(\mu_x - \mu_y, \sigma_x^2 + \sigma_y^2)$ ;
-
-
若以上$X$与$Y$相互独立,则:
-
$XY$ 符合以下概率密度分布:$$ p(z)=\frac{1}{\pi \sigma_x \sigma_y}K_0(\frac{|z|}{\sigma_x \sigma_y}) $$
其中$K_0$为修正贝塞尔函数;
-
$X/Y$ 符合柯西分布:$$ X/Y \sim {\rm Cauchy}(0, \sigma_x / \sigma_y) $$
-
-
若$X_1, ..., X_n$各自独立,符合正态分布,则$X_1^2 + X_2^2 + ... + X_n^2$符合自由度为$n$的卡方分布;
1.2 二元高斯分布
1.3 多元高斯分布
其中,$\mu$为各随机变量的均值组成的$n \times 1$向量,$\Sigma$表示随机变量间的$n \times n$协方差矩阵,正定。
令随机向量$X = [x_1, x_2, ..., x_n]$服从多元高斯分布$X \sim N(\mu, \Sigma)$,令$X_1 = [x_1, ..., x_m]$为已经观测变量,$X_2 = [x_{m+1}, ..., x_n]$为未知变量,则:
从而有:
给定$X_1$求$X_2$的后验分布(这部分推导可以从相关文献中查到,此处略):
设随机变量$X = [x_1, x_2, x_3, ..., x_n]^T$,其服从正态分布: $$ X \sim N(\mu, \Sigma) $$ 其中$\mu = [\mu_0, \mu_1, ..., \mu_n]^T$为均值向量,$\Sigma$是这$n$个特征之间的协方差矩阵,将$\Sigma$展开有:
其中$cov_{i,j}$表示特征$i$和特征$j$之间的协方差(covariance)。
高斯过程样本与一般机器学习的样本区别在于,高斯过程中样本各特征之间存在相关关系,这种相关关系是通过协方差矩阵$\Sigma$来体现的。比如在一些时间序列模型里面,各个变量输出的时间序列在时间前后都会体现出一种相关性(比如平滑过渡等),这种模型输出就很适合使用高斯过程来模拟。
3.1 协方差矩阵计算
RBF kernel:
periodic kernel:
linear_kernel:
这样当知道两个随机变量指数$t_a$和$t_b$后,便可通过核函数计算两个变量间的协方差。如果对所有随机变量均进行上述计算便可获得协方差矩阵$\Sigma$。有了协方差矩阵$\Sigma$后便可对高斯过程进行采样(一般认为高斯过程先验分布均值$\mu$应无偏为0)。
3.2 高斯过程采样
获得了各随机变量$x$的均值信息$\mu$和联合分布的协方差矩阵$\Sigma$后,便可对该高斯过程进行随机采样。采样步骤如下:
-
首先对协方差矩阵$\Sigma$进行SVD分解,获得矩阵$\rm U$、$\rm S$和$\rm V$;
-
生成$N$个独立同分布的高斯随机变量(均值为0,标准差为1),组成向量$y$;
-
按照如下公式获得高斯过程样本:
$$ x = \mu + {\rm U} \sqrt{\rm S}y $$
采样结果如下图所示,图中每条灰色曲线便对应一条高斯过程样本($n=100$),蓝色曲线表示样本均值,因为我们设定先验分布各维度上均值$\mu_i=0$,所以蓝色曲线在0附近波动。
3.3 后验分布和采样
3.2中获得的高斯过程样本为先验样本。但是当我们在某些指数$t$上获得了一批观测样本后,这批观测样本将有助于我们对其他指数集上的样本分布进行估计(后验)。我们将这批已观测指数集设为$X_1$,未观测到的指数集设为$X_2$。接下来便可使用第二节中的方法获得在$X_2$上样本分布后验概率参数$\mu_{2|1}$和$\Sigma_{2|1}$,最后重新对$X_2$上的随机变量进行采样。下图显示了后验分布样本: