我正在使用高斯过程 (GP) 进行回归(通过 MATLAB 的gpml包)。
到目前为止,我通过最大化对数似然来优化超参数,但我想通过(大约)边缘化超参数来尝试更贝叶斯的方法。
困难的部分是我还希望训练保持相对较快。目前优化非常快,因为可能性是高斯的,所以一切都是分析的(可能性和梯度)。因此,使用伪牛顿方法最大化似然性只需要少数函数评估。
我在其他项目(例如,切片采样)中经常使用 MCMC,根据我的经验,它要么很慢(即,获取独立样本可能需要大量时间)和/或需要大量仔细调整和检查。
作为一种中间方法(介于优化和适当边缘化之间),我正在考虑使用拉普拉斯近似与重要性采样相结合。该算法将是:
- 就像我现在做的那样最大化对数似然;
- 最大程度地分析计算 Hessian 矩阵(据我所知gpml不会这样做,但写下来应该不会太难);
- 来自以众数为中心且协方差矩阵等于逆 Hessian 矩阵的多元正态分布的样本参数;
- 通过重要性抽样为样本赋予权重。
在纸面上,这种方法应该很快就会起作用(超参数空间相对较小,所以我看不到计算/反转 Hessian 的主要问题)。当然,如果后验不是高斯的,它就不如适当的边缘化,但是重要性采样位应该解释一些与正态性的偏差。
你预见到这有什么问题吗?或者,是否有一种(几乎)与优化一样快的采样方法(并且不需要调整)?