高斯过程的粗略理解

在基于阅读论文《From microfacets to participating media: A unified theory of light transport with stochastic geometry》时记录的对高斯过程的粗略理解。

简介

在统计学领域,预测任务通常涉及根据输入数据输出一个具体的预测值。然而,高斯过程(Gaussian Process, GP)不仅能够提供预测输出的均值,还能给出输出的不确定性分布。换句话说,高斯过程可以被视为对一个随机函数 ff 的分布进行建模和预测。

另一方面,假设我们有一个高斯过程 GPGP,在给定先验样本 ζ\zeta 后,通过贝叶斯更新得到的后验分布仍然是一个高斯过程,记作 GPζGP|\zeta。这种闭合性使得高斯过程在处理不确定性和进行贝叶斯推断时具有天然的优势,特别适用于需要量化预测不确定性的应用场景。

参数

一个高斯过程通常表示为 GP(μ,k)GP(\mu, k),其中:

  • 均值函数 μ(x)\mu(x):表示在输入点 xx 处预测值的期望。

  • 核函数(协方差函数) k(x,x)k(x, x'):描述两个输入点 xxxx' 之间的相似性或相关性。核函数决定了函数空间的平滑性、周期性等性质。

高斯过程的参数化方式允许它灵活地适应不同类型的数据和问题,通过选择合适的核函数,可以捕捉数据中的各种模式和结构。

性质

任意有限点集上的联合分布为多元正态分布

性质描述:

对于高斯过程 GP(μ,k)GP(\mu, k),在其定义域上的任意有限子集 {x1,x2,,xn}\{x_1, x_2, \dots, x_n\},对应的函数值 {f(x1),f(x2),,f(xn)}\{f(x_1), f(x_2), \dots, f(x_n)\} 服从多元正态分布,即:

[f(x1)f(x2)f(xn)]N([μ(x1)μ(x2)μ(xn)],[k(x1,x1)k(x1,xn)k(xn,x1)k(xn,xn)])\begin{bmatrix} f(x_1) \\ f(x_2) \\ \vdots \\ f(x_n) \end{bmatrix} \sim \mathcal{N}\left( \begin{bmatrix} \mu(x_1) \\ \mu(x_2) \\ \vdots \\ \mu(x_n) \end{bmatrix}, \begin{bmatrix} k(x_1, x_1) & \dots & k(x_1, x_n) \\ \vdots & \ddots & \vdots \\ k(x_n, x_1) & \dots & k(x_n, x_n) \end{bmatrix} \right)

推导过程:

高斯过程的定义要求其在任何有限点集上的联合分布为多元正态分布。这一性质基于高斯分布的闭合性和线性组合的性质。具体推导步骤如下:

  1. 均值函数和协方差函数的定义: 对于任意输入点 xix_i,高斯过程定义其输出 f(xi)f(x_i) 的均值为 μ(xi)\mu(x_i),协方差为 k(xi,xj)k(x_i, x_j)

  2. 联合分布构建: 对于有限个输入点 {x1,x2,,xn}\{x_1, x_2, \dots, x_n\},根据高斯过程的定义,函数值 {f(x1),f(x2),,f(xn)}\{f(x_1), f(x_2), \dots, f(x_n)\} 具有联合高斯分布。其均值向量为 μ=[μ(x1),μ(x2),,μ(xn)]\boldsymbol{\mu} = [\mu(x_1), \mu(x_2), \dots, \mu(x_n)]^\top,协方差矩阵为 KK,其中 Kij=k(xi,xj)K_{ij} = k(x_i, x_j)

  3. 多元正态分布的形式: 因此,联合分布可以表示为:

    [f(x1)f(x2)f(xn)]N(μ,K)\begin{bmatrix} f(x_1) \\ f(x_2) \\ \vdots \\ f(x_n) \end{bmatrix} \sim \mathcal{N}(\boldsymbol{\mu}, K)
  4. 结论: 由于高斯过程定义的均值函数和协方差函数确定了任意有限子集的联合分布均为多元正态分布,因此性质得证。

已知训练数据的后验分布仍为高斯过程

性质描述:

给定一组训练数据 ζ={(xi,yi)}i=1n\zeta = \{(x_i, y_i)\}_{i=1}^n,其中 yi=f(xi)+ϵiy_i = f(x_i) + \epsilon_iϵi\epsilon_i 为独立同分布的高斯噪声,即 ϵiN(0,σ2)\epsilon_i \sim \mathcal{N}(0, \sigma^2),则在观测数据 ζ\zeta 下,后验分布 GPζGP|\zeta 仍然是一个高斯过程。

推导过程:

要证明后验分布 GPζGP|\zeta 仍为高斯过程,需利用贝叶斯推断和高斯分布的性质。具体推导如下:

  1. 先验分布: 假设函数 ff 服从高斯过程先验分布:

    fGP(μ,k)f \sim GP(\mu, k)
  2. 观测模型: 观测数据由真实函数值加上高斯噪声得到:

    y=f(X)+ϵ\boldsymbol{y} = f(\boldsymbol{X}) + \boldsymbol{\epsilon}

    其中,X=[x1,x2,,xn]\boldsymbol{X} = [x_1, x_2, \dots, x_n]^\topy=[y1,y2,,yn]\boldsymbol{y} = [y_1, y_2, \dots, y_n]^\topϵN(0,σ2I)\boldsymbol{\epsilon} \sim \mathcal{N}(0, \sigma^2 I)

  3. 联合分布: 由于先验和噪声都是高斯分布,联合分布为:

    [fy]N([μμ],[KKKK+σ2I])\begin{bmatrix} f \\ \boldsymbol{y} \end{bmatrix} \sim \mathcal{N} \left( \begin{bmatrix} \mu \\ \mu \end{bmatrix}, \begin{bmatrix} K & K \\ K & K + \sigma^2 I \end{bmatrix} \right)

    其中,KK 是核矩阵。

  4. 条件分布: 根据多元高斯分布的条件分布性质,后验分布 fyf|\boldsymbol{y} 仍然是高斯分布,其均值和协方差为:

    μ=μ+K(K+σ2I)1(yμ)\mu_{*} = \mu + K (K + \sigma^2 I)^{-1} (\boldsymbol{y} - \mu) Σ=KK(K+σ2I)1K\Sigma_{*} = K - K (K + \sigma^2 I)^{-1} K
  5. 高斯过程的闭合性: 因此,后验分布 fyf|\boldsymbol{y} 仍然由均值函数 μ\mu_{*} 和协方差函数 Σ\Sigma_{*} 定义,符合高斯过程的定义。因此,GPζGP|\zeta 仍为高斯过程。

时间复杂度:

后验计算涉及到核矩阵 KK 的求逆和行列式的计算。通常情况下,直接计算 Σ=KK(K+σ2I)1K\Sigma_* = K - K (K + \sigma^2 I)^{-1} K 需要进行矩阵逆运算,其时间复杂度为 O(n3)\mathcal{O}(n^3),其中 nn 是训练数据的数量。这限制了高斯过程在大规模数据集上的直接应用,但可以通过稀疏近似等方法进行优化。

满足观测映射的随机函数总概率的计算

性质描述:

对于一组观测数据 ζ={(xi,yi)}i=1n\zeta = \{(x_i, y_i)\}_{i=1}^n,可以计算满足这些观测映射的随机函数 ff 的总概率,即边缘似然(marginal likelihood)p(ζ)p(\zeta)

推导过程:

边缘似然反映了在给定模型参数下,观测数据的概率。其计算步骤如下:

  1. 观测模型: 观测数据由真实函数值加上高斯噪声生成:

    y=f(X)+ϵ\boldsymbol{y} = f(\boldsymbol{X}) + \boldsymbol{\epsilon}

    其中,ϵN(0,σ2I)\boldsymbol{\epsilon} \sim \mathcal{N}(0, \sigma^2 I)

  2. 边缘分布: 因为先验 fGP(μ,k)f \sim GP(\mu, k),且噪声服从高斯分布,因此 y\boldsymbol{y} 的边缘分布也是高斯分布。具体为:

    yN(μ,K+σ2I)\boldsymbol{y} \sim \mathcal{N}(\boldsymbol{\mu}, K + \sigma^2 I)

    其中,μ=[μ(x1),μ(x2),,μ(xn)]\boldsymbol{\mu} = [\mu(x_1), \mu(x_2), \dots, \mu(x_n)]^\topKK 是核矩阵,Kij=k(xi,xj)K_{ij} = k(x_i, x_j)

  3. 边缘似然计算: 边缘似然即为 y\boldsymbol{y} 的概率密度函数:

    p(y)=1(2π)n/2K+σ2I1/2exp(12(yμ)(K+σ2I)1(yμ))p(\boldsymbol{y}) = \frac{1}{(2\pi)^{n/2} |K + \sigma^2 I|^{1/2}} \exp\left( -\frac{1}{2} (\boldsymbol{y} - \boldsymbol{\mu})^\top (K + \sigma^2 I)^{-1} (\boldsymbol{y} - \boldsymbol{\mu}) \right)
  4. 推导细节:

    • 均值向量与协方差矩阵的确定: 根据高斯过程的定义,y\boldsymbol{y} 的均值为 μ\boldsymbol{\mu},协方差为 K+σ2IK + \sigma^2 I,其中 σ2I\sigma^2 I 来自于观测噪声。

    • 概率密度函数的形式: 多元正态分布的概率密度函数形式直接应用于 y\boldsymbol{y},得到上述表达式。

  5. 应用: 边缘似然在模型选择和超参数优化中起着关键作用。通过最大化边缘似然,可以有效地选择核函数的超参数,从而提高模型的泛化能力。

低维空间定义域的高斯过程

性质描述:

将高斯过程的定义域限制在低维空间(例如一维或二维)上,所得的新过程仍然保持高斯过程的性质。这表明高斯过程在处理低维输入时,依然具有其核心的统计性质和推断能力。

推导过程:

高斯过程的定义不依赖于定义域的维度,只要定义域是一个集合,限制到子空间后仍满足高斯过程的定义。具体推导如下:

  1. 定义域的维度无关性: 高斯过程的定义基于输入空间的点集,而不依赖于输入空间的具体维数。因此,将定义域限制在低维空间(如一维或二维)上,只是选择输入点的一个子集,不改变高斯过程的基本属性。

  2. 均值函数和协方差函数的适用性: 对于低维空间中的点 xxxx',依然可以通过均值函数 μ(x)\mu(x) 和协方差函数 k(x,x)k(x, x') 描述它们之间的关系。这些函数的形式不依赖于输入空间的维度,只需适应低维空间的特性即可。

  3. 有限子集的多元正态分布: 高斯过程在任意有限点集上的联合分布为多元正态分布。将输入点限制在低维空间中,此性质依然成立。例如,对于一维输入空间中的点 {x1,x2,,xn}\{x_1, x_2, \dots, x_n\},联合分布为:

    [f(x1)f(x2)f(xn)]N(μ,K)\begin{bmatrix} f(x_1) \\ f(x_2) \\ \vdots \\ f(x_n) \end{bmatrix} \sim \mathcal{N}(\boldsymbol{\mu}, K)

    其中,μ=[μ(x1),μ(x2),,μ(xn)]\boldsymbol{\mu} = [\mu(x_1), \mu(x_2), \dots, \mu(x_n)]^\topKK 为低维空间下的核矩阵。

  4. 结论: 因此,限制定义域到低维空间并不会改变高斯过程作为高斯过程的基本性质。高斯过程在低维空间上的应用依然保持其预测能力和不确定性量化的优势。

在论文中的使用

论文中使用高斯过程建模隐式曲面,这样的表达同时能表示确定的曲面形状(通过均值 μ\mu),以及不确定程度(通过核函数 kk)。沿光线采样时,“低维空间定义域的高斯过程”让我们可以仅关注一维直线上的分布;“已知训练数据的后验分布仍为高斯过程”提供了更新后验分布的方法;“满足观测映射的随机函数总概率的计算”提供了采样时的概率分布计算方法。故高斯过程隐式曲面是一种适合用于建模随机曲面、并用于光追计算的方法。

评论