如何在高斯过程回归中为 RBC 内核选择长度尺度范围?
机器算法验证
机器学习
高斯过程
2022-03-23 03:34:54
1个回答
当将具有特定内核的 GP “拟合”到数据集时,我们实际上要做的是根据数据推断超参数的最合适的值(其中长度尺度是一个重要的值)。这通常采用优化问题的形式,在给定模型的情况下,我们尝试最大化观察数据的概率(或者更准确地说,最大化对数边际似然)。
由于 GP 是非常灵活的模型,如果设置不当,这种优化可能会非常棘手,这包括可行的搜索空间。我相信您观察到的行为是由于优化器(L-BFGS-B)在搜索空间的(相对)平坦区域中初始化,因此“卡在”那里。通过增加搜索空间的边界,您更有可能将长度尺度初始化为一个较大的值,我们可以预期这会导致相当平坦的对数边际似然函数(具有 RBF 内核的 GP 将“编码”渐近线性功能为)。我不确定为什么优化器在这种情况下没有失败lengthscale 上限,但您可以看到预测是平的,这表明它返回了一个荒谬的大长度尺度。
我建议阅读 Michael Betancourt 的这篇文章的第 3 部分,以更详细地理解这个问题,但一个快速的解释是合适的长度范围取决于你的函数的支持。尽管它确实取决于参数化(我相信 Sklearn 使用了一个相当标准的参数化),但 RBF 内核无法“正确区分”(在优化目标更改的情况下)长度尺度小于数据中的最小间距,并且大于数据的最大间距。
作为起点,我建议在等于数据集中任意两点之间的最大间距,并且下限等于任意两点之间的最小间距或某个小值(例如 1e-3;以防止最小间距为零)中的较大者重复观察的情况)。
请注意,我认为上述内容并不完全适用于具有各向异性长度尺度的内核(即具有多个不同长度尺度的“ARD”内核),但仍然是一个有用的起点。
其它你可能感兴趣的问题

