使用拉普拉斯近似对 GP 回归超参数进行边缘化

机器算法验证 回归 机器学习 贝叶斯 高斯过程 拉普拉斯近似
2022-04-12 10:52:05

我正在使用高斯过程 (GP) 进行回归(通过 MATLAB 的gpml包)。

到目前为止,我通过最大化对数似然来优化超参数,但我想通过(大约)边缘化超参数来尝试更贝叶斯的方法。

困难的部分是我还希望训练保持相对较快。目前优化非常快,因为可能性是高斯的,所以一切都是分析的(可能性和梯度)。因此,使用伪牛顿方法最大化似然性只需要少数函数评估。

我在其他项目(例如,切片采样)中经常使用 MCMC,根据我的经验,它要么很慢(即,获取独立样本可能需要大量时间)和/或需要大量仔细调整和检查。

作为一种中间方法(介于优化和适当边缘化之间),我正在考虑使用拉普拉斯近似与重要性采样相结合。该算法将是:

  • 就像我现在做的那样最大化对数似然;
  • 最大程度地分析计算 Hessian 矩阵(据我所知gpml不会这样做,但写下来应该不会太难);
  • 来自以众数为中心且协方差矩阵等于逆 Hessian 矩阵的多元正态分布的样本参数;
  • 通过重要性抽样为样本赋予权重。

在纸面上,这种方法应该很快就会起作用(超参数空间相对较小,所以我看不到计算/反转 Hessian 的主要问题)。当然,如果后验不是高斯的,它就不如适当的边缘化,但是重要性采样位应该解释一些与正态性的偏差。

你预见到这有什么问题吗?或者,是否有一种(几乎)与优化一样快的采样方法(并且不需要调整)?

2个回答

您可能对此处的 gpml_extensions 存储库感兴趣:

https://github.com/rmgarnett/gpml_extensions/

有用于计算精确推断的对数似然 wrt的 Hessian和用于近似 GP 推断的拉普拉斯近似的代码。还有一些方便的代码可以使用这些代码来找到超参数后验 (theta_posterior_laplace.m) 的拉普拉斯近似。θp(θX,y)

最后,来自 UAI 2014 的这篇论文提出了一种对后验预测分布的快速分析逼近(称为 MGP)

p(fx,X,y)=p(fx,X,y,θ)p(θX,y)dθ ,

后验的任意高斯近似下:θ

p(θX,y)N(θ;θ^,Σ)

拉普拉斯近似是推导出这种近似的一种方法。

有一个构建在 gpml/gpml_extensions 之上的 MGP 实现可从同一用户获得,但我没有发布该链接的声誉。

到目前为止,我可以在网上找到的最好的参考资料,也是一个非常合适的参考资料,是 Ville Pietiläinen 的硕士论文: 高斯过程中超参数积分的近似值(2010)。

Pietiläinen 将点估计方法(所谓的 MAP-II,因为潜在变量在给定高斯似然度的情况下通过分析边缘化)与三种边缘化方法进行了比较:

  1. 网格搜索(使用“智能”网格)
  2. 中央复合设计(CCD)
  3. Student-的准随机重要性抽样t提案分发

有趣的是,对于论文中考虑的案例研究,超参数的边缘化似乎只为小型数据集(例如,不超过 50-100 个训练点)的优化提供了一些好处。更一般地说,正如 Pietiläinen 所说,边缘化的优势应该出现在输入密度低(因此预测不确定性高)区域的测试点上。

三种不同的边缘化方法的表现有些相似,尽管论文中的比较并不详尽。CCD 很有吸引力,因为它需要的功能评估比其他方法少得多。

另一个有趣的参考资料是 Philip Boyle 的博士论文: 回归和优化的高斯过程(2007)。特别是,第 8 章侧重于超参数的边缘化。

总之,我最终会尝试并实施 CCD 方法,尽管此时不是优先事项,因为我不期望在优化方面有重大收获。我可能可以更好地利用对预测质量有较大影响的其他因素(例如,协方差函数的选择)来消磨时间。