一、概述

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

对于时间轴上的随机变量序列Cloab 高斯回归模型 高斯回归过程_线性代数Cloab 高斯回归模型 高斯回归过程_线性代数_02是一个连续域,如果Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_03Cloab 高斯回归模型 高斯回归过程_人工智能_04,满足Cloab 高斯回归模型 高斯回归过程_算法_05,那么Cloab 高斯回归模型 高斯回归过程_线性代数就是一个高斯过程(Gaussian Process)。

上面的定义中Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_07称为index,Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_08是随机变量。

一个高斯过程可以有两个函数,即均值函数Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_09和协方差函数Cloab 高斯回归模型 高斯回归过程_算法_10来确定:

Cloab 高斯回归模型 高斯回归过程_人工智能_11

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

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_12

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

Cloab 高斯回归模型 高斯回归过程_人工智能_13

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

Cloab 高斯回归模型 高斯回归过程_机器学习_14

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

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

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

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

Cloab 高斯回归模型 高斯回归过程_线性代数_16

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

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_17

上面的式子中,均值和方差都存在Cloab 高斯回归模型 高斯回归过程_机器学习_18,这一项可以通过伍德伯里矩阵恒等式(Woodbury Matrix Identity)求出来,该恒等式如下:

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_19

按照伍德伯里矩阵恒等式的形式,我们可以将Cloab 高斯回归模型 高斯回归过程_机器学习_20对应为Cloab 高斯回归模型 高斯回归过程_机器学习_21

Cloab 高斯回归模型 高斯回归过程_人工智能_22

代入恒等式求解得到Cloab 高斯回归模型 高斯回归过程_机器学习_18

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_24

Cloab 高斯回归模型 高斯回归过程_机器学习_18代入就能Cloab 高斯回归模型 高斯回归过程_人工智能_26,就能得到均值和方差,不过这里的均值直接代入比较复杂,可以通过对Cloab 高斯回归模型 高斯回归过程_机器学习_20做一些变换来得到均值:

Cloab 高斯回归模型 高斯回归过程_人工智能_28

由此求得了Cloab 高斯回归模型 高斯回归过程_人工智能_26的均值,将Cloab 高斯回归模型 高斯回归过程_机器学习_18带入方差可以计算得到方差:

Cloab 高斯回归模型 高斯回归过程_人工智能_31

因此最终得到Cloab 高斯回归模型 高斯回归过程_人工智能_26的概率分布如下:

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_33

通过上面式子的红色部分可以看出Cloab 高斯回归模型 高斯回归过程_人工智能_26的分布只与Cloab 高斯回归模型 高斯回归过程_机器学习_35这样的项有关,如果可以证明这是一个核函数(能够表示成一个内积的形式)的话就说明对于非线性数据来说是可以引入核技巧来将数据映射到高维空间然后再应用贝叶斯线性回归的。现在来做以下定义:

Cloab 高斯回归模型 高斯回归过程_算法_36

因此这是一个核函数。

核贝叶斯线性回归也就是高斯过程回归,这个从参数Cloab 高斯回归模型 高斯回归过程_人工智能_37的角度进行推导的过程是高斯过程回归的权重空间角度。

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

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

Cloab 高斯回归模型 高斯回归过程_线性代数_38

这里给定先验Cloab 高斯回归模型 高斯回归过程_人工智能_37满足一个高斯分布:

Cloab 高斯回归模型 高斯回归过程_线性代数_40

Cloab 高斯回归模型 高斯回归过程_人工智能_37是一个随机变量,那么Cloab 高斯回归模型 高斯回归过程_线性代数_42也是一个随机变量,对于不同Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_15Cloab 高斯回归模型 高斯回归过程_线性代数_42就是不同的随机变量,Cloab 高斯回归模型 高斯回归过程_算法_45就是一些随机变量的组合。接下来,对于Cloab 高斯回归模型 高斯回归过程_线性代数_42,我们看一下它的均值和协方差:

Cloab 高斯回归模型 高斯回归过程_人工智能_47

显然Cloab 高斯回归模型 高斯回归过程_线性代数_42的协方差是一个核函数,类比高斯过程的定义,Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_15也就相当于indexCloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_07,每个Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_15对应一个随机变量Cloab 高斯回归模型 高斯回归过程_线性代数_42Cloab 高斯回归模型 高斯回归过程_线性代数_42也就相当于Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_08,只不过这里Cloab 高斯回归模型 高斯回归过程_线性代数_42Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_15有明确的函数关系,而Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_08Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_07没有,另外Cloab 高斯回归模型 高斯回归过程_线性代数_42的协方差也满足一个核函数,这说明Cloab 高斯回归模型 高斯回归过程_线性代数_42就是一个高斯过程,这也说明了核贝叶斯线性回归为什么就是高斯线性回归。

求解高斯过程回归的方法分为权重空间和函数空间两种,上一节的权重空间角度的方法我们关注的是权重Cloab 高斯回归模型 高斯回归过程_人工智能_37,而函数空间的方法关注的是Cloab 高斯回归模型 高斯回归过程_线性代数_42,下一小节就介绍一下函数空间角度的求解方法。

四、函数空间角度

已有数据如下:

Cloab 高斯回归模型 高斯回归过程_算法_63

对于Cloab 高斯回归模型 高斯回归过程_人工智能_64,满足:

Cloab 高斯回归模型 高斯回归过程_机器学习_65

对于Cloab 高斯回归模型 高斯回归过程_人工智能_66,满足:

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_67

解释一下方差矩阵Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_68的由来,对于方差矩阵对角线上的元素:

Cloab 高斯回归模型 高斯回归过程_算法_69

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

Cloab 高斯回归模型 高斯回归过程_线性代数_70

预测问题也就是对于给定的新的数据Cloab 高斯回归模型 高斯回归过程_线性代数_71,需要求解对应的Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_72

我们把Cloab 高斯回归模型 高斯回归过程_人工智能_66Cloab 高斯回归模型 高斯回归过程_机器学习_74拼接成一个向量,并且按照上面得到方差矩阵的方法简单推一下就可以得到这个拼接起来的向量的分布:

Cloab 高斯回归模型 高斯回归过程_线性代数_75

而对于预测问题,我们要求的是Cloab 高斯回归模型 高斯回归过程_人工智能_76这个概率,其实也就是Cloab 高斯回归模型 高斯回归过程_机器学习_77,也就是上面拼接起来的向量的一个条件概率分布,而求解高维高斯分布的条件概率分布的方法在高斯分布|机器学习推导系列(二)这一篇中已经推导过了,有现成的公式可以套用:

Cloab 高斯回归模型 高斯回归过程_线性代数_78

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

Cloab 高斯回归模型 高斯回归过程_Cloab 高斯回归模型_79

套用公式得到概率Cloab 高斯回归模型 高斯回归过程_机器学习_77

Cloab 高斯回归模型 高斯回归过程_人工智能_81

再加上噪声就得到Cloab 高斯回归模型 高斯回归过程_算法_82的分布:

Cloab 高斯回归模型 高斯回归过程_机器学习_83

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