Efficiently Sampling Functions from Gaussian Process Posteriors

James T. Wilson, Viacheslav Borovitskiy, Alexander Terenin, Peter Mostowsky, Marc Peter Deisenroth
2/21/2020
stat.MLcs.LGstat.CO

Official code: j-wilson/GPflowSampling (76 stars, last commit 2020-11-13).

Abstract

Gaussian processes are the gold standard for many real-world modeling problems, especially in cases where a model's success hinges upon its ability to faithfully represent predictive uncertainty. These problems typically exist as parts of larger frameworks, wherein quantities of interest are ultimately defined by integrating over posterior distributions. These quantities are frequently intractable, motivating the use of Monte Carlo methods. Despite substantial progress in scaling up Gaussian processes to large training sets, methods for accurately generating draws from their posterior distributions still scale cubically in the number of test locations. We identify a decomposition of Gaussian processes that naturally lends itself to scalable sampling by separating out the prior from the data. Building off of this factorization, we propose an easy-to-use and general-purpose approach for fast posterior sampling, which seamlessly pairs with sparse approximations to afford scalability both during training and at test time. In a series of experiments designed to test competing sampling schemes' statistical properties and practical ramifications, we demonstrate how decoupled sample paths accurately represent Gaussian process posteriors at a fraction of the usual cost.

View on arXivView PDF

Code Implementations(1)

Code for efficiently sampling functions from GP(flow) posteriors

7617PythonJun 30, 20205 years ago

Cite this paper

@article{wilson2020efficiently,
  title  = {Efficiently Sampling Functions from Gaussian Process Posteriors},
  author = {James T. Wilson and Viacheslav Borovitskiy and Alexander Terenin and Peter Mostowsky and Marc Peter Deisenroth},
  year   = {2020},
  eprint = {2002.09309},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2002.09309}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2002.09309.svg)](https://codeofpaper.com/paper/2002.09309)

Discussion