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

一、概述

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

对于时间轴上的随机变量序列\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}})

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容