高斯过程回归(Gaussian Process Regression)的预测分布计算过程
字数 3551 2025-11-03 20:30:43

高斯过程回归(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 的核心思想是:函数 \(f\) 服从一个高斯过程先验 \(f \sim \mathcal{GP}(m(x), k(x, x'))\),其中 \(m(x)\) 是均值函数(通常设为0),\(k(x, x')\) 是协方差函数(核函数)。问题要求:给定新输入 \(x_*\),如何计算其对应的预测分布 \(p(y_* | x_*, D)\)


解题过程

  1. 联合高斯分布假设
    训练数据的目标值 \(\mathbf{y} = [y_1, \dots, y_n]^T\) 与新测试点的函数值 \(f_* = f(x_*)\) 联合服从高斯分布。若均值函数为0,其形式为:

\[ \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_*)\)\(n \times 1\) 的向量,元素 \(k(x_i, x_*)\)
  • \(k(x_*, x_*)\) 是标量。
  1. 条件分布推导
    利用多元高斯分布的条件分布公式:若

\[ \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} | \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_*\),代入公式:

  • 均值:\(\mathbb{E}[f_* | X, \mathbf{y}, x_*] = K(x_*, X) [K(X, X) + \sigma_n^2 I]^{-1} \mathbf{y}\)
  • 方差:\(\mathbb{V}[f_* | X, \mathbf{y}, x_*] = k(x_*, x_*) - K(x_*, X) [K(X, X) + \sigma_n^2 I]^{-1} K(X, x_*)\)
  1. 包含噪声的预测分布
    实际预测目标是 \(y_* = f_* + \epsilon\),因此预测分布为:

\[ p(y_* | x_*, D) = \mathcal{N}(y_* | \mathbb{E}[f_* | D], \mathbb{V}[f_* | D] + \sigma_n^2). \]

即方差需额外加上噪声方差 \(\sigma_n^2\)

  1. 计算步骤示例
    假设使用径向基函数(RBF)核 \(k(x, x') = \exp\left(-\frac{\|x - x'\|^2}{2l^2}\right)\),并已有数据:

    • 训练输入 \(X = [1, 2]^T\),目标值 \(\mathbf{y} = [3, 4]^T\)
    • 超参数:长度尺度 \(l = 1\),噪声方差 \(\sigma_n^2 = 0.1\)
    • 测试点 \(x_* = 3\)

    步骤1:计算核矩阵
    \(K(X, X) = \begin{bmatrix} k(1,1) & k(1,2) \\ k(2,1) & k(2,2) \end{bmatrix} = \begin{bmatrix} 1 & e^{-0.5} \\ e^{-0.5} & 1 \end{bmatrix} \approx \begin{bmatrix} 1 & 0.6065 \\ 0.6065 & 1 \end{bmatrix}\)
    加噪声后:\(K(X, X) + \sigma_n^2 I \approx \begin{bmatrix} 1.1 & 0.6065 \\ 0.6065 & 1.1 \end{bmatrix}\)

    步骤2:计算 \(K(X, x_*)\)\(k(x_*, x_*)\)
    \(K(X, x_*) = [k(1,3), k(2,3)]^T = [e^{-2}, e^{-0.5}]^T \approx [0.1353, 0.6065]^T\)
    \(k(x_*, x_*) = 1\)

    步骤3:求逆矩阵(数值计算)
    \([K(X, X) + \sigma_n^2 I]^{-1} \approx \begin{bmatrix} 1.1 & 0.6065 \\ 0.6065 & 1.1 \end{bmatrix}^{-1} = \frac{1}{1.1^2 - 0.6065^2} \begin{bmatrix} 1.1 & -0.6065 \\ -0.6065 & 1.1 \end{bmatrix} \approx \begin{bmatrix} 1.243 & -0.685 \\ -0.685 & 1.243 \end{bmatrix}\)

    步骤4:计算预测均值和方差
    均值:\(K(x_*, X) [K(X, X) + \sigma_n^2 I]^{-1} \mathbf{y} \approx [0.1353, 0.6065] \begin{bmatrix} 1.243 & -0.685 \\ -0.685 & 1.243 \end{bmatrix} \begin{bmatrix} 3 \\ 4 \end{bmatrix} = 2.548\)
    方差:\(k(x_*, x_*) - K(x_*, X) [K(X, X) + \sigma_n^2 I]^{-1} K(X, x_*) \approx 1 - [0.1353, 0.6065] \begin{bmatrix} 1.243 & -0.685 \\ -0.685 & 1.243 \end{bmatrix} \begin{bmatrix} 0.1353 \\ 0.6065 \end{bmatrix} = 0.324\)
    最终预测分布:\(y_* \sim \mathcal{N}(2.548, 0.324 + 0.1) = \mathcal{N}(2.548, 0.424)\)


关键点

  • GPR 的预测分布是封闭形式的高斯分布,无需迭代优化。
  • 计算复杂度主要来自核矩阵求逆(\(O(n^3)\)),适用于小规模数据。
  • 核函数选择(如 RBF、Matern)影响函数平滑性的先验假设。
高斯过程回归(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 的核心思想是:函数 \( f \) 服从一个高斯过程先验 \( f \sim \mathcal{GP}(m(x), k(x, x')) \),其中 \( m(x) \) 是均值函数(通常设为0),\( k(x, x') \) 是协方差函数(核函数)。问题要求:给定新输入 \( x * \),如何计算其对应的预测分布 \( p(y_* | x_* , D) \)? 解题过程 联合高斯分布假设 训练数据的目标值 \( \mathbf{y} = [ y_ 1, \dots, y_ n]^T \) 与新测试点的函数值 \( f_* = f(x_ ) \) 联合服从高斯分布。若均值函数为0,其形式为: \[ \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_ ) \) 是 \( n \times 1 \) 的向量,元素 \( k(x_ i, 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} | \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_* \),代入公式: 均值:\( \mathbb{E}[ f_* | X, \mathbf{y}, x_ ] = K(x_ , X) [ K(X, X) + \sigma_ n^2 I ]^{-1} \mathbf{y} \)。 方差:\( \mathbb{V}[ f_* | X, \mathbf{y}, x_ ] = k(x_ , x_ ) - K(x_ , X) [ K(X, X) + \sigma_ n^2 I]^{-1} K(X, x_* ) \)。 包含噪声的预测分布 实际预测目标是 \( y_* = f_* + \epsilon \),因此预测分布为: \[ p(y_* | x_ , D) = \mathcal{N}(y_ | \mathbb{E}[ f_* | D], \mathbb{V}[ f_* | D] + \sigma_ n^2). \] 即方差需额外加上噪声方差 \( \sigma_ n^2 \)。 计算步骤示例 假设使用径向基函数(RBF)核 \( k(x, x') = \exp\left(-\frac{\|x - x'\|^2}{2l^2}\right) \),并已有数据: 训练输入 \( X = [ 1, 2]^T \),目标值 \( \mathbf{y} = [ 3, 4 ]^T \)。 超参数:长度尺度 \( l = 1 \),噪声方差 \( \sigma_ n^2 = 0.1 \)。 测试点 \( x_* = 3 \)。 步骤1 :计算核矩阵 \( K(X, X) = \begin{bmatrix} k(1,1) & k(1,2) \\ k(2,1) & k(2,2) \end{bmatrix} = \begin{bmatrix} 1 & e^{-0.5} \\ e^{-0.5} & 1 \end{bmatrix} \approx \begin{bmatrix} 1 & 0.6065 \\ 0.6065 & 1 \end{bmatrix} \)。 加噪声后:\( K(X, X) + \sigma_ n^2 I \approx \begin{bmatrix} 1.1 & 0.6065 \\ 0.6065 & 1.1 \end{bmatrix} \)。 步骤2 :计算 \( K(X, x_ ) \) 和 \( k(x_ , x_ ) \) \( K(X, x_ ) = [ k(1,3), k(2,3)]^T = [ e^{-2}, e^{-0.5}]^T \approx [ 0.1353, 0.6065 ]^T \), \( k(x_ , x_ ) = 1 \)。 步骤3 :求逆矩阵(数值计算) \( [ K(X, X) + \sigma_ n^2 I ]^{-1} \approx \begin{bmatrix} 1.1 & 0.6065 \\ 0.6065 & 1.1 \end{bmatrix}^{-1} = \frac{1}{1.1^2 - 0.6065^2} \begin{bmatrix} 1.1 & -0.6065 \\ -0.6065 & 1.1 \end{bmatrix} \approx \begin{bmatrix} 1.243 & -0.685 \\ -0.685 & 1.243 \end{bmatrix} \)。 步骤4 :计算预测均值和方差 均值:\( K(x_ , X) [ K(X, X) + \sigma_ n^2 I]^{-1} \mathbf{y} \approx [ 0.1353, 0.6065 ] \begin{bmatrix} 1.243 & -0.685 \\ -0.685 & 1.243 \end{bmatrix} \begin{bmatrix} 3 \\ 4 \end{bmatrix} = 2.548 \)。 方差:\( k(x_ , x_ ) - K(x_ , X) [ K(X, X) + \sigma_ n^2 I]^{-1} K(X, x_ ) \approx 1 - [ 0.1353, 0.6065 ] \begin{bmatrix} 1.243 & -0.685 \\ -0.685 & 1.243 \end{bmatrix} \begin{bmatrix} 0.1353 \\ 0.6065 \end{bmatrix} = 0.324 \)。 最终预测分布:\( y_ \sim \mathcal{N}(2.548, 0.324 + 0.1) = \mathcal{N}(2.548, 0.424) \)。 关键点 GPR 的预测分布是封闭形式的高斯分布,无需迭代优化。 计算复杂度主要来自核矩阵求逆(\( O(n^3) \)),适用于小规模数据。 核函数选择(如 RBF、Matern)影响函数平滑性的先验假设。