高斯过程回归python_GPR(高斯过程回归)详细推导

GPR(高斯过程回归)详细推导

一、综述

GPR来源于线性模型,有两种方式可以推导出GPR,一种是weight space view,另外一种是function space view。两者考察方式假设不同,关注的对象不同,但是最后导出的结果是相同的。其中,function view的推导方式更加简单,GPR最终的为了实现回归,即已知X,y,x*,求y*。最终的推导出的公式如下:

X,y是已知的数据,我们要求未知数据x*处的函数值,K是核函数。我们接下来会从weight space view和function space view两种方式推导出GPR。最后一部分是GPR的算法流程图。

参考资料:

1.《Gaussian Processes for Machine Learning》

4. python的GPy库和MATLAB中的ooDACE里面集成有GPR

二、weight space view(将w看作变量)

我们考虑下面一个问题:

这是一个线性模型,GPR的想法就是把w看做正态分布的随机变量,求出了w的分布,就知道了y的分布。这里的ε是噪声,在推导中是必须的。如果把

ε=0就是一个无噪的预测,考虑到ε的影响就是一个有噪声的预测。

整个推导分成三部分:

1.已知w的先验分布,通过更多的数据(X,y)求得w的后验分布

2.已知w的后验分布,就能求得f*的概率分布(可以简单地理解为用

来代替)

3.将f*概率分布中均值和方差写成核函数的形式,这个形式与function space view推导出的结果一致,完成!

注:本文的所有推导前面是推导的主干部分,细致的证明在后面。

2.1 w的后验分布

如果我们已经知道了w的确定值,要预测xi处的函数值yi可以表达如下:

上述公式写出了某一点的预测值yi,如果有多个点的值需要预测,将每个点的值看作是独立的,可以得到

由于我们不知道w的分布是怎样的,我们可以假设w的先验为,p是代表先验prior的意思。

这里的p(y|X)是marginal likelihood, GPR中的超参数调节就是使得marginal likelihood最大!

由于p(y|X)与w无关,我们把w看作变量,p(y|X)是一个常量,因此

所以即为我们要求的后验概率。随着数据的增多,后验概率会逐渐地逼近w的真实概率。

证明部分:

(2-2)想要求yi的概率密度函数,可以通过概率分布的微分来求得。

所以对概率分布函数求导即可得到概率密度函数:

(2-5)这个公式为贝叶斯公式,用条件概率证明即可。

X为常量,先不看X,根据条件概率,则

(2-7)这个等式的证明不复杂,两边展开对应相等即可。上述等式成立,常数可以不用看,只要指数部分相等即可,因为常数可以通过概率密度积分为1这个条件来得到。上式等价于证明下式

所以等式左边=等式右边,得证!

2.2 f*的概率分布

我们已知了w的后验分布,结合线性关系,就能知道预测点x*的函数值

从可以看出,预测值实际上就是在w的基础上均值乘以x*,方差乘以x*Tx,这有专门的定理可以证明,一步得出,详细推导过程在本节最后。

由于原来是基底是x本身,拟合你能力有限,为了提高模型的描述能力,我们可以选择某种函数把输入的D维空间映射到N维空间,即:

注意到,我们把w看成变量的时候,phi(x)是常数,该模型对于w而言仍然是线性的,以上的结论仍然可以用。因此:

这是我们想要得到的内容:对f*的预测,但还不是最终的形式,因为此时它跟phi(x)还有关系。为了简便,我们还需做转换

证明部分:

(2-9)有一个定理可以直接证明:

2.3 核函数形式

(2-11)和(2-12)完全相同,只是换了一个形式而已,但是这样就能得到我们想要的核函数形式!

定义核函数:

所以上式可以改写为:

因为Σp为正定矩阵,所以

这样就定义了一个内积形式,这种方法被称作kernel trick。

证明部分:

三、function space view(将f看作多维随机变量)

1.对于高斯过程的基本认识

定义:高斯过程是一组随机变量的组合,任意有限个变量都服从联合高斯分布。

为了推导出GPR,我们仍然假设用贝叶斯线性回归模型和w的先验

这样就能求出均值和方差

协方差函数,即核函数,我们经常取squared exponential

2.高斯回归推导

重新整理一下,可得:

这就变成了一个已知联合高斯分布,求条件概率。这个问题有标准解法,直接套用公式即可,详细推导过程在后面(我们假设均值为0 ):

考虑到y是f(x)加上噪声,则分布为

如果噪声为0,即为noise-free的预测:

推导完成!

证明部分:

定理证明:

证明这个定理使用的是构造法,还需要用到上一章提到的一个定理,会用两次,在这里我重新写一遍:

可以根据上面上式来求得xb|a,,因为求的是条件概率,此时和a有关的量都可以看作已知量,所以:

得证!

四、GPR算法流程图

GPR的算法流程可以从上述公式中做出说明:

在GPR建模中核函数里面的参数称为超参数,调节这些超参数的标准就是最大化marginal likelihood p(y|X)。

五、数学基础

你可能感兴趣的:(高斯过程回归python)