论文翻译-机器学习中的高斯过程应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
外文译文
机器学习中的高斯过程应用
摘要
我们给了一个对高斯过程回归模型的基本介绍。我们研究的重点在于理解随机过程的含义和如何用他去定义一个分布函数。我们提出了一个简单的方程,它可以结合训练数据并且测试了它如何去应用边缘概率密度来学习超参数。我们解释了高斯过程的实际应用优势并且得出结论,高斯过程是适合当前时代趋势的。
回归(对于连续输出)和分类(对于离散输出)形式的机器学习是一个对于学习统计学和机器学习非常重要的组成部分,无论是对于大量数据的分析,或是对于一个更加复杂问题中的子目标的解决。
传统参数模型(①参数模型,我们这里是指模型在训练过程中从训练数据“吸收”信息传递给参数;训练结束后,数据库可以被丢弃。)已经被用作完成这些目标。这些可能在容易理解方面有优势,但是应用于复杂数据分析时,简单的参数模型就显得力不从心了,而且比它们更复杂的类似的方法(比如前向网络)可能在实践中比较难以实现。内核机器的出现,比如支持向量机和高斯过程使对复杂模型进行实际分析有了可能性。
在这篇短文中,我们提出了一个使用高斯过程用于贝叶斯回归方程的建模的基本方法。我们主要关注如何理解随机过程和如何将他在机器学习中应用。第二,我们将讨论关于超参数在协方差函数中的作用的切实问题,边缘概率密度和奥卡姆剃刀原则的问题。要查看更多关于高斯过程的介绍,请看参考文献[1],[2]。
第一章高斯过程
在这部分我们定义了高斯过程,并且展示它们是如何非常自然的被应用于定义分布函数。接下来的部分,我们继续展示这个分布函数是如何通过训练数据更新的。
定义1:高斯过程是一个随机变量的集合,其中任何有限的数字都有共同的高斯分布。
一个高斯过程可以被它的均值函数m(x)和协方差函数k(x,x’)完全的定义。分别将均值函数和协方差函数表示成向量和矩阵,这是一个对高斯分布的自然推广。高斯分布用向量表示,而高斯过程用函数表示。如此有:
意思是:“f是由均值函数m和协方差函数k定义的高斯分布函数。”
虽然从分布到过程的概括比较直截了当,我们会略详细地解释一下细节,因为它可能对一些读者来说没那么熟悉。高斯向量中的单个随机变量可以被他们的位置向量索引到。高斯过程中,有一个参数x(随机函数f(x)中的)起到了索引集的角色:每一个输入x都有一个相联系的随机变量f(x),这是(随机)函数f在x处的取值。为了识记方便,我们用自然数来列举x的值,并且用这些来索引他们在随机过程中的位置-不要让你自己被这个迷惑:随机过程的索引用xi表示,我们选择用i来表示索引。
虽然与无限维对象工作可能在起初看起来很笨拙,但是经过大量计算证明,这只需要与有限维对象工作就可以完成。实际上,找到用相关分布函数减少随机过程运算量的答案,这才是高斯过程可行性的关键。让我们看一个例子,考虑如下方程给出的高斯过程:
为了更加直观地理解这个随机过程,我们可以用函数f画出采样图。为了只与有限数据进行处理,我们只要求在不同有限数字n代表的位置的f的取值。我们如何产生这样的采样呢?给出不同x的取值,我们可以用定义了一个标准高斯分布的方程计算出均值向量和协方差矩阵:
我们用m和k代表高斯过程的参数,用μ和∑代表分布函数的参数,来清楚地区分它们。我们现在可以通过这个分布函数创造出一组随机向量。这个向量会作为坐标的函数,由x的值得到相应的f(x)的值。
图1
这是由一个确定的高斯随机过程方程随机3次画出的3个函数的函数图像。图中的点是由方程算出的,另外两条曲线(有些不准确)是连接采样点画出的。函数值体现了一个平滑的基础函数;这实际上是高斯随机过程与平方指数的协方差函数的性质的体现。阴影灰色部分代表了95%的置信区间。
我们现在就可以画出f的函数值与x的关系图,如图1。我们实际上如何完成这件事?下面的几句Matlab(②Matlab是The MathWork Inc的商标)代码可以用来画出上图。
xs = (-5:0.2:5)’; ns = size(xs,1); keps = 1e-9;
m = inline(’0.25*x.^2’);
K = inline(’exp(-0.5*(repmat(p’’,size(q))-repmat(q,size(p’’))).^2)’);
fs = m(xs) + chol(K(xs,xs)+keps*eye(ns))’*randn(ns,1);
plot(xs,fs,’.’)
上面的例子里,m和k是均值和协方差;chol是一个实现计算矩阵的Cholesky分解(③我们还为了数值稳定添加了多重协方差矩阵(限制特征值的数值不为0);有兴趣的话可以查看Eq.(8)附近的解释)的函数。
这个例子说明了我们如何从过程转变成分布,同时说明了高斯过程定义了一个分布函数。到此,我们只考虑了随机函数-在下一部分,我们会看到一个非常简单的应用高斯随机过程建模的方法来进行数据推测训练的例子。
第二章后验高斯过程
在前一个部分,我们看到了如何应用高斯过程来定义概率分布函数。这个高斯过程将被优先用于贝叶斯推理,这不依赖于训练数据,而是依靠一些函数的内容;举例来说,图1里的函数是平滑的,并且接近于二次方程函数。本部分的目标是找到一个简单的规则来更新之前的训练数据。下一部分的目标是试图根据之前(④根据定义,先验概率对于数据是独立的,在这里我们用一个有自由参数的多层先验概率,并且用它来推测参数。)得到的数据找到一些性质。
计算后验概率的主要目的是它们可以用来预测看不到的实验因素。用f表示已知训练数据的函数值,用f*表示一系列对应输入X*的函数值。再一次,我们写出了我们有兴趣的所有参数的联合分布:
其中,我们已经介绍过的标识:μ=m(xi),i=1,2,……,n是已知训练数据的均值,类似地μ*是训练后的均值;∑是训练数据的协方差,∑*是训练前数据与训练后数据的协方差,∑**是训练后数据的协方差。到此,由我们知道的训练数据f的值我们可以的出我们感兴趣的f*在f条件下的条件概率(⑤决定高斯联合分布的公式是:
)
这是一个对于特定实验情况的后验概率分布。很容易验证(根据检验),对应的后验概率过程是:
其中∑(X,x)是每个训练数据和x之前的协方差向量。这些是高斯过程预测的核心方程。我们来测试一下这些方程的后验均值和协方差。注意到后验方差kD(x,x)等于先验方差k(x,x)减去一个依赖于训练数据输入的确定的部分;因此只要数据给了我们额外的信息,后验方差就永远小于先验方差。
我们需要解决最后一件事情:训练输出数据中的噪声。对于许多回归的应用的来说,在观察中存在噪声是非常正常的事情(⑥然而,可能非常有趣的是高斯过程模型也在无噪声的情况下运行-这和大多数参数化方法相反,因此它们通常