Gaussian Process Software

We make software available for our research. Note that it is not 'production code', it is often just a snapshot of the software we used to produce the results in a particular paper. This makes it easier for other people to make comparisons and to reproduce our results. There are several software packages available from here, all associated with Gaussian Processes. To download these software packages you need to register, the packages are freely available for academic use, you must seek a license for commercial use.

Follow instructions on the sites to access the software.

MATweave

MATweave is a couple of tricks for integrating your MATLAB/Octave code into LaTeX documents.

Links to Gaussian Process Software available on line

C++ Research Software

SoftwareAuthorDescription
C++ GP-LVMNeil D. LawrenceGP-LVM software in C++. Currently doesn't implement the sparse algorithms, but includes dynamics and back constraints.
C++ IVMNeil D. LawrenceIVM Software in C++ , also includes the null category noise model for semi-supervised learning.

MATLAB/Octave Research Software

Gaussian Processes and Dynamical Systems Software

Single Input Motif Gaussian Process SoftwareNeil D. Lawrence, Antti Honkela, Pei GaoSoftware for inferring latent forces in first order differential equations.
Multiple Output Gaussian Process SoftwareMauricio Alvarez, Neil D. LawrenceLatent force Model Software and General Software for Gaussian Processes for Multiple Outputs. Includes sparse approximations.

Gaussian Process Latent Variable Models


SoftwareAuthorDescription
Fast Gaussian Process Latent Variable ModelNeil D. LawrenceGP-LVM and Gaussian Process Regression using sparse approximations described at NIPS 2005 by Snelson and Ghahramani as well as extensions given by Quinonero-Candela and Rasmussen
Gaussian Process Latent Variable ModelNeil D. LawrenceThe original GP-LVM software using sparse approximations based on the IVM.

Other Gaussian Process Software


SoftwareAuthorDescription
Bayesian Fisher's Discriminant Tonatiuh Pena Centeno A Gaussian process interpretation of Kernel Fisher Discriminants.
Informative Vector MachineNeil D. LawrenceA sparse approximation to full Gaussian processes.
Multi-task Informative Vector MachineNeil D. LawrenceMulti-task learning with Gaussian processes using the IVM sparse approximation
Null category noise modelNeil D. LawrenceA noise model for semi-supervised learning with Gaussian processes.
Probabilistic Point AssimilationNathaniel King and Neil D. Lawrence A general fast variational method for GPs
GP Demos Neil D. Lawrence A set of Gaussian process demos, sampling from covariance functions etc..
This software relies on many of the toolboxes listed below.

MATLAB/Octave Toolkits

ToolboxDescription
DATASETS Various datasets and tools for loading them.
KERN Various utilities for computing kernels.
NOISE Various noise models for Gaussian processes.
NDLUTIL Various utilities that some toolboxes rely on.
MLTOOLS Various Machine Learning Tools that some toolboxes rely on.
MOCAP Tools for loading in and playing with MOCAP data.
OPTIMI Various optimisation tools.
PRIOR Various utilities for prior distributions.

Making Software Available

Really Reproducible Research in the Computational Sciences

I believe machine learning researchers should be making their software available at the same time they submit (or before) their papers to conference papers or journals, and I've carried out this practice since 2001. I wanted to put together the reasons why we should be doing this at some point, but it turns out that other researchers have already laid out reasons that pretty much match my own. So if you want to know why I (and why you should) make your code available that reproduces the figures in your papers please read this which was inspired by by ideas of Jon Claerbout. See his white paper here.

Thanks to Kevin Murphy for pointing out these papers.

Neil Lawrence, 05 December 2005

Page last modified on Wed Oct 13 10:04:35 BST 2010.