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.
| Software | Author | Description |
| C++ GP-LVM | Neil D. Lawrence | GP-LVM software in C++. Currently doesn't implement the sparse algorithms, but includes dynamics and back constraints. |
| C++ IVM | Neil D. Lawrence | IVM Software in C++ , also includes the null category noise model for semi-supervised learning. |
| Single Input Motif Gaussian Process Software | Neil D. Lawrence, Antti Honkela, Pei Gao | Software for inferring latent forces in first order differential equations. |
| Multiple Output Gaussian Process Software | Mauricio Alvarez, Neil D. Lawrence | Latent force Model Software and General Software for Gaussian Processes for Multiple Outputs. Includes sparse approximations. |
| Software | Author | Description |
| Fast Gaussian Process Latent Variable Model | Neil D. Lawrence | GP-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 Model | Neil D. Lawrence | The original GP-LVM software using sparse approximations based on the IVM. |
| Software | Author | Description |
| Bayesian Fisher's Discriminant | Tonatiuh Pena Centeno | A Gaussian process interpretation of Kernel Fisher Discriminants. |
| Informative Vector Machine | Neil D. Lawrence | A sparse approximation to full Gaussian processes. |
| Multi-task Informative Vector Machine | Neil D. Lawrence | Multi-task learning with Gaussian processes using the IVM sparse approximation |
| Null category noise model | Neil D. Lawrence | A noise model for semi-supervised learning with Gaussian processes. |
| Probabilistic Point Assimilation | Nathaniel 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.. |
| Toolbox | Description |
| 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. |
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