timcompp 2019-01-16
高斯过程是一种强大的回归和分类算法。它最大的优势是能够对自身的不确定性做出可靠的估计。本文目标是让您直观地了解什么是高斯过程。
内容:
机器学习使用我们拥有的数据(称为训练数据)来学习我们可以用来预测我们尚未拥有的数据的函数。最简单的例子是线性回归,在这里我们学习一条线的斜率和截距,这样我们就可以从它们的水平位置预测点的垂直位置。如下所示,训练数据为蓝点,学习函数为红线。
机器学习是线性回归的延伸(在某些方面)。首先,现代的机器学习(ML)处理的数据复杂得多,而不是学习一个函数来计算一个与线性回归类似的另一个数字,我们可以处理不同的输入和输出,例如:
其次,现代机器学习(ML)使用更强大的方法来提取模式,深度学习只是其中之一。高斯过程是这些方法中的一种,它们的主要区别是它们与不确定性的关系。
不确定性可以表示为一组可能的结果及其各自的可能性 - 称为概率分布
概率分布最明显的例子是掷一个六面骰子的结果,即任何特定面的概率为六分之一。
这是离散概率分布的一个例子,因为可能的结果是有限的。在离散情况下,概率分布就是可能结果和它们发生的概率的列表。在许多现实场景中,连续概率分布更为合适,因为结果可以是任意实数,下一节将讨论其中的一个示例。
另一个重要的概念在后面会很有用,那就是从概率分布中抽样。这意味着从一组可能的结果到一个真实的结果。
贝叶斯推理归结为一种基于我们观察到的证据(evidence)更新我们对世界的信念(beliefs )的方法。在贝叶斯推理中,我们对世界的看法通常表示为概率分布,贝叶斯规则告诉我们如何更新这些概率分布。
贝叶斯统计为我们提供了基于新数据更新我们的信念(用概率分布表示)的工具
让我们来看一个贝叶斯推理的说明性例子——我们将根据一些证据调整我们对奥巴马身高的看法。
让我们假设我们从未听说过巴拉克•奥巴马,或者至少我们不知道他的身高。但是我们知道他是一个居住在美国的男性。因此,在看到任何证据之前,我们相信奥巴马的身高(在贝叶斯术语中,这就是我们之前的信念)应该是美国男性高度的分布。
现在让我们假设维基百科不存在,让我们观察一些照片形式的证据。
我们更新的信念看起来像这样。
蓝色:更新的信念。红色:旧信念
我们可以看到,奥巴马肯定比平均水平更高,略高于其他几位世界领导人,但我们不能确定奥巴马究竟有多高。所显示的概率分布仍然反映了奥巴马平均身高的可能性很小,而且照片中的其他人都非常短。
我们可以看到奥巴马确实比一般人高,略高于其他几位世界领导人,但是我们不能确定他到底有多高。图中所示的概率分布仍然反映出奥巴马是平均身高的可能性很小。
现在我们知道如何表示数字值(例如高度或骰子结果)的不确定性。
高斯过程(Gaussian Process, GP)是概率论和数理统计中随机过程(stochastic process)的一种,是一系列服从正态分布的随机变量(random variable)在一指数集(index set)内的组合。
由于高斯过程让我们描述了函数的概率分布,我们可以使用贝叶斯规则通过观察训练数据来更新我们的函数分布。
为了强化这种直觉,我将通过高斯过程的贝叶斯推理的例子,这与上一节中的例子完全类似。我们不会根据照片更新我们对奥巴马身高的看法,而是会根据该函数的一些样本更新我们对未知函数的看法。
我们对未知函数的先验信息在下面可视化。右边是我们的高斯过程的均值和标准差 - 我们对函数没有任何了解,因此我们的均值的最佳猜测是在实数的中间,即0。
在左边的每一行都是函数分布的一个样本,我们的知识的缺乏反映在可能的函数的广泛范围和显示的函数形状的多样性上。从高斯过程中采样就像掷骰子,但每次你得到一个不同的函数,可能会得到无穷多个可能的函数。
我们不是观察一些奥巴马的照片,而是在不同的时间点观察一些未知函数的输出。对于高斯过程,我们的证据是训练数据。
现在,我们看到了一些证据,让我们使用Bayes规则来更新我们关于获得后高斯过程的函数的信念,也就是我们对函数的更新信念。
与奥巴马可能的身高分布范围相似,你可以看到的是函数分布较窄。更新的高斯过程受限于拟合我们训练数据的可能函数 - 我们的函数的平均值截取所有训练点,每个采样函数也是如此。我们还可以看到标准偏差远离我们的训练数据,这反映了我们对这些领域缺乏了解。
一个关键的好处是,拟合GP的不确定性随着训练数据的增加而增加 - 这是GPs roots在概率和贝叶斯推理中的直接结果。
来自scikit-learn文档上的分类器比较页面的图像子集
上面我们可以看到在一个简单的蓝点和红点的分离任务中,通过不同的方法学习到的分类函数。
高斯过程要结合专业知识
当您使用GP对问题进行建模时,您可以通过选择核来塑造您的先前信念(对这些内容的完整解释超出了本文的范围)。
这使您可以用许多不同的方法来塑造拟合函数。你可能想知道,基于上面讨论的不确定性特性,高斯过程是如何超越它们的训练数据进行泛化的。答案是GP的泛化特性几乎完全取决于核的选择。
高斯过程在计算上是昂贵的。
高斯过程是非参数方法。参数方法将关于训练数据的知识提炼成一组数字。对于线性回归,这只是两个数字,即斜率和截距,而其他方法(如神经网络)可能有数百万。这意味着在训练之后,进行预测的成本仅取决于参数的数量。
然而,由于高斯过程是非参数的(虽然核超参数模糊了图像),每次进行预测时都需要考虑整个训练数据。这不仅意味着训练数据必须在推断时保存,而且还意味着预测的计算成本随着训练样本数量的增加而增加。
高斯过程的世界将在可预见的情况下仍然令人兴奋,因为正在进行研究以将其概率优势带给目前由深度学习主导的问题 - 稀疏和小批量高斯过程增加其对大型数据集的可扩展性,而深度和卷积高斯过程将高维和图像数据置于可达范围内。