Variational Inference for Bayesian Networks
[Sourceforge project page]
John Winn, January 2004
Online Help: Importing data and exporting results
VIBES allows for data to be imported from a Matlab file and for results to be saved to
another Matlab file. These files are specified in the property panel for a network e.g.
in the network below, data is imported from the file
If a full pathname is not given, filenames are taken to be relative to the directory where
the network is saved. Don't forget the
If a data file is specified, then the data in that file will be loaded whenever the network
is loaded or when
When a data file is loaded:
You can view the observed data for an observed node by double-clicking on it.
If you specify a results filename, then results will be saved to it during inference. Any existing file of that name will be overwritten (including previous results!). As inference proceeds, results are saved every three iterations.
The saved Matlab file contains a matrix for each node in the graph, with the same name as that node.
of the matrix is the dimensionality of the node plus an additional dimension for the size of
the parameter vector (which will depend on the distribution). For example for a Gaussian node x of dimensionality
10x5, the saved matrix will be of size 10x5x2. The data corresponds to the expectation of the natural statistic vector
of the node under the posterior distribution e.g. for a Gaussian node this is the expectation of
In addition, the file contains an Nx2 matrix called bound. Each row of the matrix contains
the number of the iteration that the bound was calculated at and the value of the bound following that iteration.
This format allows for the bound to be calculated intermittantly. The converged lower bound value is
therefore given by the Matlab expression