高斯过程回归玩具问题

机器算法验证 回归 高斯过程
2022-03-30 04:32:47

我试图对高斯过程回归有一些直觉,所以我做了一个简单的 1D 玩具问题来尝试。我将作为输入,将作为响应。的“灵感” xi={1,2,3}yi={1,4,9}y=x2

对于回归,我使用了标准平方指数核函数:

k(xp,xq)=σf2exp(12l2|xpxq|2)

我假设存在标准偏差的噪声,因此协方差矩阵变为:σn

Kpq=k(xp,xq)+σn2δpq

通过最大化数据的对数似然来估计超参数为了在点进行预测,我分别通过以下方法找到了均值和方差(σn,l,σf)x

μx=kT(K+σn2I)1y
σx2=k(x,x)kT(K+σn2I)1k

其中和输入之间的协方差向量是输出向量。kxy

我对的结果如下所示。蓝线是平均值,红线表示标准差区间。1<x<3

结果

我不确定这是否正确;我的输入(用“X”标记)不在蓝线上。我看到的大多数例子都有与输入相交的平均值。这是可以预期的一般功能吗?

3个回答

通过数据点的平均函数通常表示过度拟合。通过最大化边际似然来优化超参数将倾向于非常简单的模型,除非有足够的数据来证明更复杂的东西。由于您只有三个数据点,它们或多或少在一条线上几乎没有噪音,因此找到的模型对我来说似乎很合理。本质上,数据既可以解释为具有中等噪声的线性基础函数,也可以解释为具有少量噪声的中等非线性基础函数。前者是两种假设中较简单的一种,受到“奥卡姆剃刀”的青睐。

您正在使用添加了噪声项的克里金估计量(在高斯过程文献中称为块金效应)。如果噪声项设置为零,即

σn2δpq=0

那么您的预测将充当插值并通过样本数据点。

这对我来说看起来不错,在 Rasmussen 的 GP 书中,它肯定显示了平均函数不通过每个数据点的示例。请注意,回归线是对基础函数的估计,我们假设观察结果是基础函数值加上一些噪声。如果回归线基于所有三个点,则基本上可以说观察值中没有噪声。

您可以通过设置强制无噪音假设σn=0,并且只是优化其他超参数。

我也怀疑超参数l被设置为一个相对较大的值,给出一个非常浅的函数。

你可以试着拿着l固定在各种较小的值,看看它如何改变曲线。也许如果你强迫l要小一点,回归线将通过所有数据点。

正如 Dikran Marsupial 所指出的,这是高斯过程的内置特征,边际似然会惩罚过于具体的模型,并且更喜欢可以解释许多数据集的模型。