Netlab: Algorithms for Pattern Recognition

The Netlab toolbox is designed to provide the central tools necessary for the simulation of theoretically well founded neural network algorithms and related models for use in teaching, research and applications development. It is extensively used in the MSc by Research in the Mathematics of Complex Systems.

It consists of a toolbox of Matlab® functions and scripts based on the approach and techniques described in Neural Networks for Pattern Recognition by Christopher M. Bishop, (Oxford University Press, 1995), but also including more recent developments in the field. The functions come with Matlab on-line help, and further explanation is available via HTML files. The software has been written by Ian Nabney and Christopher Bishop. This is the third release of Netlab. If you have any comments, bug reports, or wish lists, please email us at We also hope that other researchers would like to contribute to this library in the future. See the Contributions page for some examples.

The Netlab library includes software implementations of a wide range of data analysis techniques, many of which are not yet available in standard neural network simulation packages. Netlab works with Matlab version 5.0 and higher but only needs core Matlab (i.e. no other toolboxes are required). It is not compatible with earlier versions of Matlab.

We have now also released the Data Visualisation and Modelling System (DVMS), an interactive visualisation tool that uses algorithms from Netlab and other sources to project high-dimensional data to 2D and information visualisation techniques to support user interaction.

The principles behind the toolbox are more important than simply compiling lists of algorithms. Data analysis and modelling methods should not be used in isolation; all parts of the toolbox interact in a coherent way, and implementations of standard pattern recognition techniques (such as linear regression and K-nearest-neighbour classifiers) are provided so that they can be used as benchmarks against which more complex algorithms can be evaluated. This interaction allows researchers to develop new techniques by building on and reusing existing software, thus reducing the effort required and increasing the robustness and usability of the new tools.

An accompanying text book, Netlab: Algorithms for Pattern Recognition written by Ian Nabney is published by Springer in their series Advances in Pattern Recognition. The cost is £59.84 and the ISBN number is 1-85233-440-1.


We are grateful to Andrew Weaver, David Barber, David Evans and Mike Tipping for allowing us to base some of the functions in Netlab on their software. We also thank Markus Svensen, Iain Strachan, Mehdi Azzouzi, David Lowe, Cazhaow Qazaz and other members of the Non-linearity and Complexity Research Group for their comments on earlier versions of the library.