Probabilistic Programming with Gaussian Process Memoization

12/17/2015
by   Ulrich Schaechtle, et al.
0

Gaussian Processes (GPs) are widely used tools in statistics, machine learning, robotics, computer vision, and scientific computation. However, despite their popularity, they can be difficult to apply; all but the simplest classification or regression applications require specification and inference over complex covariance functions that do not admit simple analytical posteriors. This paper shows how to embed Gaussian processes in any higher-order probabilistic programming language, using an idiom based on memoization, and demonstrates its utility by implementing and extending classic and state-of-the-art GP applications. The interface to Gaussian processes, called gpmem, takes an arbitrary real-valued computational process as input and returns a statistical emulator that automatically improve as the original process is invoked and its input-output behavior is recorded. The flexibility of gpmem is illustrated via three applications: (i) robust GP regression with hierarchical hyper-parameter learning, (ii) discovering symbolic expressions from time-series data by fully Bayesian structure learning over kernels generated by a stochastic grammar, and (iii) a bandit formulation of Bayesian optimization with automatic inference and action selection. All applications share a single 50-line Python library and require fewer than 20 lines of probabilistic code each.

READ FULL TEXT
research
05/24/2019

Sequential Gaussian Processes for Online Learning of Nonstationary Functions

Many machine learning problems can be framed in the context of estimatin...
research
06/25/2012

Bayesian Modeling with Gaussian Processes using the GPstuff Toolbox

Gaussian processes (GP) are powerful tools for probabilistic modeling pu...
research
03/12/2019

Financial Applications of Gaussian Processes and Bayesian Optimization

In the last five years, the financial industry has been impacted by the ...
research
06/10/2021

Learning Nonparametric Volterra Kernels with Gaussian Processes

This paper introduces a method for the nonparametric Bayesian learning o...
research
04/12/2021

GPflux: A Library for Deep Gaussian Processes

We introduce GPflux, a Python library for Bayesian deep learning with a ...
research
05/05/2023

Images of Gaussian and other stochastic processes under closed, densely-defined, unbounded linear operators

Gaussian processes (GPs) are widely-used tools in spatial statistics and...
research
05/09/2018

Dealing with Categorical and Integer-valued Variables in Bayesian Optimization with Gaussian Processes

Bayesian Optimization (BO) methods are useful for optimizing functions t...

Please sign up or login with your details

Forgot password? Click here to reset