Sheffield ML Group Software

Software

We make software available for our research. Note that it is not 'production code', it is often just a snapshot of the software used to produce the results in a particular paper. This makes it easier for other people to make comparisons and to reproduce our results.

MATweave

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

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 ideas of Jon Claerbout. See his white paper here.

Thanks to Kevin Murphy for pointing out these papers.

Neil Lawrence, 05 December 2005

Links to Software available on line

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.

Python Research Software

The group has moved to Python as its main development software. We are releasing our main software now through github. The main release is our python package GPy available on github here. We have also moved the bulk of our MATLAB software to a github repository here.

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 Toolkits

Core Functionality: GPmat Toolboxes

These toolboxes provide the core functionality on which other toolboxes depend. These toolboxes are available separately for historical reasons, but have been merged into one GPmat toolbox released on github under a BSD license.
ToolboxDescription
GPmat Core Gaussian process toolbox.

Separate toolboxes that were merged to form the new GPmat toolbox.
ToolboxDescription
DATASETS Various datasets and tools for loading them.
FGPLVMFast GP-LVM using reduced rank approximations to the covariance matrix.
GP Gaussian Process software including many approaches to sparse approximations.
IVMInformative Vector Machine. A sparse approximation to full Gaussian processes.
KERN Various utilities for computing kernels (covariance functions).
MLTOOLS Various Machine Learning Tools that some toolboxes rely on.
MOCAP Tools for loading in and playing with MOCAP data.
NCNMNull category noise model. A noise model for semi-supervised learning with Gaussian processes.
NDLUTIL Various utilities that some toolboxes rely on.
NOISE Various noise models for Gaussian processes.
OPTIMI Various optimisation tools.
PRIOR Various utilities for prior distributions.

Toolboxes that Depend on the Core Functionality

These toolboxes make use of the core functionality. Some will be merged into the core toolbox over time. They tend to reflect more recent research innovations than the core material.
ToolboxDescription
BFDBayesian Fisher's Discriminant. A Gaussian process interpretation of Kernel Fisher Discriminants.
CHIPDYNOInference of Transcription Factor Activities: Package for combining network connectivity data with gene expression levels to infer gene specific activities of different transcription factors.
CHIPVARVariational Inference of Transcription Factor Activities: Package for combining network connectivity data with gene expression levels to infer gene specific activities of different transcription factors.
DGPLVMThe Discriminative GP-LVM.
GCA Generalised Component Analysis Software for learning a Student-t based version of ICA.
GPLVMThe original GP-LVM software using sparse approximations based on the IVM.
GPREGE Gaussian Process Ranking and Estimation of Gene Expression time-series.
GPSIMSoftware for inferring latent forces in first order differential equations.
KPCA Missing data in Kernel PCA: Software for dealing with missing values in Kernel PCA
MTIVMMulti-task Informative Vector Machine. Multi-task learning with Gaussian processes using the IVM sparse approximation
MULTIGPLatent force Model Software and General Software for Gaussian Processes for Multiple Outputs. Includes sparse approximations.
OXFORD An old set of Gaussian process demos, sampling from covariance functions etc..
PPAProbabilistic Point Assimilation. A general fast variational method for GPs
SGPLVMThe shared GP-LVM model.
SPECTRALSoftware for selecting the number of clusters in spectral clustering.
VARGPLVMThe Bayesian variational GP-LVM model.
VISVariational Importance Sampler for processing cDNA Microarray Images

This document last modified Thursday, 28-Feb-2013 07:49:20 GMT.