Bayes Net Toolbox for Matlab

Written by Kevin Murphy.
BNT is now available from sourceforge!

Matlab logo
Click to subscribe to the BNT email list


Major features

Supported probabilistic models

It is trivial to implement all of the following probabilistic models using the toolbox.

Why do I give the code away?

Why Matlab?

Matlab is an interactive, matrix-oriented programming language that enables one to express one's (mathematical) ideas very concisely and directly, without having to worry about annoying details like memory allocation or type checking. This considerably reduces development time and keeps code short, readable and fully portable. Matlab has excellent built-in support for many data analysis and visualization routines. In addition, there are many useful toolboxes, e.g., for neural networks, signal and image processing. The main disadvantages of Matlab are that it can be slow (which is why we are currently rewriting parts of BNT in C), and that the commercial license is expensive (although the student version is only $100 in the US).

Many people ask me why I did not use Octave, an open-source Matlab clone. The reason is that Octave does not support multi-dimensional arrays, cell arrays, objects, etc.

Click here for a more detailed comparison of matlab and other languages.


I would like to thank numerous people for bug fixes, including: Rainer Deventer, Michael Robert James, Philippe Leray, Pedrito Maynard-Reid II, Andrew Ng, Ron Parr, Ilya Shpitser, Xuejing Sun, Ursula Sondhauss.

I would like to thank the following people for contributing code: Pierpaolo Brutti, Ali Taylan Cemgil, Tamar Kushnir, Ken Shan, Yair Weiss, Ron Zohar.

The following Intel employees have also contributed code: Qian Diao, Shan Huang, Yimin Zhang and especially Wei Hu.

I would like to thank Stuart Russell for funding me over the years as I developed BNT, and Gary Bradksi for hiring me as an intern at Intel, which has supported much of the recent developments of BNT.