本文约2700字,建议阅读时间约9分钟。
本文将用简单易懂的语言为初学者介绍高斯过程。
高斯过程(Gaussian Process)是机器学习中的一个基础概念。本文将采用通俗的语言来引导大家走进高斯过程的殿堂。
高斯过程,从字面上理解,就是包含了高斯分布(Gaussian Distribution)和随机过程(Stochastic Process)的概念。简而言之,高斯过程是无限维的高斯分布表现形式。
对于未曾接触过随机过程的读者,可能会对“无限维”这一概念感到困惑。不过别担心,我们可以从一维高斯分布开始讲起。
一维高斯分布指的是:对于一个随机变量X,如果其概率密度函数(PDF)呈现出如下形式:
我们可以用Normal符号简单地表示它。
当这个一维变量X服从一维高斯分布时,该分布由两个参数决定:均值和方差。
在下图中,我们展示了关于X的10个采样点。纵轴表示采样的值,横轴则表示这些采样点都来自同一个变量。
图1展示了高斯分布的采样情况。
当我们谈到高斯分布,或者称为多元高斯分布时,我们是在扩展一维高斯分布的概念。对于N维变量X,它是一个N维向量。它的参数不仅包括每个维度上的均值,还包括每个维度之间的协方差。
为了更好地解释,我们先以二元高斯分布为例进行说明。假设这两个维度是独立的,即它们之间的协方差为0。我们可以画出一个简单的采样过程。
随着采样点的增加,如果我们用直方图来直观地表示概率,那么它的样子大致如下。
当我们逐渐增加维度数,从3维到4维,甚至更多,虽然需要指定的均值和方差的参数增多,但整体趋势仍然相似。
现在让我们设想这样一个场景:在一个班级中,有10名学生参加了两场考试。这些学生在不同考试中的得分表现刻画了考试的难易程度。如果我们把学生数看作是采样次数,考试的种类看作是随机变量的维度,那么上图就形象地展示了这10名学生在两场考试中的表现。
接下来,我们想要观察同一个学生在不同考试中的分数变化情况。通过连接相邻的维度,我们可以得到更深入的理解。
假设我们增加考试的次数到7次(n=7),继续观察其变化。
是否感觉到有些不对劲?如果没有,那么我们再增加考试的次数到30次。
现在应该能感觉到哪里不对了吧。这种情况明显不符合常理,因为学生的考试分数完全没有规律可循,不同学生之间也没有明显的分数差距。
这其实是因为我们之前做的不同维度独立性的假设过于理想化。事实上,时间前后相邻的不同维度通常不是独立的。
为了解决这个问题,我们使用了一种协方差函数(这里先不深入探讨具体是哪种函数)。这种函数能够帮助我们生成一种常见的先验协方差。
采用这种方法后,我们所得到的图形更加合理。有的学生分数在多数考试中偏低,有的则偏高,还有的学生成绩持续进步或退步。
至此,我们可以将维度推广到无限。如果我们每一个时刻都有一个随机变量,当我们取连续的时刻(而非之前的离散维度),我们就得到了无穷维度的高斯分布。
对于任意时刻t,我们使用函数来描述该时刻的均值,这被称为均值函数。
对于任意两个不同时刻t1和t2,我们使用一个二元函数来描述这两个时刻上的协方差,这被称为协方差函数或核函数。之前提到的RBF函数是一种常用的核函数,其形式如下:
其中
l是RBF函数的超参数。这个核函数的设计是合理的,因为当两个不同时刻非常接近时,这两个时刻上的协方差值就会越大,表明它们之间的相关性也越大。
至此,我们对高斯过程做了一个简单的介绍。
关于高斯过程的其他应用和相关知识,我们将在后续的文章中再给读者们详细介绍。