Skip to content
/ mgp Public
forked from rmgarnett/mgp

An implementation of the MGP from Garnett, et al., "Active Learning of Linear Embeddings for Gaussian Processes," UAI 2014.

License

Notifications You must be signed in to change notification settings

OxfordML/mgp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MGP

This is a MATLAB implementation of the "marginal GP" (MGP) described in:

Garnett, R., Osborne, M., and Hennig, P. Active Learning of Linear Embeddings for Gaussian Processes. (2014). 30th Conference on Uncertainty in Artificial Intellignece (UAI 2014).

Suppose we have a Gaussian process model on a latent function f:

p(f | \theta) = GP(f; \mu(x; \theta), K(x, x'; \theta))

where \theta are the hyperparameters of the model. Suppose we have a dataset D = (X, y) of observations and a test point x*. This function returns the mean and variance of the approximate marginal predictive distributions for the associated observation value y* and latent function value f*:

p(y* | x*, D) = \int p(y* | x*, D, \theta) p(\theta | D) d\theta

p(f* | x*, D) = \int p(f* | x*, D, \theta) p(\theta | D) d\theta

where we have marginalized over the hyperparameters \theta.

Notes

This code is only appropriate for GP regression! Exact inference with a Gaussian observation likelihood is assumed.

The MGP approximation requires that the provided hyperparameters be the MLE hyperparameters:

\hat{\theta} = argmax_\theta log p(y | X, \theta)

or, if using a hyperparameter prior p(\theta), the MAP hyperparameters:

\hat{\theta} = argmax_\theta log p(y | X, \theta) + log p(\theta)

This function does not perform the maximization over \theta but rather assumes that the given hyperparameters represent \hat{\theta}.

Dependencies

This code is written to be interoperable with the GPML MATLAB toolbox, available here:

http://www.gaussianprocess.org/gpml/code/matlab/doc/

The GPML toolbox must be in your MATLAB path for this function to work. This function also depends on the gpml_extensions repository, available here:

https://github.com/rmgarnett/gpml_extensions/

which must also be in your MATLAB path.

Usage

The usage of mgp.m is identical to the gp.m function from the GPML toolkit in prediction mode. See mgp.m for more information.

A demo is provided in demo/demo.m.

About

An implementation of the MGP from Garnett, et al., "Active Learning of Linear Embeddings for Gaussian Processes," UAI 2014.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 100.0%