高斯过程回归(Gaussian Process Regression)的预测分布计算过程
题目描述
高斯过程回归(GPR)是一种基于贝叶斯方法的非参数回归模型,其核心思想是将函数视为高斯过程的样本。给定训练数据集 \(D = \{(x_i, y_i)\}_{i=1}^n\)(其中 \(y_i = f(x_i) + \epsilon\),噪声 \(\epsilon \sim \mathcal{N}(0, \sigma_n^2)\)),GPR 的目标是对新输入 \(x_*\) 预测其对应的函数值 \(f_*\) 的分布。要求详细解释预测分布 \(p(f_* | x_*, D)\) 的推导过程,包括先验设置、后验计算的关键步骤。
解题过程
- 高斯过程先验定义
- 高斯过程由均值函数 \(m(x)\) 和协方差函数 \(k(x, x')\) 完全定义,记为:
\[ f(x) \sim \mathcal{GP}(m(x), k(x, x')) \]
通常假设先验均值为零($ m(x) = 0 $),协方差函数选用径向基函数(RBF)等核函数,例如:
\[ k(x, x') = \sigma_f^2 \exp\left(-\frac{\|x - x'\|^2}{2l^2}\right) \]
其中 $ \sigma_f^2 $ 为信号方差,$ l $ 为长度尺度。
- 训练数据与测试点的联合分布
- 将训练数据的目标值 \(\mathbf{y} = [y_1, \dots, y_n]^T\) 和测试点函数值 \(f_*\) 组成联合高斯分布:
\[ \begin{bmatrix} \mathbf{y} \\ f_* \end{bmatrix} \sim \mathcal{N} \left( \mathbf{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 n $ 的核矩阵,其元素 $ K_{ij} = k(x_i, x_j) $;$ K(X, x_*) $ 是训练点与测试点的核向量;$ k(x_*, x_*) $ 是测试点的自协方差。
- 条件后验分布推导
- 利用多元高斯分布的条件分布公式:
若
- 利用多元高斯分布的条件分布公式:
\[ \begin{bmatrix} \mathbf{a} \\ \mathbf{b} \end{bmatrix} \sim \mathcal{N} \left( \begin{bmatrix} \boldsymbol{\mu}_a \\ \boldsymbol{\mu}_b \end{bmatrix}, \begin{bmatrix} \Sigma_{aa} & \Sigma_{ab} \\ \Sigma_{ba} & \Sigma_{bb} \end{bmatrix} \right), \]
则 $ p(\mathbf{b} \mid \mathbf{a}) = \mathcal{N}(\boldsymbol{\mu}_{b|a}, \Sigma_{b|a}) $,其中:
\[ \boldsymbol{\mu}_{b|a} = \boldsymbol{\mu}_b + \Sigma_{ba} \Sigma_{aa}^{-1} (\mathbf{a} - \boldsymbol{\mu}_a), \quad \Sigma_{b|a} = \Sigma_{bb} - \Sigma_{ba} \Sigma_{aa}^{-1} \Sigma_{ab}. \]
- 将 \(\mathbf{a}\) 对应为 \(\mathbf{y}\),\(\mathbf{b}\) 对应为 \(f_*\),并代入零先验均值,得到后验均值和方差:
\[ \begin{aligned} \mu_{*|D} &= K(x_*, X) \left[ K(X, X) + \sigma_n^2 I \right]^{-1} \mathbf{y}, \\ \sigma_{*|D}^2 &= k(x_*, x_*) - K(x_*, X) \left[ K(X, X) + \sigma_n^2 I \right]^{-1} K(X, x_*). \end{aligned} \]
-
预测分布的直观解释
- 后验均值 \(\mu_{*|D}\):是训练数据标签 \(\mathbf{y}\) 的线性组合,权重由核函数衡量 \(x_*\) 与训练点的相似性。
- 后验方差 \(\sigma_{*|D}^2\):由先验不确定性 \(k(x_*, x_*)\) 减去由训练数据带来的信息增益(第二项),体现预测置信度:在数据密集区域方差小,在未探索区域方差大。
-
计算实现的关键步骤
- 步骤1:计算核矩阵 \(K(X, X)\) 并添加噪声项 \(\sigma_n^2 I\) 确保正定性。
- 步骤2:对 \(K(X, X) + \sigma_n^2 I\) 进行Cholesky分解 \(LL^T\) 以高效求解线性系统。
- 步骤3:求解权重向量 \(\boldsymbol{\alpha} = L^T \backslash (L \backslash \mathbf{y})\),则后验均值 \(\mu_{*|D} = K(x_*, X) \boldsymbol{\alpha}\)。
- 步骤4:计算方差时,令 \(\mathbf{v} = L \backslash K(X, x_*)\),则 \(\sigma_{*|D}^2 = k(x_*, x_*) - \mathbf{v}^T \mathbf{v}\)。
总结
高斯过程回归的预测分布通过贝叶斯推断将先验高斯过程与观测数据结合,得到封闭形式的后验分布。其计算核心是核函数的选择与矩阵求逆的优化,最终输出不仅包含预测值(后验均值),还提供了不确定性量化(后验方差)。