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.
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.
Note that I think of my software as "sand pit" code. In other words,
when I make design choices I tend to target flexibility rather than
efficiency. There are definitely faster ways of coding everything I've
done!
MATLAB Research Software
| Package | Author | Description |
| Generalised Component Analysis | Neil D. Lawrence | Software for learning a Student-t based version of ICA. |
| Missing data in Kernel PCA | Guido Sanguinetti | Software for dealing with missing values in Kernel PCA |
| Spectral Clustering | Jonathan Laidler and Guido Sanguinetti | Selecting the number of clusters in spectral clustering. |
| VIS | Neil D. Lawrence | Variational Importance Sampler for processing cDNA Microarray Images |
| Inference of Transcription Factor Activities | Guido Sanguinetti | Package for combining network connectivity data with gene expression levels to infer gene specific activities of different transcription factors. |
This software relies on many of the toolboxes listed below.
MATLAB Toolkits
| 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. |