home  |   research  |   people  |  
  University Logo
Gaussian Processes - MATLAB Software

Gaussian Process Software

This page describes examples of how to use the Gaussian Process Software (GP).

The GP software can be downloaded here.

Release Information

Current release is 0.12.

As well as downloading the GP software you need to obtain the toolboxes specified below.
Toolbox Version
NETLAB 3.3
MOCAP 0.132
NDLUTIL 0.156
PRIOR 0.131
MLTOOLS 0.125
OPTIMI 0.132
DATASETS 0.131
KERN 0.166
NOISE 0.14

Various minor changes for enabling back constraints in hierarchical GP-LVM models.

Old Versions

Release 0.1 splits away the Gaussian process section of the FGPLVM toolbox into this separate toolbox.

Other GP related software

The GP-LVM C++ software is available from here.

The IVM C++ software is available from here.

The MATLAB IVM toolbox is available here here.

The original MATLAB GP-LVM toolbox is available here here.

Examples

Sparse Pseudo-input Gaussian Processes

The sparse approximation used in this toolbox is based on the Sparse Pseudo-input Gaussian Process model described by Snelson and Ghahramani. Also provided are the extensions suggested by Quinonero-Candela and Rasmussen. They provide a unifying terminology for describing these approximations which we shall use in what follows.

There are three demos provided for Gaussian process regression in 1-D. They each use a different form of likelihood approximation. The first demonstration uses the `projected latent variable' approach first described by Csato and Opper and later used by Seeger et al.. In the terminology of Quinonero-Candela and Rasmussen (QR-terminology) this is known as the `deterministic training conditional' (DTC) approximation.

To use this approximation the following script can be run.

>> demSpgp1d1

The result of the script is given in the plot below.


Gaussian process using the DTC approximation with nine inducing variables. Data is shown as red spots, posterior mean prediction is shown as a blue line and two standard deviations are given as dashed blue lines.

The improved approximation suggested by Snelson and Ghahramani, in QR-terminology this is known as the fully independent training conditional (FITC). To try this approximation run the following script

>> demSpgp1d2

The result of the script is given on the left of the plot below.


Left: Gaussian process using the FITC approximation with nine inducing variables. Data is shown as red spots, posterior mean prediction is shown as a blue line and two standard deviations are given as dashed blue lines. Right: Similar but for the PITC approximation, again with nine inducing variables.

At the Sheffield Gaussian Process Round Table Lehel Csato pointed out that the Bayesian Committee Machine of Schwaighofer and Tresp can also be viewed within the same framework. This idea is formalised in Qunionenro-Candela and Rasmussen's review. This approximation is known as the `partially independent training conditional' (PITC) in QR-terminology. To try this approximation run the following script

>> demSpgp1d3

The result of the script is given on the right of the plot above.

Finally we can compare these results to the result from the full Gaussian process on the data with the correct hyper-parameters. To do this the following script can be run.

>> demSpgp1d4

The result of the script is given in the plot below.


Full Gaussian process on the toy data with the correct hyper-parameters. Data is shown as red spots, posterior mean prediction is shown as a blue line and two standard deviations are given as dashed blue lines.

Page updated on Sun Feb 4 22:44:08 2007