高斯过程回归—-MC dropout前导篇

前言

最近从贝叶斯网络的最初版本开始看,看到Monte Carlo Dropout (MC dropout)的时候被高斯过程扼住了喉咙,翻了一天的视频和各种帖子,大概搞懂它在做什么了,这篇文章不讨论高斯过程的整个框架,对于一些理论也不做深入解释,只介绍其在机器学习中作为高斯过程回归(或者分类)的物理含义。

从实际的拟合曲线入手

现在有一个数据集表示为高斯过程回归----MC dropout前导篇,其中高斯过程回归----MC dropout前导篇每一个样本是一个高斯过程回归----MC dropout前导篇维的向量,用高斯过程回归----MC dropout前导篇表示,现在想要对数据建模,我们假设:
每一个样本高斯过程回归----MC dropout前导篇对应的预测值高斯过程回归----MC dropout前导篇是一个高斯分布,而不是一个固定的值
每个高斯过程回归----MC dropout前导篇服从什么样的高斯分布呢?一般我们先假设均值为0,但是方差是多少?前面讲贝叶斯回归的时候,我们认为每个样本是独立的,因此得到的每个高斯过程回归----MC dropout前导篇的分布也是相互独立的,但是高斯过程回归不认为样本之间独立(这样说不太准确),它不认为每个预测值的分布之间相互独立,而是认为它们受输入的高斯过程回归----MC dropout前导篇的影响:如果两个特征向量在空间上具有更大的相似性,那么它们对应的预测值也应该具有相似的分布,我们设高斯过程回归----MC dropout前导篇分别对应输入高斯过程回归----MC dropout前导篇的输出,则高斯过程可以表示为如下的形式:
高斯过程回归----MC dropout前导篇

  • 这里比较容易混淆的就是:它与多元高斯分布之间是什么关系? 毕竟多元高斯也有这样的一个均值向量和协方差向量。
    对于多元高斯分布来说,它的变量是一个具有不同维度的一个样本,也就是说,多元变量中的“元”更像是样本的一种特征,而自变量实际上还是单个样本而已;但是高斯过程的自变量是一个分布,换言之,是一个函数,也就是上式中的高斯过程回归----MC dropout前导篇,之前有听到这样一种说法,说“泛函”是“函数的函数”,虽然有失偏颇,但用在这里便于理解高斯过程,高斯过程可以理解为分布函数的分布,即它的自变量已经不再是样本,而是一个概率密度函数为高斯分布的函数。

回到刚才,高斯过程的协方差矩阵如何定义?
既然假设不同高斯过程回归----MC dropout前导篇之间的分布受到输入的高斯过程回归----MC dropout前导篇的影响,协方差矩阵的每个元素将这种影响体现了出来,矩阵中的每个高斯过程回归----MC dropout前导篇是一种样本在空间中相似性的度量,我们知道,协方差矩阵中如果两个随机变量的协方差大,说明两个变量的相关性越强,用在这里,具体一点:高斯过程回归----MC dropout前导篇的值越大,说明两个分布高斯过程回归----MC dropout前导篇高斯过程回归----MC dropout前导篇的相关性越大,对于函数用相关性表述不太合适,直接理解为两个分布更接近吧。
协方差矩阵中的高斯过程回归----MC dropout前导篇一般通过核函数计算得到,并且矩阵一定是一个半正定矩阵,即:高斯过程的协方差矩阵是一个半正定矩阵,一个半正定矩阵也一定可以作为高斯过程的协方差矩阵。关于半正定矩阵的定义和两条定理的证明这里不是重点,不展开讲。
假设我们现在已经选好了一个核函数:
高斯过程回归----MC dropout前导篇
如何求一个新的样本点高斯过程回归----MC dropout前导篇对应的分布高斯过程回归----MC dropout前导篇
根据之前的假设,高斯过程回归----MC dropout前导篇应该与高斯过程回归----MC dropout前导篇同属于一个高斯过程的联合正态分布,此时的均值和方差应该表示成:
高斯过程回归----MC dropout前导篇
这个新的协方差矩阵中的每个元素都是已知的,所以此时我们知道了高斯过程的联合概率密度函数,同时高斯过程回归----MC dropout前导篇的概率密度函数我们也知道,相应的,我们就可以计算出高斯过程回归----MC dropout前导篇的分布了,注意,这个分布高斯过程回归----MC dropout前导篇对应的不是边缘概率密度,而是一种条件概率(后验分布),即高斯过程回归----MC dropout前导篇直接给出下面的结果:
高斯过程回归----MC dropout前导篇

数据有噪声的情况

当数据没有噪声时,我们认为它是通过高斯过程回归----MC dropout前导篇直接变换得到的,当数据有噪声时,还需要在后面加一个高斯的噪声变量高斯过程回归----MC dropout前导篇,即:高斯过程回归----MC dropout前导篇,此时联合分布为:
高斯过程回归----MC dropout前导篇
进一步计算得到高斯过程回归----MC dropout前导篇的后验分布为:
高斯过程回归----MC dropout前导篇
跟没有噪声的时候相比,高斯过程回归----MC dropout前导篇高斯过程回归----MC dropout前导篇多了一个噪声项高斯过程回归----MC dropout前导篇

高斯过程回归和贝叶斯线性回归有什么关系

在上节中介绍贝叶斯线性回归的时候,我们说不同样本高斯过程回归----MC dropout前导篇对应的预测值高斯过程回归----MC dropout前导篇条件相互独立的,但是我们再观察高斯过程的协方差矩阵,发现高斯过程回归----MC dropout前导篇之间并不相互独立(协方差矩阵并不是只有对角线元素有值),为什么会这样?
先来看贝叶斯回归和高斯过程回归的模型表达式:
高斯过程回归----MC dropout前导篇
在贝叶斯推理时,我们认为高斯过程回归----MC dropout前导篇高斯过程回归----MC dropout前导篇没有任何关系,所以如果将其看成一个核函数的话,得到的协方差矩阵与高斯过程回归----MC dropout前导篇没有关系,并且协方差矩阵实际上是我们假设的高斯过程回归----MC dropout前导篇的先验分布中对应的方差构成的单位矩阵,也就是下面这样:
高斯过程回归----MC dropout前导篇
但是高斯过程使用的核函数以样本的相似度为度量,这样一来,得到的高斯过程回归----MC dropout前导篇就不是条件独立的了。
除此之外,我们在贝叶斯估计中是需要先计算高斯过程回归----MC dropout前导篇的后验分布的,然后再根据模型预测高斯过程回归----MC dropout前导篇,但是高斯过程回归已经确定了核函数,唯一需要优化的可能是核函数里面的超参,我们实际上只需要根据公式做预测就可以了。这两种方法看起来有点类似,但感觉是从两种不同的角度来思考问题:

  1. 贝叶斯过程回归需要求解模型的参数,也就是说,我事先不知道模型是什么,先通过已有的数据推断模型大概是什么样子,再根据得到的模型预测未知样本。也有文章说这种方式有利于不断地学习新的样本,迭代模型的参数,从而更好的拟合全部数据。
  2. 高斯过程回归就像是已经给了一个比较合理的模型,我们只需要对模型的一些超参作微小调整,比如调整前面核函数中的高斯过程回归----MC dropout前导篇,直接拿过来预测就可以。

两者与不确定性的关系

数据的不确定性通过噪声高斯过程回归----MC dropout前导篇体现,模型的不确定性通过预测值的分布体现,即高斯过程回归----MC dropout前导篇,如果该分布的方差比较大,反映的模型对该数据的预测越摇摆不定。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月22日
下一篇 2022年5月22日

相关推荐