注意,本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目:https://github.com/Kivy-CN/Stanford-CS-229-CN 中部分的内容进行翻译学习。

高斯过程

介绍

我们在本课程上半部分讨论的许多经典机器学习算法都符合以下模式:给定一组从未知分布中采样的独立同分布的示例训练样本集:

  1. 求解一个凸优化问题,以确定数据单一的“最佳拟合”模型,并
  2. 使用这个估计模型对未来的测试输入点做出“最佳猜测”的预测。

在本节的笔记中,我们将讨论一种不同的学习算法,称为贝叶斯方法。 与经典的学习算法不同,贝叶斯算法并不试图识别数据的“最佳匹配”模型(或者类似地,对新的测试输入做出“最佳猜测”的预测)。相反,其计算模型上的后验分布(或者类似地,计算新的输出的测试数据的后验预测分布)。这些分布提供了一种有用的方法来量化模型估计中的不确定性,并利用我们对这种不确定性的知识来对新的测试点做出更可靠的预测。

我们来关注下回归问题,即:目标是学习从某个nnn维向量的输入空间X=Rn\mathcal{X} = R^nX=Rn到实值目标的输出空间Y=R\mathcal{Y} = RY=R的映射。特别地,我们将讨论一个基于核的完全贝叶斯回归算法,称为高斯过程回归。本节的笔记中涉及的内容主要包括我们之前在课堂上讨论过的许多不同主题(即线性回归1^11的概率解释、贝叶斯方法2^22、核方法3^33和多元高斯4^44的性质)。

1 参见“监督学习,判别算法”课程讲义。

2 参见“正则化和模型选择”课程讲义。

3 参见“支持向量机”课程讲义。

4 参见“因子分析”课程讲义。

本节的笔记后续内容的组织如下。在第1小节中,我们简要回顾了多元高斯分布及其性质。在第2小节中,我们简要回顾了贝叶斯方法在概率线性回归中的应用。第3小节给出了高斯过程的中心思想,第4小节给出了完整的高斯过程回归模型。

1. 多元高斯分布

我们称一个概率密度函数是一个均值为μ∈Rn\mu\in R^nμ∈Rn,协方差矩阵为Σ∈S++n\Sigma\in S_{++}^nΣ∈S++n​的一个多元正态分布(或高斯分布)(multivariate normal (or Gaussian) distribution), 其随机变量是向量值x∈Rnx\in R^nx∈Rn,该概率密度函数可以通过下式表达:

p(x;μ,Σ)=1(2π)n/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ))(1)p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{n/2}|\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right)\qquad\qquad(1) p(x;μ,Σ)=(2π)n/2∣Σ∣1/21​exp(−21​(x−μ)TΣ−1(x−μ))(1)

我们可以写作x∼N(μ,Σ)x\sim\mathcal{N}(\mu,\Sigma)x∼N(μ,Σ)。这里,回想一下线性代数的笔记中S++nS_{++}^nS++n​指的是对称正定n×nn\times nn×n矩阵5^55的空间。

5 实际上,在某些情况下,我们需要处理的多元高斯分布的Σ\SigmaΣ是正半定而非正定(即,Σ\SigmaΣ不满秩)。在这种情况下,Σ−1\Sigma^{-1}Σ−1不存在,所以(1)(1)(1)式中给出的高斯概率密度函数的定义并不适用。例子可以参阅“因子分析”课程讲义。

一般来说,高斯随机变量在机器学习和统计中非常有用,主要有两个原因。首先,它们在统计算法中建模“噪声”时非常常见。通常,噪声可以被认为是影响测量过程的大量独立的小随机扰动的累积;根据中心极限定理,独立随机变量的和趋于高斯分布。其次,高斯随机变量对于许多分析操作都很方便,因为许多涉及高斯分布的积分实际上都有简单的闭式解。在本小节的其余部分,我们将回顾多元高斯分布的一些有用性质。

给定随机向量x∈Rnx \in R^{n}x∈Rn服从多元高斯分布x∼N(μ,Σ)x\sim\mathcal{N}(\mu,\Sigma)x∼N(μ,Σ)。假设xxx中的变量被分成两个集合xA=[x1⋯xr]T∈Rrx_{A}=\left[x_{1} \cdots x_{r}\right]^{T} \in R^{r}xA​=[x1​⋯xr​]T∈Rr和xB=[xr+1⋯xn]T∈Rn−rx_{B}=\left[x_{r+1} \cdots x_{n}\right]^{T} \in R^{n-r}xB​=[xr+1​⋯xn​]T∈Rn−r(对于μ\muμ和Σ\SigmaΣ也进行同样的拆分),则有:

x=[xAxB]μ=[μAμB]Σ=[∑AA∑ABΣBAΣBB]x=\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right] \qquad \mu=\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right] \qquad \Sigma=\left[ \begin{array}{cc}{\sum_{A A}} & {\sum_{A B}} \\ {\Sigma_{B A}} & {\Sigma_{B B}}\end{array}\right] x=[xA​xB​​]μ=[μA​μB​​]Σ=[∑AA​ΣBA​​∑AB​ΣBB​​]

因为Σ=E[(x−μ)(x−μ)T]=ΣT\Sigma=E\left[(x-\mu)(x-\mu)^{T}\right]=\Sigma^{T}Σ=E[(x−μ)(x−μ)T]=ΣT,所以上式中有ΣAB=ΣBAT\Sigma_{A B}=\Sigma_{B A}^{T}ΣAB​=ΣBAT​。下列性质适用:

  1. 规范性。 概率密度函数的归一化,即:

∫xp(x;μ,Σ)dx=1\int_{x} p(x ; \mu, \Sigma) dx = 1 ∫x​p(x;μ,Σ)dx=1

这个特性乍一看似乎微不足道,但实际上对于计算各种积分非常有用,即使是那些看起来与概率分布完全无关的积分(参见附录A.1)!

  1. 边缘性。 边缘概率密度函数:

p(xA)=∫xBp(xA,xB;μ,Σ)dxBp(xB)=∫xAp(xA,xB;μ,Σ)dxA\begin{aligned} p\left(x_{A}\right) &=\int_{x_{B}} p\left(x_{A} , x_{B} ; \mu, \Sigma\right) d x_{B} \\ p\left(x_{B}\right) &=\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu,\Sigma\right) d x_{A} \end{aligned} p(xA​)p(xB​)​=∫xB​​p(xA​,xB​;μ,Σ)dxB​=∫xA​​p(xA​,xB​;μ,Σ)dxA​​

是高斯分布:

xA∼N(μA,ΣAA)xB∼N(μB,ΣBB)\begin{aligned} x_{A} & \sim \mathcal{N}\left(\mu_{A}, \Sigma_{A A}\right) \\ x_{B} & \sim \mathcal{N}\left(\mu_{B}, \Sigma_{B B}\right) \end{aligned} xA​xB​​∼N(μA​,ΣAA​)∼N(μB​,ΣBB​)​

  1. 条件性。 条件概率密度函数:

p(xA∣xB)=p(xA,xB;μ,Σ)∫xAp(xA,xB;μ,Σ)dxAp(xB∣xA)=p(xA,xB;μ,Σ)∫xBp(xA,xB;μ,Σ)dxB\begin{aligned} p\left(x_{A} | x_{B}\right) &=\frac{p\left(x_{A}, x_{B} ; \mu, \Sigma\right)}{\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{A}} \\ p\left(x_{B} | x_{A}\right) &=\frac{p\left(x_{A}, x_{B} ; \mu, \Sigma\right)}{\int_{x_{B}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{B}} \end{aligned} p(xA​∣xB​)p(xB​∣xA​)​=∫xA​​p(xA​,xB​;μ,Σ)dxA​p(xA​,xB​;μ,Σ)​=∫xB​​p(xA​,xB​;μ,Σ)dxB​p(xA​,xB​;μ,Σ)​​

是高斯分布:

xA∣xB∼N(μA+ΣABΣBB−1(xB−μB),ΣAA−ΣABΣBB−1ΣBA)xB∣xA∼N(μB+ΣBAΣAA−1(xA−μA),ΣBB−ΣBAΣAA−1ΣAB)x_{A} | x_{B} \sim \mathcal{N}\left(\mu_{A}+\Sigma_{A B} \Sigma_{B B}^{-1}\left(x_{B}-\mu_{B}\right), \Sigma_{A A}-\Sigma_{A B} \Sigma_{B B}^{-1} \Sigma_{B A}\right) \\ x_{B} | x_{A} \sim \mathcal{N}\left(\mu_{B}+\Sigma_{B A} \Sigma_{A A}^{-1}\left(x_{A}-\mu_{A}\right), \Sigma_{B B}-\Sigma_{B A} \Sigma_{A A}^{-1} \Sigma_{A B}\right) xA​∣xB​∼N(μA​+ΣAB​ΣBB−1​(xB​−μB​),ΣAA​−ΣAB​ΣBB−1​ΣBA​)xB​∣xA​∼N(μB​+ΣBA​ΣAA−1​(xA​−μA​),ΣBB​−ΣBA​ΣAA−1​ΣAB​)

附录A.2给出了这一性质的证明。(参见附录A.3的更简单的派生版本。)

  1. 求和性。 (相同维数的)独立高斯随机变量y∼N(μ,Σ)y \sim \mathcal{N}(\mu, \Sigma)y∼N(μ,Σ)和z∼N(μ′,Σ′)z \sim \mathcal{N}\left(\mu^{\prime}, \Sigma^{\prime}\right)z∼N(μ′,Σ′)之和同样是高斯分布:

y+z∼N(μ+μ′,Σ+Σ′)y+z \sim \mathcal{N}\left(\mu+\mu^{\prime}, \Sigma+\Sigma^{\prime}\right) y+z∼N(μ+μ′,Σ+Σ′)

2. 贝叶斯线性回归

设S={(x(i),y(i))}i=1mS=\left\{\left(x^{(i)}, y^{(i)}\right)\right\}_{i=1}^{m}S={(x(i),y(i))}i=1m​是一组来自未知分布的满足独立同分布的训练集。线性回归的标准概率解释的公式说明了这一点:

y(i)=θTx(i)+ε(i),i=1,…,my^{(i)}=\theta^{T} x^{(i)}+\varepsilon^{(i)}, \quad i=1, \dots, m y(i)=θTx(i)+ε(i),i=1,…,m

其中ε(i)\varepsilon^{(i)}ε(i)是独立同分布的“噪声”变量并且服从分布N(0,Σ2)\mathcal{N}(0,\Sigma^2)N(0,Σ2),由此可见y(i)−θTx(i)∼N(0,σ2)y^{(i)}-\theta^{T} x^{(i)} \sim \mathcal{N}\left(0, \sigma^{2}\right)y(i)−θTx(i)∼N(0,σ2),或等价表示为:

P(y(i)∣x(i),θ)=12πσexp⁡(−(y(i)−θTx(i))22σ2)P\left(y^{(i)} | x^{(i)}, \theta\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}}{2 \sigma^{2}}\right) P(y(i)∣x(i),θ)=2π​σ1​exp(−2σ2(y(i)−θTx(i))2​)

为了方便标记,我们定义了:

X=[−(x(1))T−−(x(2))T−⋮−(x(m))T−]∈Rm×ny⃗=[y(1)y(2)⋮y(m)]∈Rmε→=[ε(1)ε(2)⋮ε(m)]∈RmX=\left[ \begin{array}{c}{-\left(x^{(1)}\right)^{T}-} \\ {-\left(x^{(2)}\right)^{T}-} \\ {\vdots} \\ {-\left(x^{(m)}\right)^{T}-}\end{array}\right] \in \mathbf{R}^{m \times n} \qquad \vec{y}=\left[ \begin{array}{c}{y^{(1)}} \\ {y^{(2)}} \\ {\vdots} \\ {y^{(m)}}\end{array}\right] \in \mathbf{R}^{m} \qquad \overrightarrow{\varepsilon}=\left[ \begin{array}{c}{\varepsilon^{(1)}} \\ {\varepsilon^{(2)}} \\ {\vdots} \\ {\varepsilon^{(m)}}\end{array}\right] \in \mathbf{R}^{m} X=⎣⎢⎢⎢⎢⎡​−(x(1))T−−(x(2))T−⋮−(x(m))T−​⎦⎥⎥⎥⎥⎤​∈Rm×ny​=⎣⎢⎢⎢⎡​y(1)y(2)⋮y(m)​⎦⎥⎥⎥⎤​∈Rmε=⎣⎢⎢⎢⎡​ε(1)ε(2)⋮ε(m)​⎦⎥⎥⎥⎤​∈Rm

在贝叶斯线性回归中,我们假设参数的先验分布也是给定的;例如,一个典型的选择是θ∼N(0,τ2I)\theta \sim \mathcal{N}\left(0, \tau^{2} I\right)θ∼N(0,τ2I)。使用贝叶斯规则可以得到后验参数:

p(θ∣S)=p(θ)p(S∣θ)∫θ′p(θ′)p(S∣θ′)dθ′=p(θ)∏i=1mp(y(i)∣x(i),θ)∫θ′p(θ′)∏i=1mp(y(i)∣x(i),θ′)dθ′(2)p(\theta | S)=\frac{p(\theta) p(S | \theta)}{\int_{\theta^{\prime}} p\left(\theta^{\prime}\right) p\left(S | \theta^{\prime}\right) d \theta^{\prime}}=\frac{p(\theta) \prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)}, \theta\right)}{\int_{\theta^{\prime}} p\left(\theta^{\prime}\right) \prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)}, \theta^{\prime}\right) d \theta^{\prime}}\qquad\qquad(2) p(θ∣S)=∫θ′​p(θ′)p(S∣θ′)dθ′p(θ)p(S∣θ)​=∫θ′​p(θ′)∏i=1m​p(y(i)∣x(i),θ′)dθ′p(θ)∏i=1m​p(y(i)∣x(i),θ)​(2)

假设测试点上的噪声模型与我们的训练点上的噪声模型相同,那么贝叶斯线性回归在一个新的测试点x∗x_*x∗​上的“输出”不只是一个猜测y∗y_*y∗​,而可能是输出的整个概率分布,称为后验预测分布:

p(y∗∣x∗,S)=∫θp(y∗∣x∗,θ)p(θ∣S)dθ(3)p\left(y_{*} | x_{*}, S\right)=\int_{\theta} p\left(y_{*} | x_{*}, \theta\right) p(\theta | S) d \theta \qquad\qquad(3) p(y∗​∣x∗​,S)=∫θ​p(y∗​∣x∗​,θ)p(θ∣S)dθ(3)

对于许多类型的模型,(2)(2)(2)和(3)(3)(3)中的积分是很难计算的,因此,我们经常使用近似的方法,例如MAP估计(参见正则化和模型选择的课程讲义)。

然而,在贝叶斯线性回归的情况下,积分实际上是可处理的!特别是对于贝叶斯线性回归,(在做了大量工作之后!)我们可以证明:

θ∣S∼N(1σ2A−1XTy⃗,A−1)y∗∣x∗,S∼N(1σ2x∗TA−1XTy⃗,x∗TA−1x∗+σ2)\theta | S \sim \mathcal{N}\left(\frac{1}{\sigma^{2}} A^{-1} X^{T} \vec{y}, A^{-1}\right) \\ y_{*} | x_{*}, S \sim \mathcal{N}\left(\frac{1}{\sigma^{2}} x_{*}^{T} A^{-1} X^{T} \vec{y}, x_{*}^{T} A^{-1} x_{*}+\sigma^{2}\right) θ∣S∼N(σ21​A−1XTy​,A−1)y∗​∣x∗​,S∼N(σ21​x∗T​A−1XTy​,x∗T​A−1x∗​+σ2)

其中A=1σ2XTX+1τ2IA=\frac{1}{\sigma^{2}} X^{T} X+\frac{1}{\tau^{2}} IA=σ21​XTX+τ21​I。这些公式的推导有点复杂。6^66但是从这些方程中,我们至少可以大致了解贝叶斯方法的含义:对于测试输入x∗x_*x∗​,测试输出y∗y_*y∗​的后验分布是高斯分布——这个分布反映了在我们预测y∗=θTx∗+ε∗y_{*}=\theta^{T} x_{*}+\varepsilon_{*}y∗​=θTx∗​+ε∗​时,由ϵ∗\epsilon_*ϵ∗​的随机性以及我们选择参数θ\thetaθ的不确定而导致预测结果的不确定性。相反,古典概率线性回归模型直接从训练数据估计参数θ\thetaθ,但没有提供估计这些参数的可靠性(参见图1)。

6 有关完整的推导,可以参考[1]注:参考资料[1]见文章最下方。或者参考附录,其中给出了一些基于平方补全技巧的参数,请自己推导这个公式!

图1:一维线性回归问题的贝叶斯线性回归y(i)=θx(i)+ϵ(i)y^{(i)}=\theta x^{(i)}+\epsilon^{(i)}y(i)=θx(i)+ϵ(i),其中噪音独立同分布的服从ϵ(i)∼N(0,1)\epsilon^{(i)}\sim \mathcal{N}(0,1)ϵ(i)∼N(0,1)。绿色区域表示模型预测的95%95\%95%置信区间。注意,绿色区域的(垂直)宽度在末端最大,但在中部最窄。这个区域反映了参数θ\thetaθ估计的不确定性。与之相反,经典线性回归模型会显示一个等宽的置信区域,在输出中只反映噪声服从N(0,σ2)\mathcal{N}(0,\sigma^2)N(0,σ2)。

3. 高斯过程

如第111节所述,多元高斯分布由于其良好的分析性质,对于实值变量的有限集合建模是有用的。高斯过程是多元高斯函数的推广,适用于无穷大小的实值变量集合。特别地,这个扩展将允许我们把高斯过程看作不仅仅是随机向量上的分布,而实际上是随机函数上的分布。

7 令H\mathcal{H}H是一类X→Y\mathcal{X}\rightarrow\mathcal{Y}X→Y的函数映射。一个来自H\mathcal{H}H的随机函数f(⋅)f(\cdot)f(⋅)代表根据H\mathcal{H}H的概率分布随机从H\mathcal{H}H中选择一个函数。一个潜在的困惑是:你可能倾向于认为随机函数的输出在某种程度上是随机的;事实并非如此。一个随机函数f(⋅)f(\cdot)f(⋅),一旦有概率的从H\mathcal{H}H中选择,则表示从输入X\mathcal{X}X到输出Y\mathcal{Y}Y的确定性映射。

3.1 有限域函数上的概率分布

要了解如何对函数上的概率分布进行参数化,请考虑下面的简单示例。设X={x1,…,xm}\mathcal{X}=\left\{x_{1}, \dots, x_{m}\right\}X={x1​,…,xm​}为任何有限元素集。现在,考虑集合H\mathcal{H}H,该集合代表所有可能的从X\mathcal{X}X到RRR的函数映射。例如,可以给出如下的函数f0(⋅)∈Hf_0(\cdot)\in\mathcal{H}f0​(⋅)∈H的例子:

f0(x1)=5,f0(x2)=2.3,f0(x2)=−7,…,f0(xm−1)=−π,f0(xm)=8f_{0}\left(x_{1}\right)=5, \quad f_{0}\left(x_{2}\right)=2.3, \quad f_{0}\left(x_{2}\right)=-7, \quad \ldots, \quad f_{0}\left(x_{m-1}\right)=-\pi, \quad f_{0}\left(x_{m}\right)=8 f0​(x1​)=5,f0​(x2​)=2.3,f0​(x2​)=−7,…,f0​(xm−1​)=−π,f0​(xm​)=8

因为任意函数f(⋅)∈Hf(\cdot) \in \mathcal{H}f(⋅)∈H的定义域仅有mmm个元素,所以我们可以简介的使用mmm维向量f⃗=[f(x1)f(x2)⋯f(xm)]T\vec{f}=\left[f\left(x_{1}\right) \quad f\left(x_{2}\right) \quad \cdots \quad f\left(x_{m}\right)\right]^{T}f​=[f(x1​)f(x2​)⋯f(xm​)]T表达f(⋅)f(\cdot)f(⋅)。为了指定函数f(⋅)∈Hf(\cdot) \in \mathcal{H}f(⋅)∈H上的概率分布,我们必须把一些“概率密度”与H\mathcal{H}H中的每个函数联系起来。一种自然的方法是利用函数f(⋅)∈Hf(\cdot) \in \mathcal{H}f(⋅)∈H和他们的向量表示f⃗\vec{f}f​之间的一一对应关系。特别是,如果我们指定f⃗∼N(μ→,σ2I)\vec{f} \sim \mathcal{N}\left(\overrightarrow{\mu}, \sigma^{2} I\right)f​∼N(μ​,σ2I),则意味着函数f(⋅)f(\cdot)f(⋅)上的概率分布,其中函数f(⋅)f(\cdot)f(⋅)的概率密度函数可以通过下面的式子给出:

p(h)=∏i=1m12πσexp⁡(−12σ2(f(xi)−μi)2)p(h)=\prod_{i=1}^{m} \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{1}{2 \sigma^{2}}\left(f\left(x_{i}\right)-\mu_{i}\right)^{2}\right) p(h)=i=1∏m​2π​σ1​exp(−2σ21​(f(xi​)−μi​)2)

在上面的例子中,我们证明了有限域函数上的概率分布可以用函数输出f(x1),…,f(xm)f\left(x_{1}\right), \ldots, f\left(x_{m}\right)f(x1​),…,f(xm​)的有限数量的输入点x1,…,xmx_{1}, \dots, x_{m}x1​,…,xm​上的有限维多元高斯分布来表示。当定义域的大小可能是无穷大时,我们如何指定函数上的概率分布?为此,我们转向一种更奇特的概率分布类型,称为高斯过程。

3.2 无限域函数上的概率分布

随机过程是随机变量的集合{f(x):x∈X}\{f(x) : x \in \mathcal{X}\}{f(x):x∈X},其来自某个集合X\mathcal{X}X的元素索引,称为索引集。8^88 高斯过程是一个随机过程,任何有限子集合的随机变量都有一个多元高斯分布。

8 通常,当X=R\mathcal{X} = RX=R时,可以将标识符x∈Xx\in \mathcal{X}x∈X解释为表示时间,因此变量f(x)f(x)f(x)表示随时间的随机量的时间演化。然而,在高斯过程回归模型中,将标识符集作为回归问题的输入空间。

特别是一组随机变量集合{f(x):x∈X}\{f(x) : x \in \mathcal{X}\}{f(x):x∈X}被称为来自于一个具有平均函数m(⋅)m(\cdot)m(⋅)和协方差函数k(⋅,⋅)k(\cdot, \cdot)k(⋅,⋅)的高斯过程,满足对于任意元素是x1,…,xm∈Xx_{1}, \ldots, x_{m} \in \mathcal{X}x1​,…,xm​∈X有限集合,相关的有限随机变量集f(x1),…,f(xm)f\left(x_{1}\right), \ldots, f\left(x_{m}\right)f(x1​),…,f(xm​)具有如下分布:

[f(x1)⋮f(xm)]∼N([m(x1)⋮m(xm)],[k(x1,x1)⋯k(x1,xm)⋮⋱⋮k(xm,x1)⋯k(xm,xm)])\left[ \begin{array}{c}{f\left(x_{1}\right)} \\ {\vdots} \\ {f\left(x_{m}\right)}\end{array}\right]\sim \mathcal{N}\left(\left[ \begin{array}{c}{m\left(x_{1}\right)} \\ {\vdots} \\ {m\left(x_{m}\right)}\end{array}\right], \left[ \begin{array}{ccc}{k\left(x_{1}, x_{1}\right)} & {\cdots} & {k\left(x_{1}, x_{m}\right)} \\ {\vdots} & {\ddots} & {\vdots} \\ {k\left(x_{m}, x_{1}\right)} & {\cdots} & {k\left(x_{m}, x_{m}\right)}\end{array}\right]\right) ⎣⎢⎡​f(x1​)⋮f(xm​)​⎦⎥⎤​∼N⎝⎜⎛​⎣⎢⎡​m(x1​)⋮m(xm​)​⎦⎥⎤​,⎣⎢⎡​k(x1​,x1​)⋮k(xm​,x1​)​⋯⋱⋯​k(x1​,xm​)⋮k(xm​,xm​)​⎦⎥⎤​⎠⎟⎞​

我们用下面的符号来表示:

f(⋅)∼GP(m(⋅),k(⋅,⋅))f(\cdot) \sim \mathcal{G P}(m(\cdot), k(\cdot, \cdot)) f(⋅)∼GP(m(⋅),k(⋅,⋅))

注意,均值函数和协方差函数的名称很恰当,因为上述性质意味着:

m(x)=E[x]k(x,x′)=E[(x−m(x))(x′−m(x′))\begin{aligned} m(x) &=E[x] \\ k\left(x, x^{\prime}\right) &=E\left[(x-m(x))\left(x^{\prime}-m\left(x^{\prime}\right)\right)\right.\end{aligned} m(x)k(x,x′)​=E[x]=E[(x−m(x))(x′−m(x′))​

对于任意x,x′∈Xx,x'\in\mathcal{X}x,x′∈X。

直观地说,我们可以把从高斯过程中得到的函数f(⋅)f(\cdot)f(⋅)看作是由高维多元高斯函数得到的高维向量。这里,高斯函数的每个维数对应于标识符集合X\mathcal{X}X中的一个元素xxx,随机向量的对应分量表示f(x)f(x)f(x)的值。利用多元高斯函数的边缘性,我们可以得到任意有限子集合所对应的多元高斯函数的边缘概率密度函数。

什么样的函数m(⋅)m(\cdot)m(⋅)和k(⋅,⋅)k(\cdot,\cdot)k(⋅,⋅)才能产生有效的高斯过程呢?一般情况下,任何实值函数m(⋅)m(\cdot)m(⋅)都是可以接受的,但是对于k(⋅,⋅)k(\cdot,\cdot)k(⋅,⋅),对于任何一组元素x1,…,xm∈Xx_{1}, \ldots, x_{m} \in \mathcal{X}x1​,…,xm​∈X都必须是可以接受的,结果矩阵如下:

K=[k(x1,x1)⋯k(x1,xm)⋮⋱⋮k(xm,x1)⋯k(xm,xm)]K=\left[ \begin{array}{ccc}{k\left(x_{1}, x_{1}\right)} & {\cdots} & {k\left(x_{1}, x_{m}\right)} \\ {\vdots} & {\ddots} & {\vdots} \\ {k\left(x_{m}, x_{1}\right)} & {\cdots} & {k\left(x_{m}, x_{m}\right)}\end{array}\right] K=⎣⎢⎡​k(x1​,x1​)⋮k(xm​,x1​)​⋯⋱⋯​k(x1​,xm​)⋮k(xm​,xm​)​⎦⎥⎤​

是一个有效的协方差矩阵,对应于某个多元高斯分布。概率论中的一个标准结果表明,如果KKK是正半定的,这是正确的。听起来是不是很熟悉?

基于任意输入点计算协方差矩阵的正半定条件,实际上与核的Mercer条件相同!函数k(⋅,⋅)k(\cdot,\cdot)k(⋅,⋅)是一个有效的核,前提是对于任意一组输入点x1,…,xm∈Xx_{1}, \ldots, x_{m} \in \mathcal{X}x1​,…,xm​∈X,因此,任何有效的核函数都可以用作协方差函数,这就是基于核的概率分布。

3.3 平方指数核

图2:样本来自于一个零均值高斯过程,以kSE(⋅,⋅)k_{S E}(\cdot, \cdot)kSE​(⋅,⋅)为先验协方差函数。使用(a) τ=0.5,\tau=0.5,τ=0.5, (b) τ=2,\tau=2,τ=2, and (c)τ=10(\mathrm{c}) \tau=10(c)τ=10。注意,随着带宽参数τ\tauτ的增加,然后点比以前更远会有较高的相关性,因此采样函数往往整体是流畅的。

为了直观地了解高斯过程是如何工作的,考虑一个简单的零均值高斯过程:

f(⋅)∼GP(0,k(⋅,⋅))f(\cdot) \sim \mathcal{G P}(0, k(\cdot, \cdot)) f(⋅)∼GP(0,k(⋅,⋅))

定义一些函数h:X→Rh:\mathcal{X}\rightarrow Rh:X→R,其中X=R\mathcal{X}=RX=R。这里,我们选择核函数 作为平方指数9^99核函数,定义如下:

9 在支持向量机的背景下,我们称之为高斯核;为了避免与高斯过程混淆,我们将这个核称为平方指数核,尽管这两个核在形式上是相同的。

kSE(x,x′)=exp⁡(−12τ2∥x−x′∥2)k_{S E}\left(x, x^{\prime}\right)=\exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) kSE​(x,x′)=exp(−2τ21​∥x−x′∥2)

对于一些τ>0\tau> 0τ>0。从这个高斯过程中采样的随机函数是什么样的?

在我们的例子中,由于我们使用的是一个零均值高斯过程,我们期望高斯过程中的函数值会趋向于分布在零附近。此外,对于任意一对元素x,x′∈Xx, x^{\prime} \in \mathcal{X}x,x′∈X。

  • f(x)f(x)f(x)和f(x′)f(x')f(x′)将趋向于有高协方差xxx和x′x'x′在输入空间“附近”(即:∥x−x′∥=∣x−x′∣≈0,\left\|x-x^{\prime}\right\|=\left|x-x^{\prime}\right| \approx 0,∥x−x′∥=∣x−x′∣≈0, 因此 exp⁡(−12τ2∥x−x′∥2)≈1\exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) \approx 1exp(−2τ21​∥x−x′∥2)≈1)
  • 当xxx和x′x'x′相距很远时,f(x)f(x)f(x)和f(x′)f(x')f(x′)的协方差很低(即:∥x−x′∥≫0,\left\|x-x^{\prime}\right\| \gg 0,∥x−x′∥≫0, 因此exp⁡(−12τ2∥x−x′∥2)≈0\exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) \approx 0exp(−2τ21​∥x−x′∥2)≈0)

更简单地说,从一个零均值高斯过程中得到的函数具有平方指数核,它将趋向于局部光滑,具有很高的概率;即:附近的函数值高度相关,并且在输入空间中相关性作为距离的函数递减(参见图2)。

4. 高斯过程回归

正如上一节所讨论的,高斯过程为函数上的概率分布提供了一种建模方法。在这里,我们讨论了如何在贝叶斯回归的框架下使用函数上的概率分布。

4.1 高斯过程回归模型

图3:高斯过程回归使用一个零均值高斯先验过程,以kSE(⋅,⋅)k_{S E}(\cdot, \cdot)kSE​(⋅,⋅)为协方差函数(其中τ=0.1\tau=0.1τ=0.1),其中噪声等级为σ=1\sigma=1σ=1以及(a)m=10,(b)m=20,(c)m=40(a)m=10,(b) m=20,(c)m=40(a)m=10,(b)m=20,(c)m=40训练样本。蓝线表示后验预测分布的均值,绿色阴影区域表示基于模型方差估计的9595%95置信区间。随着训练实例数量的增加,置信区域的大小会缩小,以反映模型估计中不确定性的减少。还请注意,在图像(a)(a)(a)中,9595%95置信区间在训练点附近缩小,但在远离训练点的地方要大得多,正如人们所期望的那样。

设S={(x(i),y(i))}i=1mS=\left\{\left(x^{(i)}, y^{(i)}\right)\right\}_{i=1}^{m}S={(x(i),y(i))}i=1m​是一组来自未知分布的满足独立同分布的训练集。在高斯过程回归模型中公式说明了这一点:

y(i)=f(x(i))+ε(i),i=1,…,my^{(i)}=f\left(x^{(i)}\right)+\varepsilon^{(i)}, \quad i=1, \ldots, m y(i)=f(x(i))+ε(i),i=1,…,m

其中ε(i)\varepsilon^{(i)}ε(i)是独立同分布的“噪声”变量并且服从分布N(0,Σ2)\mathcal{N}(0,\Sigma^2)N(0,Σ2)。就像在贝叶斯线性回归中,我们也假设一个函数f(⋅)f(\cdot)f(⋅)的先验分布。 特别地,我们假设一个零均值高斯过程先验:

f(⋅)∼GP(0,k(⋅,⋅))f(\cdot) \sim \mathcal{G} \mathcal{P}(0, k(\cdot, \cdot)) f(⋅)∼GP(0,k(⋅,⋅))

对于一些有效的协方差函数k(⋅,⋅)k(\cdot, \cdot)k(⋅,⋅)。

现在,设T={(x∗(i),y∗(i))}i=1m∗T=\left\{\left(x_{*}^{(i)}, y_{*}^{(i)}\right)\right\}_{i=1}^{m_{*}}T={(x∗(i)​,y∗(i)​)}i=1m∗​​是从一些未知分布SSS中取得的独立同分布的测试点集合。10^1010为了方便标记,我们定义:

10 我们还假设TTT和SSS是相互独立的。

X=[−(x(1))T−−(x(2))T−⋮−(x(m))T−]∈Rm×nf⃗=[f(x(1))f(x(2))⋮f(x(m))],ε→=[ε(1)ε(2)⋮ε(m)],y⃗=[y(1)y(2)⋮y(m)]∈RmX∗=[−(x∗(1))T−−(x∗(2))T−⋮−(x∗(m∗))T−]∈Rm∗×nf∗→=[f(x∗(1))f(x∗(2))⋮f(x∗(m∗))],ε→∗=[ε∗(1)ε∗(2)⋮ε∗(m∗)],y⃗∗=[y∗(1)y∗(2)⋮y∗(m∗)]∈RmX= \left[ \begin{array}{c}{-\left(x^{(1)}\right)^{T}-} \\ {-\left(x^{(2)}\right)^{T}-} \\ {\vdots} \\ {-\left(x^{(m)}\right)^{T}-}\end{array}\right] \in \mathbf{R}^{m \times n} \quad \vec{f}= \left[ \begin{array}{c}{f\left(x^{(1)}\right)} \\ {f\left(x^{(2)}\right)} \\ {\vdots} \\ {f\left(x^{(m)}\right)}\end{array}\right], \quad \overrightarrow{\varepsilon}= \left[ \begin{array}{c}{\varepsilon^{(1)}} \\ {\varepsilon^{(2)}} \\ {\vdots} \\ {\varepsilon^{(m)}}\end{array}\right], \quad \vec{y}= \left[ \begin{array}{c}{y^{(1)}} \\ {y^{(2)}} \\ {\vdots} \\ {y^{(m)}}\end{array}\right] \in \mathbf{R}^{m} \\ X_{*}= \left[ \begin{array}{c}{-\left(x_{*}^{(1)}\right)^{T}-} \\ {-\left(x_{*}^{(2)}\right)^{T}-} \\ {\vdots} \\ {-\left(x_{*}^{\left(m_{*}\right)}\right)^{T}-}\end{array}\right] \in \mathbf{R}^{m_{*} \times n} \quad \overrightarrow{f_{*}}= \left[ \begin{array}{c}{f\left(x_{*}^{(1)}\right)} \\ {f\left(x_{*}^{(2)}\right)} \\ {\vdots} \\ {f\left(x_{*}^{\left(m_{*}\right)}\right)}\end{array}\right], \quad \overrightarrow{\varepsilon}_{*}= \left[ \begin{array}{c}{\varepsilon_{*}^{(1)}} \\ {\varepsilon_{*}^{(2)}} \\ {\vdots} \\ {\varepsilon_{*}^{\left(m_{*}\right)}}\end{array}\right], \quad \vec{y}_{*}= \left[ \begin{array}{c}{y_{*}^{(1)}} \\ {y_{*}^{(2)}} \\ {\vdots} \\ {y_{*}^{\left(m_{*}\right)}}\end{array}\right] \in \mathbf{R}^{m} X=⎣⎢⎢⎢⎢⎡​−(x(1))T−−(x(2))T−⋮−(x(m))T−​⎦⎥⎥⎥⎥⎤​∈Rm×nf​=⎣⎢⎢⎢⎡​f(x(1))f(x(2))⋮f(x(m))​⎦⎥⎥⎥⎤​,ε=⎣⎢⎢⎢⎡​ε(1)ε(2)⋮ε(m)​⎦⎥⎥⎥⎤​,y​=⎣⎢⎢⎢⎡​y(1)y(2)⋮y(m)​⎦⎥⎥⎥⎤​∈RmX∗​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​−(x∗(1)​)T−−(x∗(2)​)T−⋮−(x∗(m∗​)​)T−​⎦⎥⎥⎥⎥⎥⎥⎥⎤​∈Rm∗​×nf∗​​=⎣⎢⎢⎢⎢⎢⎢⎡​f(x∗(1)​)f(x∗(2)​)⋮f(x∗(m∗​)​)​⎦⎥⎥⎥⎥⎥⎥⎤​,ε∗​=⎣⎢⎢⎢⎢⎡​ε∗(1)​ε∗(2)​⋮ε∗(m∗​)​​⎦⎥⎥⎥⎥⎤​,y​∗​=⎣⎢⎢⎢⎢⎡​y∗(1)​y∗(2)​⋮y∗(m∗​)​​⎦⎥⎥⎥⎥⎤​∈Rm

给定训练数据SSS,先验p(h)p(h)p(h),以及测试输入X∗X_*X∗​,我们如何计算测试输出的后验预测分布?对于第222节中的贝叶斯线性回归,我们使用贝叶斯规则来计算后验参数,然后对于新的测试点x∗x_*x∗​使用后验参数计算后验预测分布p(y∗∣x∗,S)p\left(y_{*} | x_{*}, S\right)p(y∗​∣x∗​,S)。然而,对于高斯过程回归,结果是存在一个更简单的解决方案!

4.2 预测

回想一下,对于从具有协方差函数k(⋅,⋅)k(\cdot,\cdot)k(⋅,⋅)的零均值高斯先验过程中得到的任何函数f(⋅)f(\cdot)f(⋅),其任意一组输入点上的边缘分布必须是一个联合的多元高斯分布。特别是,这必须适用于训练和测试点,所以我们有下式:

[f⃗f⃗∗]∣X,X∗∼N(0→,[K(X,X)K(X,X∗)K(X∗,X)K(X∗,X∗)])\left[ \begin{array}{c}{\vec{f}} \\ {\vec{f}_*}\end{array}\right] | X, X_{*} \sim \mathcal{N}\left(\overrightarrow{0}, \left[ \begin{array}{cc}{K(X, X)} & {K\left(X, X_{*}\right)} \\ {K\left(X_{*}, X\right)} & {K\left(X_{*}, X_{*}\right)}\end{array}\right]\right) [f​f​∗​​]∣X,X∗​∼N(0,[K(X,X)K(X∗​,X)​K(X,X∗​)K(X∗​,X∗​)​])

其中:

f⃗∈Rmsuch that f⃗=[f(x(1))⋯f(x(m))]Tf⃗∗∈Rm⋅such that f⃗∗=[f(x∗(1))⋯f(x∗(m))]TK(X,X)∈Rm×msuch that (K(X,X))ij=k(x(i),x(j))K(X,X∗)∈Rm×m∗such that (K(X,X∗))ij=k(x(i),x∗(j))K(X∗,X)∈Rm∗×msuch that (K(X∗,X))ij=k(x∗(i),x(j))K(X∗,X∗)∈Rm∗×m∗such that (K(X∗,X∗))ij=k(x∗(i),x∗(j))\vec{f} \in \mathbf{R}^{m} \text { such that } \vec{f}=\left[f\left(x^{(1)}\right) \cdots f\left(x^{(m)}\right)\right]^{T}\\ \vec{f}_{*} \in \mathbf{R}^{m} \cdot \text { such that } \vec{f}_{*}=\left[f\left(x_{*}^{(1)}\right) \cdots f\left(x_{*}^{(m)}\right)\right]^{T} \\ K(X, X) \in \mathbf{R}^{m \times m} \text { such that }(K(X, X))_{i j}=k\left(x^{(i)}, x^{(j)}\right) \\ K\left(X, X_{*}\right) \in \mathbf{R}^{m \times m_*} \text { such that }\left(K\left(X, X_{*}\right)\right)_{i j}=k\left(x^{(i)}, x_{*}^{(j)}\right) \\ K\left(X_{*}, X\right) \in \mathbf{R}^{m_* \times m} \text { such that }\left(K\left(X_{*}, X\right)\right)_{i j}=k\left(x_{*}^{(i)}, x^{(j)}\right) \\ K\left(X_{*}, X_{*}\right) \in \mathbf{R}^{m_{*} \times m_{*}} \text { such that }\left(K\left(X_{*}, X_{*}\right)\right)_{i j}=k\left(x_{*}^{(i)}, x_{*}^{(j)}\right) f​∈Rm such that f​=[f(x(1))⋯f(x(m))]Tf​∗​∈Rm⋅ such that f​∗​=[f(x∗(1)​)⋯f(x∗(m)​)]TK(X,X)∈Rm×m such that (K(X,X))ij​=k(x(i),x(j))K(X,X∗​)∈Rm×m∗​ such that (K(X,X∗​))ij​=k(x(i),x∗(j)​)K(X∗​,X)∈Rm∗​×m such that (K(X∗​,X))ij​=k(x∗(i)​,x(j))K(X∗​,X∗​)∈Rm∗​×m∗​ such that (K(X∗​,X∗​))ij​=k(x∗(i)​,x∗(j)​)

根据我们独立同分布噪声假设,可以得到:

[ε→ε→∗]∼N(0,[σ2I0→0→Tσ2I])\left[ \begin{array}{c}{\overrightarrow{\varepsilon}} \\ {\overrightarrow{\varepsilon}_{*}}\end{array}\right]\sim\mathcal{N}\left(0,\left[ \begin{array}{cc}{\sigma^{2} I} & {\overrightarrow{0}} \\ {\overrightarrow{0}^{T}} & {\sigma^{2} I}\end{array}\right]\right) [εε∗​​]∼N(0,[σ2I0T​0σ2I​])

独立高斯随机变量的和也是高斯的,所以有:

[y⃗y⃗∗]∣X,X∗=[f⃗f⃗]+[ε→ε→∗]∼N(0→,[K(X,X)+σ2IK(X,X∗)K(X∗,X)K(X∗,X∗)+σ2I])\left[ \begin{array}{c}{\vec{y}} \\ {\vec{y}_{*}}\end{array}\right] | X, X_{*}= \left[ \begin{array}{c}{\vec{f}} \\ {\vec{f}}\end{array}\right]+\left[ \begin{array}{c}{\overrightarrow{\varepsilon}} \\ {\overrightarrow{\varepsilon}_{*}}\end{array}\right] \sim \mathcal{N}\left(\overrightarrow{0}, \left[ \begin{array}{cc}{K(X, X)+\sigma^{2} I} & {K\left(X, X_{*}\right)} \\ {K\left(X_{*}, X\right)} & {K\left(X_{*}, X_{*}\right)+\sigma^{2} I}\end{array}\right]\right) [y​y​∗​​]∣X,X∗​=[f​f​​]+[εε∗​​]∼N(0,[K(X,X)+σ2IK(X∗​,X)​K(X,X∗​)K(X∗​,X∗​)+σ2I​])

现在,用高斯函数的条件设定规则,它遵循下面的式子:

y∗→∣y⃗,X,X∗∼N(μ∗,Σ∗)\overrightarrow{y_{*}} | \vec{y}, X, X_{*} \sim \mathcal{N}\left(\mu^{*}, \Sigma^{*}\right) y∗​​∣y​,X,X∗​∼N(μ∗,Σ∗)

其中:

μ∗=K(X∗,X)(K(X,X)+σ2I)−1y⃗Σ∗=K(X∗,X∗)+σ2I−K(X∗,X)(K(X,X)+σ2I)−1K(X,X∗)\begin{aligned} \mu^{*} &=K\left(X_{*}, X\right)\left(K(X, X)+\sigma^{2} I\right)^{-1} \vec{y} \\ \Sigma^{*} &=K\left(X_{*}, X_{*}\right)+\sigma^{2} I-K\left(X_{*}, X\right)\left(K(X, X)+\sigma^{2} I\right)^{-1} K\left(X, X_{*}\right) \end{aligned} μ∗Σ∗​=K(X∗​,X)(K(X,X)+σ2I)−1y​=K(X∗​,X∗​)+σ2I−K(X∗​,X)(K(X,X)+σ2I)−1K(X,X∗​)​

就是这样!值得注意的是,在高斯过程回归模型中进行预测非常简单,尽管高斯过程本身相当复杂!11^{11}11

11 有趣的是,贝叶斯线性回归,当以正确的方式进行核化时,结果与高斯过程回归完全等价!但贝叶斯线性回归的后验预测分布的推导要复杂得多,对算法进行核化的工作量更大。高斯过程透视图当然要简单得多。

5. 总结

在结束对高斯过程的讨论时,我们指出了高斯过程在回归问题中是一个有吸引力的模型的一些原因,在某些情况下,高斯过程可能优于其他模型(如线性和局部加权线性回归):

  1. 作为贝叶斯方法,高斯过程模型不仅可以量化问题的内在噪声,还可以量化参数估计过程中的误差,从而使预测的不确定性得到量化。此外,贝叶斯方法中的许多模型选择和超参数选择方法都可以立即应用于高斯过程(尽管我们没有在这里讨论这些高级主题)。
  2. 与局部加权线性回归一样,高斯过程回归是非参数的,因此可以对输入点的任意函数进行建模。
  3. 高斯过程回归模型为将核引入回归建模框架提供了一种自然的方法。通过对核的仔细选择,高斯过程回归模型有时可以利用数据中的结构(尽管我们也没有在这里研究这个问题)。
  4. 高斯过程回归模型,尽管在概念上可能有些难以理解,但仍然导致了简单而直接的线性代数实现。
参考资料

[1] Carl E. Rasmussen and Christopher K. I. Williams. Gaussian Processes for Machine Learning. MIT Press, 2006. Online: http://www.gaussianprocess.org/gpml/

附录 A.1

在这个例子中,我们展示了如何使用多元高斯的归一化特性来计算相当吓人的多元积分,而不需要执行任何真正的微积分!假设你想计算下面的多元积分:

I(A,b,c)=∫xexp⁡(−12xTAx−xTb−c)dxI(A, b, c)=\int_{x} \exp \left(-\frac{1}{2} x^{T} A x-x^{T} b-c\right) d x I(A,b,c)=∫x​exp(−21​xTAx−xTb−c)dx

尽管可以直接执行多维积分(祝您好运!),但更简单的推理是基于一种称为“配方法”的数学技巧。特别的:

I(A,b,c)=exp⁡(−c)⋅∫xexp⁡(−12xTAx−xTAA−1b)dx=exp⁡(−c)⋅∫xexp⁡(−12(x−A−1b)TA(x−A−1b)−bTA−1b)dx=exp⁡(−c−bTA−1b)⋅∫xexp⁡(−12(x−A−1b)TA(x−A−1b))dx\begin{aligned} I(A, b, c) &=\exp (-c) \cdot \int_{x} \exp \left(-\frac{1}{2} x^{T} A x-x^{T} A A^{-1} b\right)d x \\ &=\exp (-c) \cdot \int_{x} \exp \left(-\frac{1}{2}\left(x-A^{-1} b\right)^{T} A\left(x-A^{-1} b\right)-b^{T} A^{-1} b\right) d x \\ &=\exp \left(-c-b^{T} A^{-1} b\right) \cdot \int_{x} \exp \left(-\frac{1}{2}\left(x-A^{-1} b\right)^{T} A\left(x-A^{-1} b\right)\right) d x \end{aligned} I(A,b,c)​=exp(−c)⋅∫x​exp(−21​xTAx−xTAA−1b)dx=exp(−c)⋅∫x​exp(−21​(x−A−1b)TA(x−A−1b)−bTA−1b)dx=exp(−c−bTA−1b)⋅∫x​exp(−21​(x−A−1b)TA(x−A−1b))dx​

定义μ=A−1b\mu=A^{-1} bμ=A−1b 和 Σ=A−1\Sigma=A^{-1}Σ=A−1,可以得到I(A,b,c)I(A,b,c)I(A,b,c)等于:

(2π)m/2∣Σ∣1/2exp⁡(c+bTA−1b)⋅[1(2π)m/2∣Σ∣1/2∫xexp⁡(−12(x−μ)TΣ−1(x−μ))dx]\frac{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}}{\exp \left(c+b^{T} A^{-1} b\right)} \cdot\left[\frac{1}{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}} \int_{x} \exp \left(-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right) d x\right] exp(c+bTA−1b)(2π)m/2∣Σ∣1/2​⋅[(2π)m/2∣Σ∣1/21​∫x​exp(−21​(x−μ)TΣ−1(x−μ))dx]

然而,括号中的项在形式上与多元高斯函数的积分是相同的!因为我们知道高斯密度可以归一化,所以括号里的项等于111。因此:

I(A,b,c)=(2π)m/2∣A−1∣1/2exp⁡(c+bTA−1b)I(A, b, c)=\frac{(2 \pi)^{m / 2}\left|A^{-1}\right|^{1 / 2}}{\exp \left(c+b^{T} A^{-1} b\right)} I(A,b,c)=exp(c+bTA−1b)(2π)m/2∣∣​A−1∣∣​1/2​

附录 A.2

推导出给定xBx_BxB​下xAx_AxA​的分布形式;另一个结果可以立即根据对称性可以得到。注意到:

p(xA∣xB)=1∫xAp(xA,xB;μ,Σ)dxA⋅[1(2π)m/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ))]=1Z1exp⁡{−12([xAxB]−[μAμB])T[VAAVABVBAVBB]([xAxB]−[μAμB])}\begin{aligned} p\left(x_{A} | x_{B}\right)&=\frac{1}{\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{A}} \cdot\left[\frac{1}{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}} \exp \left(-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right)\right] \\ &=\frac{1}{Z_{1}} \exp \left\{-\frac{1}{2}\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right)^{T} \left[ \begin{array}{cc}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right)\right\} \end{aligned} p(xA​∣xB​)​=∫xA​​p(xA​,xB​;μ,Σ)dxA​1​⋅[(2π)m/2∣Σ∣1/21​exp(−21​(x−μ)TΣ−1(x−μ))]=Z1​1​exp{−21​([xA​xB​​]−[μA​μB​​])T[VAA​VBA​​VAB​VBB​​]([xA​xB​​]−[μA​μB​​])}​

其中Z1Z_1Z1​是不依赖于xAx_AxA​的比例常数,且:

Σ−1=V=[VAAVABVBAVBB]\Sigma^{-1}=V=\left[ \begin{array}{ll}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right] Σ−1=V=[VAA​VBA​​VAB​VBB​​]

要简化这个表达式,请观察下面的式子:

([xAxB]−[μAμB])T[VAAVABVBAVBB]([xAxB]−[μAμB])=(xA−μA)TVAA(xA−μA)+(xA−μA)TVAB(xB−μB)+(xB−μB)TVBA(xA−μA)+(xB−μB)TVBB(xB−μB)\begin{aligned} &\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right)^{T} \left[ \begin{array}{cc}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right) \\ &\qquad =\left(x_{A}-\mu_{A}\right)^{T} V_{A A}\left(x_{A}-\mu_{A}\right)+\left(x_{A}-\mu_{A}\right)^{T} V_{A B}\left(x_{B}-\mu_{B}\right) \\ &\qquad\qquad +\left(x_{B}-\mu_{B}\right)^{T} V_{B A}\left(x_{A}-\mu_{A}\right)+\left(x_{B}-\mu_{B}\right)^{T} V_{B B}\left(x_{B}-\mu_{B}\right) \end{aligned} ​([xA​xB​​]−[μA​μB​​])T[VAA​VBA​​VAB​VBB​​]([xA​xB​​]−[μA​μB​​])=(xA​−μA​)TVAA​(xA​−μA​)+(xA​−μA​)TVAB​(xB​−μB​)+(xB​−μB​)TVBA​(xA​−μA​)+(xB​−μB​)TVBB​(xB​−μB​)​

只保留依赖于xAx_AxA​的项(利用VAB=VBATV_{A B}=V_{B A}^{T}VAB​=VBAT​),我们有:

p(xA∣xB)=1Z2exp⁡(−12[xATVAAxA−2xATVAAμA+2xATVAB(xB−μB)])p\left(x_{A} | x_{B}\right)=\frac{1}{Z_{2}} \exp \left(-\frac{1}{2}\left[x_{A}^{T} V_{A A} x_{A}-2 x_{A}^{T} V_{A A} \mu_{A}+2 x_{A}^{T} V_{A B}\left(x_{B}-\mu_{B}\right)\right]\right) p(xA​∣xB​)=Z2​1​exp(−21​[xAT​VAA​xA​−2xAT​VAA​μA​+2xAT​VAB​(xB​−μB​)])

其中Z2Z_2Z2​是一个同样不依赖于xAx_AxA​新的比例常数。最后,使用“配方”参数(参见附录A.1),我们得到:

p(xA∣xB)=1Z3exp⁡(−12(xA−μ′)TVAA(xA−μ′))p\left(x_{A} | x_{B}\right)=\frac{1}{Z_{3}} \exp \left(-\frac{1}{2}\left(x_{A}-\mu^{\prime}\right)^{T} V_{A A}\left(x_{A}-\mu^{\prime}\right)\right) p(xA​∣xB​)=Z3​1​exp(−21​(xA​−μ′)TVAA​(xA​−μ′))

其中Z3Z_3Z3​是一个新的不依赖于xAx_AxA​的比例常数,并且μ′=μA−VAA−1VAB(xB−μB)\mu'=\mu_{A}-V_{A A}^{-1} V_{A B}\left(x_{B}-\mu_{B}\right)μ′=μA​−VAA−1​VAB​(xB​−μB​)。最后这个表述表明以xBx_BxB​为条件下xAx_AxA​的分布,同样是多元高斯函数的形式。事实上,从归一化性质可以直接得出:

xA∣xB∼N(μA−VAA−1VAB(xB−μB),VAA−1)x_{A} | x_{B} \sim \mathcal{N}\left(\mu_{A}-V_{A A}^{-1} V_{A B}\left(x_{B}-\mu_{B}\right), V_{A A}^{-1}\right) xA​∣xB​∼N(μA​−VAA−1​VAB​(xB​−μB​),VAA−1​)

为了完成证明,我们只需要注意:

[VAAVABVBAVBB]=[(ΣAA−ΣABΣBB−1ΣBA)−1−(ΣAA−ΣABΣBB−1ΣBA)−1ΣABΣBB−1−ΣBB−1ΣBA(ΣAA−ΣABΣBB−1ΣBA)−1(ΣBB−ΣBAΣAA−1ΣAB)−1]\left[ \begin{array}{cc}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]= \left[ \begin{array}{c}{\left(\Sigma_{A A}-\Sigma_{A B} \Sigma_{B B}^{-1} \Sigma_{B A}\right)^{-1}}&-\left(\Sigma_{A A}-\Sigma_{A B} \Sigma_{B B}^{-1} \Sigma_{B A}\right)^{-1} \Sigma_{A B} \Sigma_{B B}^{-1} \\ {-\Sigma_{B B}^{-1} \Sigma_{B A}\left(\Sigma_{A A}-\Sigma_{A B} \Sigma_{B B}^{-1} \Sigma_{B A}\right)^{-1}}&\left(\Sigma_{B B}-\Sigma_{B A} \Sigma_{A A}^{-1} \Sigma_{A B}\right)^{-1}\end{array} \right] [VAA​VBA​​VAB​VBB​​]=[(ΣAA​−ΣAB​ΣBB−1​ΣBA​)−1−ΣBB−1​ΣBA​(ΣAA​−ΣAB​ΣBB−1​ΣBA​)−1​−(ΣAA​−ΣAB​ΣBB−1​ΣBA​)−1ΣAB​ΣBB−1​(ΣBB​−ΣBA​ΣAA−1​ΣAB​)−1​]

由分块矩阵的逆的标准公式推出。将相关的块替换到前面的表达式中就得到了想要的结果。

附录 A.3

在这一节中,我们提出了多元高斯分布条件分布的另一种(更简单的)推导方法。注意,正如附录A.2所示,我们可以这样写出p(xA∣xB)p\left(x_{A} | x_{B}\right)p(xA​∣xB​)的形式:

p(xA∣xB)=1∫xAp(xA,xB;μ,Σ)dxA⋅[1(2π)m/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ))](4)=1Z1exp⁡{−12([xA−μAxB−μB])T[VAAVABVBAVBB][xA−μAxB−μB]}(5)\begin{aligned} p\left(x_{A} | x_{B}\right) &=\frac{1}{\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{A}} \cdot\left[\frac{1}{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}} \exp \left(-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right)\right] &(4)\\ &=\frac{1}{Z_{1}} \exp \left\{-\frac{1}{2}\left(\left[ \begin{array}{c}{x_{A}-\mu_{A}} \\ {x_{B}-\mu_{B}}\end{array}\right]\right)^{T} \left[ \begin{array}{cc}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right] \left[ \begin{array}{c}{x_{A}-\mu_{A}} \\ {x_{B}-\mu_{B}}\end{array}\right]\right\} &(5) \end{aligned} p(xA​∣xB​)​=∫xA​​p(xA​,xB​;μ,Σ)dxA​1​⋅[(2π)m/2∣Σ∣1/21​exp(−21​(x−μ)TΣ−1(x−μ))]=Z1​1​exp{−21​([xA​−μA​xB​−μB​​])T[VAA​VBA​​VAB​VBB​​][xA​−μA​xB​−μB​​]}​(4)(5)​

其中Z1Z_1Z1​是不依赖于xAx_AxA​的比例常数。

这个推导使用了一个附加的假设,即条件分布是一个多元高斯分布;换句话说,我们假设p(xA∣xB)∼N(μ∗,Σ∗)p\left(x_{A} | x_{B}\right) \sim \mathcal{N}\left(\mu^{*}, \Sigma^{*}\right)p(xA​∣xB​)∼N(μ∗,Σ∗)有一些参数μ∗,Σ∗\mu^{*}, \Sigma^{*}μ∗,Σ∗(或者,你可以把这个推导看作是寻找“配方法”另一种方法)。

这个推导的关键直觉是当xA=μ∗≜xA∗x_{A}=\mu^{*} \triangleq x_{A}^{*}xA​=μ∗≜xA∗​时,p(xA∣xB)p\left(x_{A} | x_{B}\right)p(xA​∣xB​)将会最大化。我们计算log⁡p(xA∣xB)\log p\left(x_{A} | x_{B}\right)logp(xA​∣xB​)关于xAx_AxA​的梯度,并设其为零。利用等式(5)(5)(5),我们可以得到:

∇xAlog⁡p(xA∣xB)∣xA=xA∗(6)=−VAA(xA∗−μA)−VAB(xB−μB)(7)=0(8)\begin{aligned} &\nabla_{x_{A}} \log p(x_A | x_B)|_{x_A=x_A^{*}} &\qquad\qquad\qquad(6)\\ &{=-V_{A A}\left(x_{A}^{*}-\mu_{A}\right)-V_{A B}\left(x_{B}-\mu_{B}\right)} &(7)\\ &{=0}&(8) \end{aligned} ​∇xA​​logp(xA​∣xB​)∣xA​=xA∗​​=−VAA​(xA∗​−μA​)−VAB​(xB​−μB​)=0​(6)(7)(8)​

这意味着:

μ∗=xA∗=μA−VAA−1VAB(xB−μB)(9)\mu^{*}=x_{A}^{*}=\mu_{A}-V_{A A}^{-1} V_{A B}\left(x_{B}-\mu_{B}\right)\qquad\qquad\qquad\qquad (9) μ∗=xA∗​=μA​−VAA−1​VAB​(xB​−μB​)(9)

类似地,我们利用高斯分布p(⋅)p(\cdot)p(⋅)的逆协方差矩阵是log⁡p(⋅)\log p(\cdot)logp(⋅)的负海森矩阵。换句话说,高斯分布p(xA∣xB)p\left(x_{A} | x_{B}\right)p(xA​∣xB​)的逆协方差矩阵是log⁡p(xA∣xB)\log p\left(x_{A} | x_{B}\right)logp(xA​∣xB​)的负海森矩阵。利用式(5)(5)(5),我们有:

Σ∗−1=−∇xA∇xATlog⁡p(xA∣xB)(10)=VAA(11)\begin{aligned} \Sigma^{*-1} &=-\nabla_{x_{A}} \nabla_{x_{A}}^{T} \log p\left(x_{A} | x_{B}\right)&\qquad\qquad\qquad(10) \\ &=V_{A A} &(11) \end{aligned} Σ∗−1​=−∇xA​​∇xA​T​logp(xA​∣xB​)=VAA​​(10)(11)​

因此,我们得到:

Σ∗=VAA−1(11)\Sigma^{*}=V_{A A}^{-1} \qquad\qquad\qquad(11) Σ∗=VAA−1​(11)

多元高斯分布(三)——高斯过程相关推荐

  1. 一元高斯分布多元高斯分布高斯过程混合高斯模型

    高斯分布,又称正态分布,应用于连续型随机变量分布的模型中,对于多元高斯分布存在和一元高斯相似的,对于多元实值向量,使熵取得最大值的是高斯分布.当多个随机变量之和相加时,根据拉普拉斯提出的中心极限定理( ...

  2. 第二课.多元高斯分布与其几何特征

    目录 多元高斯分布 一元高斯与多元高斯 多元高斯分布的参数 二元高斯分布 多元高斯分布的几何特征 几何特征 实例演示 多元高斯分布 一元高斯与多元高斯 在第一课的一元高斯分布中,处理的是一组样本X=( ...

  3. 多元高斯分布是非参_(二)多元高斯分布与概率图条件独立性假设

    Author: Pan Date:    2020/7/15 首先,我们通过随机向量的介绍来引出多元高斯分布,通过多元高斯分布,我们将介绍概率图的条件独立性假设. 先快速过一遍随机向量: 1.随机向量 ...

  4. 多元函数的向量表示_多元高斯分布完全解析

    摘要 高斯分布被誉为"上帝的分布", 其强悍的建模能力和优美的数学性质使得高斯分布在现实中得到广泛的应用. 由中心极限定理 我们知道, 大量独立同分布的随机变量的均值在做适当标准化 ...

  5. 多元高斯分布是非参_多元高斯分布(多元正态分布)简介

    多元高斯分布(多元正态分布)简介 标签:#正态分布##统计基础##高斯分布# 时间:2017-01-28 23:02:43 作者:小木 高斯分布(Gaussian Distribution),也称作是 ...

  6. 多元高斯分布(Multivariate Gaussian Distribution)(详细说明,便于理解)

    在深入了解多元高斯分布前,可以先了解一下一元高斯分布. 接下来对多元高斯分布进行详细的说明与推导. 对于 维的向量 (连续变量),多变量(多元, multivariate Gaussian)高斯分布形 ...

  7. 多元高斯分布中条件分布与边缘分布的相关公式

    在阅读高斯过程(GPs)时,我认为能够证明有关多元高斯分布的一些基本事实将是有用的,这些高斯分布是GP的基础. 即,如何证明多元高斯的条件分布和边际分布也是高斯,并给出其形式. 首先,我们知道,一个均 ...

  8. 机器学习算法 高斯识别分析(GDA) 多元高斯分布 CS229

    Gaussian discriminant analysis The first generative learning algorithm that we'll look at is Gaussia ...

  9. 多元高斯分布异常检测代码_数据科学 | 异常检测的N种方法,阿里工程师都盘出来了...

    ↑↑↑↑↑点击上方蓝色字关注我们! 『运筹OR帷幄』转载 作者:黎伟斌.胡熠.王皓 编者按: 异常检测在信用反欺诈,广告投放,工业质检等领域中有着广泛的应用,同时也是数据分析的重要方法之一.随着数据量 ...

  10. 机器学习导论(张志华):多元高斯分布

    前言 这个笔记是北大那位老师课程的学习笔记,讲的概念浅显易懂,非常有利于我们掌握基本的概念,从而掌握相关的技术. 正文 这节课主要讲的是常用统计分布里的多元高斯分布. 高斯分布的相关定义延申后可以直接 ...

最新文章

  1. iPhone内运行python,返回Killed: 9 ,iOS内安装python2.7等问题的解决方法
  2. shell for循环命令行_精心汇总的24道shell脚本面试题
  3. Xcode升级后插件失效的原理与修复办法
  4. Python3学习笔记——类
  5. 深度学习(四十五)条件对抗网络
  6. 聊聊在Go语言里使用继承的翻车经历
  7. 华中科技大学计算机专业培养计划,2021年华中科技大学计算机科学与技术专业本科人才培养方案.doc...
  8. 文件同步服务器,iis 集群 ,代码同步(一)
  9. Leetcode: 二叉树的后序遍历
  10. Android 主人VS宠物 游戏
  11. 2021年考研经验分享(初试408分)
  12. 微信API接口访问慢
  13. 如何将png转换成jpg呢?
  14. [渝粤教育] 西南科技大学 中国古代文学〔2〕 在线考试复习资料
  15. Python求向量的余弦值
  16. 二重积分的计算 —— 交换积分顺序(exchange the order of integration)
  17. 网络、域名、DNS、A记录以及MX记录的基本概念
  18. 自学Android,学多久可以加入字节跳动?
  19. 2020-10-19 进制转换
  20. java中echat如何动态_ECharts Java 动态加载数据,echartsjava

热门文章

  1. mvvm oc 框架_IOS开发入门之MVVM框架思想
  2. Scrum敏捷开发模式介绍与实践
  3. 如何用管理员权限打开CMD(快捷键)
  4. 最近火爆的美团饿了么外卖cps分销裂变小程序搭建及推广秘籍(附搭建源码)
  5. Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法
  6. vue.js 获取当前屏幕的宽度_js获取移动端屏幕高度和宽度等设备尺寸
  7. Unity 正则表达式
  8. DHCP与DHCP中继--原理与配置--华为实验--配置接口模式、全局模式以及中继模式
  9. 星星之火-57:前传接口 CPRI的速率、能力、小区带宽之间的映射关系
  10. 认识直动、先导式电磁阀