GPy 和 GPflow 数学背景 - 参考资料

GPy and GPflow mathematical background - references

GPy 和 GPflow 有共同的数学背景吗?我问这个是因为我正在使用 GPy 但我看不到参考资料。但是,GPflow 在其示例中提供了参考。

继续使用 GPy 是否可以,或者您是否建议立即将 GPflow 用于高斯过程?

GPy 和 GPflow 肯定有共同的数学背景:高斯过程 Rasmussen and Williams,两个框架中的许多概念非常相似:内核、似然、均值函数、诱导点等。对我来说,GPy 和 GPflow 之间最大的区别是计算后端:AFAIK GPy 使用普通 Python 和 numpy 来执行其所有计算,而 GPflow 依赖于 TensorFlow。这免费为 GPflow 提供了多个不错的功能:GPU 加速、自动渐变、与 TF 生态系统的兼容性等。根据您的用例,这些功能可能是至关重要的,也可能只是不错的选择。

以下是有关两个框架之间技术细节的更多信息: https://gpflow.readthedocs.io/en/master/intro.html#what-s-the-difference-between-gpy-and-gpflow

这取决于您实际在做什么。 非常基本的 GP 应该是相似的,只是 GPflow 依赖于 tensorflow 的梯度(如果使用的话)和可能一些技术实现差异。

对于其他更高级的模型,两个库都提供了对文档中相应论文的引用。在我看来,GPflow 的设计主要围绕 [1] 和 [2] 中的 SVGP 框架(以及许多其他扩展。如果您对理论感兴趣,我真的可以推荐 [2])。 但他们仍然提供了一些其他的实现。

我使用 GPflow,因为它可以在 GPU 上运行并提供许多最先进的实现。不过缺点就是改动比较大

如果您想使用经典 GP 并且不太关心性能或非常最新的方法,我会说 GPy 应该足够了,而且是更稳定的变体。

[1] Hensman、James、Alexander Matthews 和 Zoubin Ghahramani。 "Scalable variational Gaussian process classification." (2015).

[2] 马修斯,亚历山大·格雷姆·德加里斯。使用变分方法的可扩展高斯过程推理。指责。剑桥大学, 2017.