多元高斯分布(三)——高斯过程

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

高斯过程

介绍

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

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

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

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

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

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

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

4 参见“因子分析”课程讲义。机器学习

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

1. 多元高斯分布

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

p ( x ; μ , Σ ) = 1 ( 2 π ) n / 2 Σ 1 / 2 exp ( 1 2 ( 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)

咱们能够写做 x N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma) 。这里,回想一下线性代数的笔记中 S + + n S_{++}^n 指的是对称正定 n × n n\times n 矩阵 5 ^5 的空间。

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

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

给定随机向量 x R n x \in R^{n} 服从多元高斯分布 x N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma) 。假设 x x 中的变量被分红两个集合 x A = [ x 1 x r ] T R r x_{A}=\left[x_{1} \cdots x_{r}\right]^{T} \in R^{r} x B = [ x r + 1 x n ] T R n r x_{B}=\left[x_{r+1} \cdots x_{n}\right]^{T} \in R^{n-r} (对于 μ \mu Σ \Sigma 也进行一样的拆分),则有:

x = [ x A x B ] μ = [ μ A μ B ] Σ = [ A A A B Σ B A Σ B B ] 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]

由于 Σ = E [ ( x μ ) ( x μ ) T ] = Σ T \Sigma=E\left[(x-\mu)(x-\mu)^{T}\right]=\Sigma^{T} ,因此上式中有 Σ A B = Σ B A T \Sigma_{A B}=\Sigma_{B A}^{T} 。下列性质适用:

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

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

这个特性乍一看彷佛微不足道,但实际上对于计算各类积分很是有用,即便是那些看起来与几率分布彻底无关的积分(参见附录A.1)!

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

p ( x A ) = x B p ( x A , x B ; μ , Σ ) d x B p ( x B ) = x A p ( x A , x B ; μ , Σ ) d x A \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}

是高斯分布:

x A N ( μ A , Σ A A ) x B N ( μ B , Σ B B ) \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}

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

p ( x A x B ) = p ( x A , x B ; μ , Σ ) x A p ( x A , x B ; μ , Σ ) d x A p ( x B x A ) = p ( x A , x B ; μ , Σ ) x B p ( x A , x B ; μ , Σ ) d x B \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}

是高斯分布:

x A x B N ( μ A + Σ A B Σ B B 1 ( x B μ B ) , Σ A A Σ A B Σ B B 1 Σ B A ) x B x A N ( μ B + Σ B A Σ A A 1 ( x A μ A ) , Σ B B Σ B A Σ A A 1 Σ A B ) 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)

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

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

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

2. 贝叶斯线性回归

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

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

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

P ( y ( i ) x ( i ) , θ ) = 1 2 π σ exp ( ( y ( i ) θ T x ( i ) ) 2 2 σ 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)

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

X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T ( x ( m ) ) T ] R m × n y = [ y ( 1 ) y ( 2 ) y ( m ) ] R m ε = [ ε ( 1 ) ε ( 2 ) ε ( m ) ] R m X=\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}

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

p ( θ S ) = p ( θ ) p ( S θ ) θ p ( θ ) p ( S θ ) d θ = p ( θ ) i = 1 m p ( y ( i ) x ( i ) , θ ) θ p ( θ ) i = 1 m p ( 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)

假设测试点上的噪声模型与咱们的训练点上的噪声模型相同,那么贝叶斯线性回归在一个新的测试点 x x_* 上的“输出”不仅是一个猜想 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)

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

然而,在贝叶斯线性回归的状况下,积分其实是可处理的!特别是对于贝叶斯线性回归,(在作了大量工做以后!)咱们能够证实:

θ S N ( 1 σ 2 A 1 X T y , A 1 ) y x , S N ( 1 σ 2 x T A 1 X T y , x T A 1 x + σ 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)

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

6 有关完整的推导,能够参考[1]注:参考资料[1]见文章最下方。或者参考附录,其中给出了一些基于平方补全技巧的参数,请本身推导这个公式!
在这里插入图片描述

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

3. 高斯过程

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

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

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

要了解如何对函数上的几率分布进行参数化,请考虑下面的简单示例。设 X = { x 1 , , x m } \mathcal{X}=\left\{x_{1}, \dots, x_{m}\right\} 为任何有限元素集。如今,考虑集合 H \mathcal{H} ,该集合表明全部可能的从 X \mathcal{X} R R 的函数映射。例如,能够给出以下的函数 f 0 ( ) H f_0(\cdot)\in\mathcal{H} 的例子:

f 0 ( x 1 ) = 5 , f 0 ( x 2 ) = 2.3 , f 0 ( x 2 ) = 7 , , f 0 ( x m 1 ) = π , f 0 ( x m ) = 8 f_{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

由于任意函数 f ( ) H f(\cdot) \in \mathcal{H} 的定义域仅有 m m 个元素,因此咱们能够简介的使用 m m 维向量 f = [ f ( x 1 ) f ( x 2 ) f ( x m ) ] 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(\cdot) 。为了指定函数 f ( ) H f(\cdot) \in \mathcal{H} 上的几率分布,咱们必须把一些“几率密度”与 H \mathcal{H} 中的每一个函数联系起来。一种天然的方法是利用函数 f ( ) H f(\cdot) \in \mathcal{H} 和他们的向量表示 f \vec{f} 之间的一一对应关系。特别是,若是咱们指定 f N ( μ , σ 2 I ) \vec{f} \sim \mathcal{N}\left(\overrightarrow{\mu}, \sigma^{2} I\right) ,则意味着函数 f ( ) f(\cdot) 上的几率分布,其中函数 f ( ) f(\cdot) 的几率密度函数能够经过下面的式子给出:

p ( h ) = i = 1 m 1 2 π σ exp ( 1 2 σ 2 ( f ( x i ) μ 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)

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

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

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

8 一般,当 X = R \mathcal{X} = R 时,能够将标识符 x X x\in \mathcal{X} 解释为表示时间,所以变量 f ( x ) f(x) 表示随时间的随机量的时间演化。然而,在高斯过程回归模型中,将标识符集做为回归问题的输入空间。

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

[ f ( x 1 ) f ( x m ) ] N ( [ m ( x 1 ) m ( x m ) ] , [ k ( x 1 , x 1 ) k ( x 1 , x m ) k ( x m , x 1 ) k ( x m , x m ) ] ) \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 ( ) G P ( m ( ) , k ( , ) ) f(\cdot) \sim \mathcal{G P}(m(\cdot), k(\cdot, \cdot))

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

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}

对于任意 x , x X x,x'\in\mathcal{X}

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

什么样的函数 m ( ) m(\cdot) k ( , ) k(\cdot,\cdot) 才能产生有效的高斯过程呢?通常状况下,任何实值函数 m ( ) m(\cdot) 都是能够接受的,可是对于 k ( , ) k(\cdot,\cdot) ,对于任何一组元素 x 1 , , x m X x_{1}, \ldots, x_{m} \in \mathcal{X} 都必须是能够接受的,结果矩阵以下:

K = [ k ( x 1 , x 1 ) k ( x 1 , x m ) k ( x m , x 1 ) k ( x m , x m ) ] 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 是正半定的,这是正确的。听起来是否是很熟悉?

基于任意输入点计算协方差矩阵的正半定条件,实际上与核的Mercer条件相同!函数 k ( , ) k(\cdot,\cdot) 是一个有效的核,前提是对于任意一组输入点 x 1 , , x m X x_{1}, \ldots, x_{m} \in \mathcal{X} ,所以,任何有效的核函数均可以用做协方差函数,这就是基于核的几率分布。

3.3 平方指数核

在这里插入图片描述

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

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

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

定义一些函数 h : X R h:\mathcal{X}\rightarrow R ,其中 X = R \mathcal{X}=R 。这里,咱们选择核函数 做为平方指数 9 ^9 核函数,定义以下:

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

k S E ( x , x ) = exp ( 1 2 τ 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)

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

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

  • f ( x ) f(x) f ( x ) f(x') 将趋向于有高协方差 x x x x' 在输入空间“附近”(即: x x = x x 0 , \left\|x-x^{\prime}\right\|=\left|x-x^{\prime}\right| \approx 0, 所以 exp ( 1 2 τ 2 x x 2 ) 1 \exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) \approx 1
  • x x x x' 相距很远时, f ( x ) f(x) f ( x ) f(x') 的协方差很低(即: x x 0 , \left\|x-x^{\prime}\right\| \gg 0, 所以 exp ( 1 2 τ 2 x x 2 ) 0 \exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) \approx 0

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

4. 高斯过程回归

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

4.1 高斯过程回归模型

在这里插入图片描述

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

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

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

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

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

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

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

10 咱们还假设 T T S S 是相互独立的。

X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T ( x ( m ) ) T ] R m × n f = [ f ( x ( 1 ) ) f ( x ( 2 ) ) f ( x ( m ) ) ] , ε = [ ε ( 1 ) ε ( 2 ) ε ( m ) ] , y = [ y ( 1 ) y ( 2 ) y ( m ) ] R m X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T ( x ( m ) ) T ] R m × n f = [ f ( x ( 1 ) ) f ( x ( 2 ) ) f ( x ( m ) ) ] , ε = [ ε ( 1 ) ε ( 2 ) ε ( m ) ] , y = [ y ( 1 ) y ( 2 ) y ( m ) ] R m X= \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}

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

4.2 预测

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

[ 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 R m  such that  f = [ f ( x ( 1 ) ) f ( x ( m ) ) ] T f R m  such that  f = [ f ( x ( 1 ) ) f ( x ( m ) ) ] T K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = 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)

根据咱们独立同分布噪声假设,能够获得:

[ ε ε ] N ( 0 , [ σ 2 I 0 0 T σ 2 I ] ) \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)

独立高斯随机变量的和也是高斯的,因此有:

[ y y ] X , X = [ f f ] + [ ε ε ] N ( 0 , [ K ( X , X ) + σ 2 I K ( X , X ) K ( X , X ) K ( X , X ) + σ 2 I ] ) \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 N ( μ , Σ ) \overrightarrow{y_{*}} | \vec{y}, X, X_{*} \sim \mathcal{N}\left(\mu^{*}, \Sigma^{*}\right)

其中:

μ = K ( X , X ) ( K ( X , X ) + σ 2 I ) 1 y Σ = K ( X , X ) + σ 2 I K ( X , X ) ( K ( X , X ) + σ 2 I ) 1 K ( 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}

就是这样!值得注意的是,在高斯过程回归模型中进行预测很是简单,尽管高斯过程自己至关复杂! 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 ) = x exp ( 1 2 x T A x x T b c ) d x I(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 ) = exp ( c ) x exp ( 1 2 x T A x x T A A 1 b ) d x = exp ( c ) x exp ( 1 2 ( x A 1 b ) T A ( x A 1 b ) b T A 1 b ) d x = exp ( c b T A 1 b ) x exp ( 1 2 ( x A 1 b ) T A ( x A 1 b ) ) d x \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}

定义 μ = A 1 b \mu=A^{-1} b Σ = A 1 \Sigma=A^{-1} ,能够获得 I ( A , b , c ) I(A,b,c) 等于:

( 2 π ) m / 2 Σ 1 / 2 exp ( c + b T A 1 b ) [ 1 ( 2 π ) m / 2 Σ 1 / 2 x exp ( 1 2 ( x μ ) T Σ 1 ( x μ ) ) d x ] \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]

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

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

附录 A.2

推导出给定 x B x_B x A x_A 的分布形式;另外一个结果能够当即根据对称性能够获得。注意到:

p ( x A x B ) = 1 x A p ( x A , x B ; μ , Σ ) d x A [ 1 ( 2 π ) m / 2 Σ 1 / 2 exp ( 1 2 ( x μ ) T Σ 1 ( x μ ) ) ] = 1 Z 1 exp { 1 2 ( [ x A x B ] [ μ A μ B ] ) T [ V A A V A B V B A V B B ] ( [ x A x B ] [ μ 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}

其中 Z 1 Z_1 是不依赖于 x A x_A 的比例常数,且:

Σ 1 = V = [ V A A V A B V B A V B B ] \Sigma^{-1}=V=\left[ \begin{array}{ll}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]

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

( [ x A x B ] [ μ A μ B ] ) T [ V A A V A B V B A V B B ] ( [ x A x B ] [ μ A μ B ] ) = ( x A μ A ) T V A A ( x A μ A ) + ( x A μ A ) T V A B ( x B μ B ) + ( x B μ B ) T V B A ( x A μ A ) + ( x B μ B ) T V B B ( x B μ 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}

只保留依赖于 x A x_A 的项(利用 V A B = V B A T V_{A B}=V_{B A}^{T} ),咱们有:

p ( x A x B ) = 1 Z 2 exp ( 1 2 [ x A T V A A x A 2 x A T V A A μ A + 2 x A T V A B ( x B μ 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)

其中 Z 2 Z_2 是一个一样不依赖于 x A x_A 新的比例常数。最后,使用“配方”参数(参见附录A.1),咱们获得:

p ( x A x B ) = 1 Z 3 exp ( 1 2 ( x A μ ) T V A A ( x A μ ) ) 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)

其中 Z 3 Z_3 是一个新的不依赖于 x A x_A 的比例常数,而且 μ = μ A V A A 1 V A B ( x B μ B ) \mu'=\mu_{A}-V_{A A}^{-1} V_{A B}\left(x_{B}-\mu_{B}\right) 。最后这个表述代表以 x B x_B 为条件下 x A x_A 的分布,一样是多元高斯函数的形式。事实上,从归一化性质能够直接得出:

x A x B N ( μ A V A A 1 V A B ( x B μ B ) , V A A 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)

为了完成证实,咱们只须要注意:

[ V A A V A B V B A V B B ] = [ ( Σ A A Σ A B Σ B B 1 Σ B A ) 1 ( Σ A A Σ A B Σ B B 1 Σ B A ) 1 Σ A B Σ B B 1 Σ B B 1 Σ B A ( Σ

相关文章
相关标签/搜索