高斯过程回归(Gaussian Process Regression)的协方差矩阵计算与预测过程
字数 3163 2025-12-09 20:56:24

高斯过程回归(Gaussian Process Regression)的协方差矩阵计算与预测过程


题目描述

假设你有一组带噪声的观测数据 \(\{ (x_i, y_i) \}_{i=1}^n\),其中 \(y_i = f(x_i) + \epsilon_i\)\(\epsilon_i\) 是高斯噪声,并假设未知函数 \(f\) 服从高斯过程先验。任务是:

  1. 根据观测数据,计算高斯过程回归中预测点 \(x_*\) 处函数值 \(f_*\) 的后验分布(均值和方差);
  2. 详细推导协方差矩阵的计算方式,并解释其如何影响预测的不确定性。

解题过程

1. 高斯过程的基本定义

高斯过程(Gaussian Process, GP)是定义在连续域(如时间或空间)上的无限维随机过程,其中任意有限个随机变量服从联合高斯分布。它完全由均值函数 \(m(x)\) 和协方差函数(核函数) \(k(x, x')\) 确定:

\[f(x) \sim \mathcal{GP}\big(m(x), k(x, x')\big) \]

  • 通常假设 \(m(x) = 0\)(可通过数据中心化实现)。
  • 核函数 \(k(x, x')\) 度量 \(x\)\(x'\) 处函数值的相似性。

2. 观测模型与先验

观测数据:

\[y = f(X) + \epsilon, \quad \epsilon \sim \mathcal{N}(0, \sigma_n^2 I) \]

其中 \(X = [x_1, \dots, x_n]^\top\)\(y = [y_1, \dots, y_n]^\top\)

先验:

\[f(X) \sim \mathcal{N}\big(0, K(X, X)\big) \]

\(K(X, X)\)\(n \times n\) 的协方差矩阵,其元素 \(K_{ij} = k(x_i, x_j)\)


3. 联合分布与后验推导

考虑预测点 \(x_*\) 处的函数值 \(f_* = f(x_*)\)。观测值 \(y\)\(f_*\) 的联合分布:

\[\begin{bmatrix} y \\ f_* \end{bmatrix} \sim \mathcal{N}\left(0, \begin{bmatrix} K(X, X) + \sigma_n^2 I & K(X, x_*) \\ K(x_*, X) & k(x_*, x_*) \end{bmatrix} \right) \]

其中:

  • \(K(X, x_*)\)\(n \times 1\) 向量,第 \(i\) 个元素为 \(k(x_i, x_*)\)
  • \(K(x_*, X) = K(X, x_*)^\top\)
  • \(k(x_*, x_*) = \text{var}(f_*)\)

应用高斯条件分布公式,后验分布 \(p(f_* \mid X, y, x_*)\) 也是高斯分布:

\[\begin{aligned} \text{均值:} \quad \mu_* &= K(x_*, X) \big[ K(X, X) + \sigma_n^2 I \big]^{-1} y \\ \text{方差:} \quad \sigma_*^2 &= k(x_*, x_*) - K(x_*, X) \big[ K(X, X) + \sigma_n^2 I \big]^{-1} K(X, x_*) \end{aligned} \]


4. 协方差矩阵的构造与作用

协方差矩阵 \(K(X, X)\) 是 GP 的核心,它编码了输入点之间的相关性:

  • 对角元素 \(k(x_i, x_i)\):表示每个点自身的方差(通常由核函数参数控制,如信号方差 \(\sigma_f^2\))。
  • 非对角元素 \(k(x_i, x_j)\):描述 \(x_i\)\(x_j\) 的相似度。常用核函数如径向基函数(RBF):

\[k(x_i, x_j) = \sigma_f^2 \exp\left( -\frac{\|x_i - x_j\|^2}{2\ell^2} \right) \]

其中 \(\ell\) 是长度尺度,控制函数平滑度;\(\sigma_f^2\) 控制输出幅度。

计算步骤

  1. 对于输入矩阵 \(X\),逐对计算核函数值:

\[K_{ij} = k(x_i, x_j), \quad i,j = 1,\dots,n \]

  1. 加入噪声方差 \(\sigma_n^2\) 到对角线上,得到 \(K_y = K(X, X) + \sigma_n^2 I\)。这反映了观测噪声使预测更保守。

5. 预测的直观理解

  • 均值 \(\mu_*\):是观测值 \(y\) 的线性组合,权重由 \(K(x_*, X) K_y^{-1}\) 决定。若 \(x_*\) 靠近某观测点 \(x_i\),则 \(k(x_*, x_i)\) 较大,该观测对预测的贡献更大。
  • 方差 \(\sigma_*^2\):由先验方差 \(k(x_*, x_*)\) 减去一项“信息增益”。当 \(x_*\) 远离所有观测点时,\(K(x_*, X)\) 接近零向量,方差接近先验方差(预测不确定性大);当 \(x_*\) 接近观测点时,第二项增大,方差减小(不确定性小)。

6. 计算流程总结

  1. 选择核函数(如 RBF)并初始化超参数 \(\theta = (\ell, \sigma_f, \sigma_n)\)
  2. 计算协方差矩阵

\[K = \begin{bmatrix} k(x_1, x_1) & \cdots & k(x_1, x_n) \\ \vdots & \ddots & \vdots \\ k(x_n, x_1) & \cdots & k(x_n, x_n) \end{bmatrix}, \quad K_y = K + \sigma_n^2 I \]

  1. 对测试点 \(x_*\)
    • 计算向量 \(k_* = [k(x_*, x_1), \dots, k(x_*, x_n)]^\top\)
    • 标量 \(k_{**} = k(x_*, x_*)\)
  2. 求解线性系统:计算 \(\alpha = K_y^{-1} y\)(实践中用 Cholesky 分解避免直接求逆)。
  3. 预测

\[\mu_* = k_*^\top \alpha, \quad \sigma_*^2 = k_{**} - k_*^\top K_y^{-1} k_* \]


7. 超参数优化

通常通过最大化边缘对数似然选择超参数:

\[\log p(y \mid X, \theta) = -\frac{1}{2} y^\top K_y^{-1} y - \frac{1}{2} \log |K_y| - \frac{n}{2} \log 2\pi \]

使用梯度下降优化 \(\theta\)


关键点总结

  • 高斯过程回归通过协方差矩阵(核函数)隐式定义了函数的平滑性与结构。
  • 预测分布是高斯分布,均值给出预测值,方差量化不确定性。
  • 计算复杂度主要在求 \(K_y^{-1}\),需 \(O(n^3)\) 时间,适合中等规模数据。
  • 协方差矩阵决定插值行为:长度尺度 \(\ell\) 小 ⇒ 函数变化快;\(\ell\) 大 ⇒ 函数平滑。

这个框架既可用于回归,也可通过链接函数扩展至分类。

高斯过程回归(Gaussian Process Regression)的协方差矩阵计算与预测过程 题目描述 假设你有一组带噪声的观测数据 \(\{ (x_ i, y_ i) \}_ {i=1}^n\),其中 \(y_ i = f(x_ i) + \epsilon_ i\),\(\epsilon_ i\) 是高斯噪声,并假设未知函数 \(f\) 服从高斯过程先验。任务是: 根据观测数据,计算高斯过程回归中预测点 \(x_ \) 处函数值 \(f_ \) 的后验分布(均值和方差); 详细推导协方差矩阵的计算方式,并解释其如何影响预测的不确定性。 解题过程 1. 高斯过程的基本定义 高斯过程(Gaussian Process, GP)是定义在连续域(如时间或空间)上的无限维随机过程,其中任意有限个随机变量服从联合高斯分布。它完全由均值函数 \(m(x)\) 和协方差函数(核函数) \(k(x, x')\) 确定: \[ f(x) \sim \mathcal{GP}\big(m(x), k(x, x')\big) \] 通常假设 \(m(x) = 0\)(可通过数据中心化实现)。 核函数 \(k(x, x')\) 度量 \(x\) 与 \(x'\) 处函数值的相似性。 2. 观测模型与先验 观测数据: \[ y = f(X) + \epsilon, \quad \epsilon \sim \mathcal{N}(0, \sigma_ n^2 I) \] 其中 \(X = [ x_ 1, \dots, x_ n]^\top\),\(y = [ y_ 1, \dots, y_ n ]^\top\)。 先验: \[ f(X) \sim \mathcal{N}\big(0, K(X, X)\big) \] \(K(X, X)\) 是 \(n \times n\) 的协方差矩阵,其元素 \(K_ {ij} = k(x_ i, x_ j)\)。 3. 联合分布与后验推导 考虑预测点 \(x_ \) 处的函数值 \(f_ = f(x_ )\)。观测值 \(y\) 与 \(f_ \) 的联合分布: \[ \begin{bmatrix} y \\ f_* \end{bmatrix} \sim \mathcal{N}\left(0, \begin{bmatrix} K(X, X) + \sigma_ n^2 I & K(X, x_ ) \\ K(x_ , X) & k(x_ , x_ ) \end{bmatrix} \right) \] 其中: \(K(X, x_ )\) 是 \(n \times 1\) 向量,第 \(i\) 个元素为 \(k(x_ i, x_ )\)。 \(K(x_ , X) = K(X, x_ )^\top\)。 \(k(x_ , x_ ) = \text{var}(f_* )\)。 应用高斯条件分布公式,后验分布 \(p(f_* \mid X, y, x_ )\) 也是高斯分布: \[ \begin{aligned} \text{均值:} \quad \mu_ &= K(x_ , X) \big[ K(X, X) + \sigma_ n^2 I \big ]^{-1} y \\ \text{方差:} \quad \sigma_ ^2 &= k(x_ , x_ ) - K(x_ , X) \big[ K(X, X) + \sigma_ n^2 I \big]^{-1} K(X, x_ ) \end{aligned} \] 4. 协方差矩阵的构造与作用 协方差矩阵 \(K(X, X)\) 是 GP 的核心,它编码了输入点之间的相关性: 对角元素 \(k(x_ i, x_ i)\):表示每个点自身的方差(通常由核函数参数控制,如信号方差 \(\sigma_ f^2\))。 非对角元素 \(k(x_ i, x_ j)\):描述 \(x_ i\) 与 \(x_ j\) 的相似度。常用核函数如径向基函数(RBF): \[ k(x_ i, x_ j) = \sigma_ f^2 \exp\left( -\frac{\|x_ i - x_ j\|^2}{2\ell^2} \right) \] 其中 \(\ell\) 是长度尺度,控制函数平滑度;\(\sigma_ f^2\) 控制输出幅度。 计算步骤 : 对于输入矩阵 \(X\),逐对计算核函数值: \[ K_ {ij} = k(x_ i, x_ j), \quad i,j = 1,\dots,n \] 加入噪声方差 \(\sigma_ n^2\) 到对角线上,得到 \(K_ y = K(X, X) + \sigma_ n^2 I\)。这反映了观测噪声使预测更保守。 5. 预测的直观理解 均值 \(\mu_* \) :是观测值 \(y\) 的线性组合,权重由 \(K(x_ , X) K_ y^{-1}\) 决定。若 \(x_ \) 靠近某观测点 \(x_ i\),则 \(k(x_* , x_ i)\) 较大,该观测对预测的贡献更大。 方差 \(\sigma_* ^2\) :由先验方差 \(k(x_ , x_ )\) 减去一项“信息增益”。当 \(x_ \) 远离所有观测点时,\(K(x_ , X)\) 接近零向量,方差接近先验方差(预测不确定性大);当 \(x_* \) 接近观测点时,第二项增大,方差减小(不确定性小)。 6. 计算流程总结 选择核函数 (如 RBF)并初始化超参数 \(\theta = (\ell, \sigma_ f, \sigma_ n)\)。 计算协方差矩阵 : \[ K = \begin{bmatrix} k(x_ 1, x_ 1) & \cdots & k(x_ 1, x_ n) \\ \vdots & \ddots & \vdots \\ k(x_ n, x_ 1) & \cdots & k(x_ n, x_ n) \end{bmatrix}, \quad K_ y = K + \sigma_ n^2 I \] 对测试点 \(x_* \) : 计算向量 \(k_* = [ k(x_ , x_ 1), \dots, k(x_ , x_ n) ]^\top\)。 标量 \(k_ {** } = k(x_ , x_ )\)。 求解线性系统 :计算 \(\alpha = K_ y^{-1} y\)(实践中用 Cholesky 分解避免直接求逆)。 预测 : \[ \mu_* = k_ ^\top \alpha, \quad \sigma_ ^2 = k_ {** } - k_ ^\top K_ y^{-1} k_ \] 7. 超参数优化 通常通过最大化边缘对数似然选择超参数: \[ \log p(y \mid X, \theta) = -\frac{1}{2} y^\top K_ y^{-1} y - \frac{1}{2} \log |K_ y| - \frac{n}{2} \log 2\pi \] 使用梯度下降优化 \(\theta\)。 关键点总结 高斯过程回归通过协方差矩阵(核函数)隐式定义了函数的平滑性与结构。 预测分布是高斯分布,均值给出预测值,方差量化不确定性。 计算复杂度主要在求 \(K_ y^{-1}\),需 \(O(n^3)\) 时间,适合中等规模数据。 协方差矩阵决定插值行为:长度尺度 \(\ell\) 小 ⇒ 函数变化快;\(\ell\) 大 ⇒ 函数平滑。 这个框架既可用于回归,也可通过链接函数扩展至分类。