NO.25.tip: 诱导点近似

背景

高斯过程的主要缺点是,对 核矩阵求逆所需的时间复杂度为 ,这使得该方法对于大数据集来说太过缓慢。研究学者已经提出了许多不同的近似方案来加速高斯过程。

稀疏近似又称为诱导点近似。加速高斯过程推理的一个简单方法是使用更少的数据。一种更好的方法是尝试将 个训练点 "汇总"为 个诱导点(inducing point)或伪输入(pseudo input)。这允许我们使用 来代替 ,其中 是在训练点观察到的函数值的向量, 是在诱导点估计的函数值。通过优化 ,我们可以学会将训练数据 "压缩"为"瓶颈" ,从而加快计算,将时间复杂度从 降低到 。这被称为稀疏高斯过程(sparse GP)。使用变分推理的框架可以使整个过程变得严谨。

源与流

我们讨论了一种基于诱导点(inducing point)的近似方法,也称为伪输入(pseudoinput),这种方法就像是我们可以条件化地训练数据的学习总结,而不是对全部数据条件化。

是观测到的输入, 是函数值的未知向量(假设存在噪声观测 )。设 为一个或多个测试点 处的未知函数值。最后,假设我们有 个额外的输入 ,其对应的未知函数值为 (通常用 表示)。精确的联合先验具有以下形式:

(我们记作 而不是 ,因为输入可以被认为只是随机函数 的索引。)

我们将以这样一种方式选择 ,即将该值作为数据的重复统计量,这样我们就可以仅使用 而不是 来预测 ,即,我们假设 。因此,我们将先验近似如下:

注意,这种方法通常被称为稀疏高斯过程,因为该方法使用训练数据的一个子集 ,而不是全部数据 来预测

由此,我们可以推导出以下训练和测试条件:

上述公式可以看作是对无噪声观测 的精确推理。为了提高计算速度,我们将对 做进一步的近似,如下所述。然后,我们可以推导出近似先验 ,并以通常的方式将其作为观测的条件。

我们下面讨论的所有近似都会产生 的初始训练成本,然后每个测试用例的预测均值都会花费 的时间,预测方差会花费 的时间。(将其与训练时间 以及测试时间 进行比较,以进行精确推断。)

SOR/DIC

假定我们假设 ,从而使得条件是确定性的。这被称为确定性诱导条件(Deterministic Inducing Conditional,DIC)近似,或回归子集(Subset Of Regressors,SOR)近似。相应的联合先验具有以下形式:

让我们定义 ,以及 ,那么预测分布为:

这等价于高斯过程的一般情况,除了我们将 替换为 。这相当于使用以下核函数执行高斯过程推理:

核矩阵的秩为 ,因此高斯过程是退化的。此外,当 远离所选点 之一时,核将接近 ,这可能导致预测方差的值被低估。

DTC

克服确定性诱导条件近似过度自信的一种方法是只假设 ,并设 为精确值。这被称为确定性训练条件(Deterministic Training Conditional,DTC)方法。

相应的联合先验具有以下形式:

因此,预测分布变成

预测均值与回归子集中的相同,但由于给定 的不确定性,方差较大(因为 是正定的)。

FITC

一种广泛使用的近似假设 是完全因子化的,即

这被称为完全独立的训练条件(Fully Independent Training Conditional,FITC)假设。与回归子集方法和确定性训练条件方法相比,该方法减少了不确定性,因为它没有对 之间的关系做出任何确定性假设。

其联合先验具有以下形式:

单个测试用例的预测分布由下式给出:

其中,。如果我们有一批测试用例,那么我们可以假设这些测试用例是条件独立的(一种称为完全独立条件(Fully Independent Conditional,FIC)的方法),并对上述公式进行相乘运算。

计算成本与回归子集以及确定性训练条件方法相同,但由于非退化核,该方法避免了一些弊端。特别地,可以证明完全独立条件方法等价于具有以下非退化核的精确高斯过程推理:

学习诱导点

到目前为止,我们还没有指定如何选择诱导点或伪输入 。我们可以像处理核超参数一样处理这些参数,即选择这些参数以最大化对数边缘似然,如下所示:

其中, 的定义取决于方法,即

如果输入域是 ,我们可以使用梯度方法优化 。然而,核方法的吸引力之一是这些方法可以处理结构化输入。在这种情况下,我们不能使用梯度方法来选择诱导点。一种简单的方法是从训练集中选择诱导点,或者使用有效选择机制。然而,我们也可以使用离散优化方法。