高斯过程回归|机器学习推导系列(二十四)

一、概述

将⼀维高斯分布推⼴到多变量中就得到了高斯网络,将多变量推⼴到无限维,就得到了高斯过程。高斯过程是定义在连续域(时间/空间)上的无限多个高斯随机变量所组成的随机过程。具体的形式化的定义如下:

对于时间轴上的随机变量序列\left \{\xi _{t}\right \}_{t\in T}T是一个连续域,如果\forall n\in N^{+}t_{1},t_{2},\cdots ,t_{n}\in T,满足\left \{\xi _{t_{1}},\xi _{t_{2}},\cdots ,\xi _{t_{n}}\right \}\triangleq\xi _{t_{1}-t_{n}}\sim N(\mu _{t_{1}-t_{n}},\Sigma _{t_{1}-t_{n}}),那么\left \{\xi _{t}\right \}_{t\in T}就是一个高斯过程(Gaussian Process)。

上面的定义中t称为index,\xi _{t}是随机变量。

一个高斯过程可以有两个函数,即均值函数m(t)和协方差函数k(s,t)来确定:

GP\left (m\left (t\right ),k\left (s,t\right )\right )\\ \left\{\begin{matrix} m(t)=E[\xi _{t}]\\ k\left (s,t\right )=E[(\xi _{s}-E[\xi _{s}])(\xi _{t}-E[\xi _{t})] \end{matrix}\right.

举个例子来说,下图的时间轴(也就是定义中的连续域)代表了人的一生,这里假设人能活100岁,从这个连续域里任意取多个时刻都会对应了一个高斯随机变量:

高斯过程

这里的每个随机变量可以认为是一个人在一生中这个阶段的表现值,服从一个高斯分布:

高斯过程

在这个人人生的每一个阶段,如果他比较努力,他的表现可能就比均值高,如果不努力可能表现就比均值低,将每个高斯分布采样的样本点连起来就是高斯过程的一个样本:

高斯过程

二、核贝叶斯线性回归-权重空间角度

之前的贝叶斯线性回归博客:贝叶斯线性回归|机器学习推导系列(二十三)

对于线性的数据,我们可以直接应用贝叶斯线性回归的方法,而对于非线性数据,可以尝试使用核方法将低位数据扩展到高维空间,然后再应用贝叶斯线性回归。类比支持向量机的核方法,如果最后的结果只和一个核函数,也就是关于x的内积有关,那么就可以应用核方法,同样的在非线性的贝叶斯线性回归回归中,如果将数据拓展到高维空间后后验的均值和方差都只与一个核函数有关,那说明将核方法应用在贝叶斯线性回归中是可行的。

对于线性数据的预测来说,有:

f(x^{*})|X,Y,x^{*}\sim N\left (\left (x^{*}\right )^{T}\sigma ^{-2}\Lambda _{w}^{-1}X^{T}Y,\left (x^{*}\right )^{T}\Lambda _{w}^{-1}x^{*}\right ),\; 其中\Lambda _{w}=\sigma ^{-2}X^{T}X+\Sigma _{p}^{-1}

对于非线性数据,要使用核方法,首先要对其进行低维到高维的非线性转换:

If:\phi :x \mapsto z,\; x\in \mathbb{R}^{p},\; z=\phi (x)\in \mathbb{R}^{q},\; q> p\\ Define:\Phi =\phi (X)=\begin{pmatrix} \phi (x_{1}) & \phi (x_{2}) & \cdots & \phi (x_{N}) \end{pmatrix}_{N\times q}^{T}\\ Then:f(x)=\phi (x)^{T}w\\ f(x^{*})|X,Y,x^{*}\sim N\left (\sigma ^{-2}\phi \left (x^{*}\right )^{T}\Lambda _{w}^{-1}\Phi ^{T}Y,\phi \left (x^{*}\right )^{T}\Lambda _{w}^{-1}\phi \left (x^{*}\right )\right ),\; \Lambda _{w}=\sigma ^{-2}\Phi ^{T}\Phi +\Sigma _{p}^{-1}

上面的式子中,均值和方差都存在\Lambda _{w}^{-1},这一项可以通过伍德伯里矩阵恒等式(Woodbury Matrix Identity)求出来,该恒等式如下:

(A+UCV)^{-1}=A^{-1}-A^{-1}U(C^{-1}+VA^{-1}U)^{-1}VA^{-1}\\ 其中A:n\times n,U:n\times k,C:k\times k,V:k\times n

按照伍德伯里矩阵恒等式的形式,我们可以将\Lambda _{w}对应为A+UCV

\Lambda _{w}=\underset{A}{\underbrace{\Sigma _{p}^{-1}}}+\underset{U}{\underbrace{\Phi ^{T}}}\underset{C}{\underbrace{\sigma ^{-2}I}}\underset{V}{\underbrace{\Phi}}

代入恒等式求解得到\Lambda _{w}^{-1}

\Lambda _{w}^{-1}=(\Sigma _{p}^{-1}+\Phi ^{T}\sigma ^{-2}I\Phi)^{-1}\\ =\Sigma _{p}-\Sigma _{p}\Phi ^{T}(\sigma ^{2}I+\Phi\Sigma _{p}\Phi ^{T})^{-1}\Phi\Sigma _{p}

\Lambda _{w}^{-1}代入就能f(x^{*})|X,Y,x^{*},就能得到均值和方差,不过这里的均值直接代入比较复杂,可以通过对\Lambda _{w}做一些变换来得到均值:

\Lambda _{w}=\sigma ^{-2}\Phi ^{T}\Phi +\Sigma _{p}^{-1}\\ \Leftrightarrow \Lambda _{w}\Sigma _{p}=\sigma ^{-2}\Phi ^{T}\Phi \Sigma _{p}+I\\ \Leftrightarrow \Lambda _{w}\Sigma _{p}\Phi ^{T}=\sigma ^{-2}\Phi ^{T}\Phi \Sigma _{p}\Phi ^{T}+\Phi ^{T}\\ \Leftrightarrow \Lambda _{w}\Sigma _{p}\Phi ^{T}=\sigma ^{-2}\Phi ^{T}(\Phi \Sigma _{p}\Phi ^{T}+\sigma ^{2}I)\\ \Leftrightarrow \Sigma _{p}\Phi ^{T}=\sigma ^{-2}\Lambda _{w}^{-1}\Phi ^{T}(\Phi \Sigma _{p}\Phi ^{T}+\sigma ^{2}I)\\ \Leftrightarrow \sigma ^{-2}\Lambda _{w}^{-1}\Phi ^{T}=\Sigma _{p}\Phi ^{T}(\Phi \Sigma _{p}\Phi ^{T}+\sigma ^{2}I)^{-1}\\ \Leftrightarrow \sigma ^{-2}\phi (x^{*})^{T}\Lambda _{w}^{-1}\Phi ^{T}Y=\phi (x^{*})^{T}\Sigma _{p}\Phi ^{T}(\Phi \Sigma _{p}\Phi ^{T}+\sigma ^{2}I)^{-1}Y

由此求得了f(x^{*})|X,Y,x^{*}的均值,将\Lambda _{w}^{-1}带入方差可以计算得到方差:

\phi(x^{*})^{T}\Sigma _{p}\phi(x^{*})-\phi(x^{*})^{T}\Sigma _{p}\Phi ^{T}(\sigma ^{2}I+\Phi\Sigma _{p}\Phi ^{T})^{-1}\Phi\Sigma _{p}\phi(x^{*})

因此最终得到f(x^{*})|X,Y,x^{*}的概率分布如下:

f(x^{*})|X,Y,x^{*}\sim N({\color{Red}{\phi (x^{*})^{T}\Sigma _{p}\Phi ^{T}}}({\color{Red}{\Phi \Sigma _{p}\Phi ^{T}}}+\sigma ^{2}I)^{-1}Y,{\color{Red}{\phi(x^{*})^{T}\Sigma _{p}\phi(x^{*})}}-{\color{Red}{\phi(x^{*})^{T}\Sigma _{p}\Phi ^{T}}}(\sigma ^{2}I+{\color{Red}{\Phi\Sigma _{p}\Phi ^{T}}})^{-1}{\color{Red}{\Phi\Sigma _{p}\phi(x^{*})}})

通过上面式子的红色部分可以看出f(x^{*})|X,Y,x^{*}的分布只与K(x,x^{'})=\phi(x)^{T}\Sigma _{p}\phi(x^{'})这样的项有关,如果可以证明这是一个核函数(能够表示成一个内积的形式)的话就说明对于非线性数据来说是可以引入核技巧来将数据映射到高维空间然后再应用贝叶斯线性回归的。现在来做以下定义:

\because \Sigma _{p}:正定且对称,\Sigma _{p}=(\Sigma _{p}^{1/2})^{2}\\ \therefore K(x,x^{'})=\phi(x)^{T}\Sigma _{p}^{1/2}\Sigma _{p}^{1/2}\phi(x^{'})=\left (\Sigma _{p}^{1/2}\phi(x)\right )^{T}\Sigma _{p}^{1/2}\phi(x^{'})=<\psi (x),\psi (x^{'})>,\; \; \psi (x)=\Sigma _{p}^{1/2}\phi(x)

因此这是一个核函数。

核贝叶斯线性回归也就是高斯过程回归,这个从参数w的角度进行推导的过程是高斯过程回归的权重空间角度。

三、从权重空间角度到函数空间角度

对于应用了核方法的贝叶斯线性回归,满足:

f(x)=\phi (x)^{T}w\\ y=f(x)+\varepsilon \\ \varepsilon \sim N(0,\sigma ^{2})

这里给定先验w满足一个高斯分布:

w\sim N(0,\Sigma _{p})

w是一个随机变量,那么f(x)也是一个随机变量,对于不同xf(x)就是不同的随机变量,\left \{f(x)\right \}就是一些随机变量的组合。接下来,对于f(x),我们看一下它的均值和协方差:

E[f(x)]=E[\phi (x)^{T}w]=\phi (x)^{T}E[w]=0\\ cov\left (f(x),f(x^{'})\right )=E[(f(x)-\underset{=0}{\underbrace{E[f(x)]}})(f(x^{'})-\underset{=0}{\underbrace{E[f(x^{'})]}})]\\ =E[f(x)\cdot f(x^{'})]\\ =E[\phi (x)^{T}w\cdot \phi (x^{'})^{T}w]\\ =E[\phi (x)^{T}ww^{T}\phi (x^{'})]\\ =\phi (x)^{T}E[ww^{T}]\phi (x^{'})\\ =\phi (x)^{T}E[(w-0)(w^{T}-0)]\phi (x^{'})\\ =\phi (x)^{T}\Sigma _{p}\phi (x^{'})\\ =K(x,x^{'})

显然f(x)的协方差是一个核函数,类比高斯过程的定义,x也就相当于indext,每个x对应一个随机变量f(x)f(x)也就相当于\xi _{t},只不过这里f(x)x有明确的函数关系,而\xi _{t}t没有,另外f(x)的协方差也满足一个核函数,这说明f(x)就是一个高斯过程,这也说明了核贝叶斯线性回归为什么就是高斯线性回归。

求解高斯过程回归的方法分为权重空间和函数空间两种,上一节的权重空间角度的方法我们关注的是权重w,而函数空间的方法关注的是f(x),下一小节就介绍一下函数空间角度的求解方法。

四、函数空间角度

已有数据如下:

X=\begin{pmatrix} x_{1} & x_{2} & \cdots & x_{N} \end{pmatrix}_{N\times p}^{T}\\ Y=\begin{pmatrix} y_{1} & y_{2} & \cdots & y_{N} \end{pmatrix}_{N\times 1}^{T}

对于f(X),满足:

f(X)\sim N(\mu (X),K(X,X))

对于Y,满足:

Y\sim N(\mu (X),K(X,X)+\sigma ^{2}I)

解释一下方差矩阵K(X,X)+\sigma ^{2}I的由来,对于方差矩阵对角线上的元素:

E[y\cdot y]=E[(f(x)+\varepsilon )(f(x)+\varepsilon )]\\ =E[f(x)\cdot f(x)+2f(x)\cdot \varepsilon +\varepsilon \cdot \varepsilon ]\\ =\underset{f(x)的方差}{\underbrace{E[f(x)\cdot f(x)]}}+2\underset{相互独立变\\量的协方差}{\underbrace{E[f(x)\cdot \varepsilon ]}}+\underset{\varepsilon 的方差}{\underbrace{E[\varepsilon \cdot \varepsilon ]}}\\ =K(x,x)+\sigma ^{2}

对于方差矩阵非对角线上的元素:

E[y\cdot y^{'}]=E[(f(x)+\varepsilon )(f(x^{'})+\varepsilon ^{'})]\\ =E[f(x)\cdot f(x^{'})+\varepsilon \cdot f(x^{'})+f(x)\cdot \varepsilon ^{'}+\varepsilon \cdot \varepsilon ^{'}]\\ =E[f(x)\cdot f(x^{'})]+\underset{相互独立变\\量的协方差}{\underbrace{E[\varepsilon \cdot f(x^{'})]}}+\underset{相互独立变\\量的协方差}{\underbrace{E[f(x)\cdot \varepsilon ^{'}]}}+\underset{相互独立变\\量的协方差}{\underbrace{E[\varepsilon \cdot \varepsilon ^{'}]}}\\ =K(x,x^{'})

预测问题也就是对于给定的新的数据X^{*}=\begin{pmatrix} x_{1}^{*} & x_{2}^{*} & \cdots & x_{M}^{*} \end{pmatrix},需要求解对应的Y^{*}=f(X^{*})+\varepsilon

我们把Yf(X^{*})拼接成一个向量,并且按照上面得到方差矩阵的方法简单推一下就可以得到这个拼接起来的向量的分布:

\begin{pmatrix} Y\\ f(X^{*}) \end{pmatrix}\sim N\left (\begin{pmatrix} \mu (X)\\ \mu (X^{*}) \end{pmatrix},\begin{pmatrix} K(X,X)+\sigma ^{2}I & K(X,X^{*})\\ K(X^{*},X) & K(X^{*},X^{*}) \end{pmatrix}\right )

而对于预测问题,我们要求的是P(f(X^{*})|X,Y,X^{*})这个概率,其实也就是P(f(X^{*})|Y),也就是上面拼接起来的向量的一个条件概率分布,而求解高维高斯分布的条件概率分布的方法在高斯分布|机器学习推导系列(二)这一篇中已经推导过了,有现成的公式可以套用:

x=\begin{pmatrix} x_{a}\\ x_{b} \end{pmatrix}=\left (\begin{pmatrix} \mu_{a}\\ \mu_{b} \end{pmatrix},\begin{pmatrix} \Sigma _{aa}&\Sigma _{ab}\\ \Sigma _{ba}&\Sigma _{bb} \end{pmatrix}\right )\\ x_{b|a}\sim N(u_{b|a},\Sigma _{b|a})\\ u_{b|a}=\Sigma _{ba}\Sigma _{aa}^{-1}(x_{a}-\mu _{a})+\mu _{b}\\ \Sigma _{b|a}=\Sigma _{bb}-\Sigma _{ba}\Sigma _{aa}^{-1}\Sigma _{ab}

对应到上面的拼接向量也就是:

\begin{pmatrix} \underset{x_{a}}{\underbrace{Y}}\\ \underset{x_{b}}{\underbrace{f(X^{*}}}) \end{pmatrix}\sim N\left (\begin{pmatrix} \underset{\mu _{a}}{\underbrace{\mu (X)}}\\ \underset{\mu _{b}}{\underbrace{\mu (X^{*})}} \end{pmatrix},\begin{pmatrix} \underset{\Sigma _{aa}}{\underbrace{K(X,X)+\sigma ^{2}I}} & \underset{\Sigma _{ab}}{\underbrace{K(X,X^{*})}}\\ \underset{\Sigma _{ba}}{\underbrace{K(X^{*},X)}} & \underset{\Sigma _{bb}}{\underbrace{K(X^{*},X^{*})}} \end{pmatrix}\right )

套用公式得到概率P(f(X^{*})|Y)

P(f(X^{*})|Y)=N({\color{Red}{K(X^{*},X)(K(X,X)+\sigma ^{2}I)^{-1}(Y-\mu (X))+\mu (X^{*})}},\\ {\color{Blue}{K(X^{*},X^{*})-K(X^{*},X)(K(X,X)+\sigma ^{2}I)^{-1}K(X,X^{*})}})

再加上噪声就得到Y^{*}的分布:

P(f(X^{*})|Y)=N({\color{Red}{K(X^{*},X)(K(X,X)+\sigma ^{2}I)^{-1}(Y-\mu (X))+\mu (X^{*})}},\\ {\color{Blue}{K(X^{*},X^{*})-K(X^{*},X)(K(X,X)+\sigma ^{2}I)^{-1}K(X,X^{*})+\sigma ^{2}I}})

显然比起权重空间角度的方法,从函数空间角度出发更容易求解这个问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容