Gaussian Processes for Regression

高斯过程回归(Gaussian Processes for Regression)


实际问题

如下图所示,我们已知$x$在$\left[\begin{array}{llllll}
-1.50 & -1.00 & -0.75 & -0.40 & -0.25 & 0.00
\end{array}\right]$处的观测值以及他们在这些点处的观测标准差$\sigma_n=0.3$,如何根据这些已知信息去求得$x_=0.2$时,$y_=?$。

image-20220513113623452

问题建模

确定衡量观测点影响重要程度的协方差函数

​ 一般选用径向基函数(RBF)来衡量两个观测点之间的协方差(影响程度):
$$
k\left(x, x^{\prime}\right)=\sigma_{f}^{2} \exp \left[\frac{-\left(x-x^{\prime}\right)^{2}}{2 l^{2}}\right]
$$

$k(x,x’)$表示$x$与$x’$之间的协方差,$\sigma_f$控制影响强度,$l$控制影响周期。

不同时刻或者位置的观测值

一个系统或者运动物体在时刻$t$或者位置$x$的观测值$y$有如下计算公式:
$$
y=f(x)+\mathcal{N}(0, \sigma_{n}^{2})
$$

$f(.)$表示依赖或者映射函数,$\mathcal{N}(0, \sigma_{n}^{2})$表示测量值噪声服从均值为0,方差为$\sigma_{n}^2$的高斯分布。

融合观测噪声的协方差函数

$$
k\left(x, x^{\prime}\right)=\sigma_{f}^{2} \exp \left[\frac{-\left(x-x^{\prime}\right)^{2}}{2 l^{2}}\right]+\sigma_{n}^{2} \delta\left(x, x^{\prime}\right)
$$

$\delta(.)$表示Kronecker三角函数,当$x=x’$时,$\delta(x, x’)=1$,其余时候等于0.

根据任意两个观测点计算得到协方差矩阵

根据2.3中的协方差函数以及已知观测点的位置$x$和未知待预测点的位置$x_*$计算得到以下协方差阵:
$$
K=\left[\begin{array}{cccc}
k\left(x_{1}, x_{1}\right) & k\left(x_{1}, x_{2}\right) & \cdots & k\left(x_{1}, x_{n}\right) \
k\left(x_{2}, x_{1}\right) & k\left(x_{2}, x_{2}\right) & \cdots & k\left(x_{2}, x_{n}\right) \
\vdots & \vdots & \ddots & \vdots \
k\left(x_{n}, x_{1}\right) & k\left(x_{n}, x_{2}\right) & \cdots & k\left(x_{n}, x_{n}\right)
\end{array}\right]
$$

$$
K_{}=\left[\begin{array}{llll}
k\left(x_{
}, x_{1}\right) & k\left(x_{}, x_{2}\right) & \cdots & k\left(x_{}, x_{n}\right)
\end{array}\right] \quad K_{* }=k\left(x_{}, x_{*}\right)
$$

$x_1, …, x_n$表示已知观测点,$x_*$表示待预测的点。可以确定的是依据2.3中的公式,矩阵$K$的对角线元素为$\sigma_f^2 + \sigma_n^2$。

基于高斯过程和最大后验概率求解待预测值

基于之前的关键假设:观测系统是一个高斯过程。所以目前的观测值和待预测值服从一个多元高斯分布:
$$
\left[\begin{array}{c}
\mathbf{y} \
y_{}
\end{array}\right] \sim \mathcal{N}\left(\mathbf{0},\left[\begin{array}{ll}
K & K_{
}^{\mathrm{T}} \
K_{} & K_{ }
\end{array}\right]\right)
$$
现在需要做的是,求得一个待预测的观测值$y_
$,使得$p(y_|\mathbf{y})$的概率最大,换句话说使得$p(y_|\mathbf{y})$概率最大的$y_*$即为所求的最佳高斯过程回归值。

$y_|\mathbf{y}$的条件概率服从:
$$
y_{
} \mid \mathbf{y} \sim \mathcal{N}\left(K_{} K^{-1} \mathbf{y}, K_{ }-K_{} K^{-1} K_{}^{\mathrm{T}}\right)
$$
综上,$y_
$的最佳估计和估计的方差为:
$$
\bar{y}{*}=K{*} K^{-1} \mathbf{y}
$$

$$
\operatorname{var}\left(y_{}\right)=K_{ }-K_{} K^{-1} K_{*}^{\mathrm{T}}
$$

这里的估计均值和方差在协方差矩阵中没有显式的声明$\sigma_{n}^{2}I$的原因在于公式(3)中已经融合了协方差值

例题

依据上述第一节的例题,有6个观测点值$x= \left[\begin{array}{llllll}-1.50 & -1.00 & -0.75 & -0.40 & -0.25 & 0.00\end{array}\right]$,同时可以假定$\sigma_n=0.3$,设定$\sigma_f=1.27, l=1$,则依据公式(3)(4)(5)得:
$$
K=\left[\begin{array}{llllll}
1.70 & 1.42 & 1.21 & 0.87 & 0.72 & 0.51 \
1.42 & 1.70 & 1.56 & 1.34 & 1.21 & 0.97 \
1.21 & 1.56 & 1.70 & 1.51 & 1.42 & 1.21 \
0.87 & 1.34 & 1.51 & 1.70 & 1.59 & 1.48 \
0.72 & 1.21 & 1.42 & 1.59 & 1.70 & 1.56 \
0.51 & 0.97 & 1.21 & 1.48 & 1.56 & 1.70
\end{array}\right]
\
K_{}=\left[\begin{array}{llllll}
0.38 & 0.79 & 1.03 & 1.35 & 1.46 & 1.58
\end{array}\right] ,\ \ \ K_{**}=1.70
$$
之后依据公式(8)(9)得到:
$$
\bar{y}_{
}=0.95 ,\ \ \operatorname{var}\left(y_{*}\right)=0.21
$$
image-20220513150426202

图中黑色实线表示GPR预测值,黑色原点表示实际观测值,蓝色点表示在$x=0.2$处的观测值,红色区域表示95%的置信度区间($\bar{y}{*} \pm 1.96 \sqrt{\operatorname{var}\left(y{*}\right)}$)。