原文:
towardsdatascience.com/gaussian-processes-from-scratch-cfc11715730c
.
简介
高斯过程(GPs)是一类非常出色的模型。在机器学习算法中,很少有算法能免费提供对不确定性的准确度量,同时仍然非常灵活。问题是,GPs 在概念上非常难以理解。大多数解释都使用了复杂的代数和概率,这通常对理解这些模型的工作原理没有太大帮助。
当然,也有很多优秀的指南跳过了数学部分,直接给你这些模型如何工作的直观感受,但当你自己真正使用高斯过程(GPs)时,在合适的情境下,我个人认为仅仅了解表面知识是不够的。这就是为什么我想从头开始讲解一个基础实现,这样你可以更清晰地了解所有为你实现这些模型的库内部是如何运作的。
我还链接了我的GitHub 仓库,在那里你可以找到仅使用 NumPy 实现高斯过程的代码。我已经尽可能地抽象出数学部分,但显然还有一些是必需的…
数据
第一步总是先查看数据。我们将使用在莫纳罗亚观测站测量的月度二氧化碳大气浓度随时间的变化数据,这是一个高斯过程(GPs)的常见数据集 [1]。这个数据集故意与 sklearn 在他们的GP 教程中使用的数据集相同,该教程教授如何使用他们的 API,而不是模型内部是如何运作的。
每月在莫纳罗亚观测站测量的二氧化碳百万分之一(ppm)。(图片由作者提供)
这是一个非常简单的数据集,这将有助于解释接下来的数学。值得注意的是,它具有线性上升趋势以及一年周期的季节性趋势。
我们将要做的,是将数据的季节性成分和线性成分分开。为此,我们将对数据进行线性模型拟合。
4308

被折叠的 条评论
为什么被折叠?



