PASCAL - Pattern Analysis, Statistical Modelling and Computational Learning

Bayes Blocks: A Python Toolbox for Variational Bayesian Learning
Antti Honkela, Markus Harva, Tapani Raiko, Harri Valpola and Juha Karhunen
In: NIPS*2006 Workshop on Machine Learning Open Source Software, 9 Dec 2006, Whistler, B.C., Canada.


Bayes Blocks is a software library implementing variational Bayesian learning of Bayesian networks with rich possibilities for continuous variables. The underlying inference engine has been implemented in C++ with Python bindings to allow developing new models in Python. Version 1.0 of the software was released in July 2005 under the GNU GPL and the development has since continued incrementally. The package is hosted and available for download at PASCAL Forge at Bayes Blocks models are defined by connecting variable nodes that represent latent and observed variables and computational nodes for mathematical operations such as sum, product, and nonlinearities. For continuous models the variables are Gaussians with log-normal variance parametrisation as well as rectified Gaussians and mixtures-of-Gaussians. These blocks can be used to build a wide variety of linear and nonlinear models such as hierarchical nonlinear factor analysis and hierarchical variance models or heteroscedastic models. The core functionality of Bayes Blocks is implemented in C++ with optional bindings to Python for scripting. The Python bindings are generated automatically with the help of SWIG. Models are created by writing a Python script that defines the model structure. The system can then automatically derive the cost function related to the variational approximation and update rules for all the variables. The estimated models can be analysed using Python or saved in Matlab format. The latter option allows preparing visualisations of the results or analysing them further in Matlab. The package contains tools for visualising the structure of the model as a graphical model.

PDF - Requires Adobe Acrobat Reader or other PDF viewer.
EPrint Type:Conference or Workshop Item (Talk)
Project Keyword:Project Keyword UNSPECIFIED
Subjects:Computational, Information-Theoretic Learning with Statistics
Learning/Statistics & Optimisation
Theory & Algorithms
ID Code:3220
Deposited By:Antti Honkela
Deposited On:21 January 2008