Web-BAMT is a web service that allows you to train Bayesian networks on demonstration examples on data of various nature.
Introduction to Bayesian networks
A Bayesian network is a pair of directed acyclic graph (DAG) describing the dependencies of characteristics and some factorization of the joint distribution of characteristics in the product of conditional, generated by these dependencies. The task of training a Bayesian network is thus split into two subtasks:
- Finding the structure of the Bayesian network.
- Parametric learning of the Bayesian network or, in other words, selection of marginal and conditional distributions that describe the conditional ones accurately enough.
Structural learning algorithms for a Bayesian network
Often the task of constructing a network is reduced to optimization. In the DAG space, score functions are introduced that evaluate how well the graph describes the dependencies between features. Web BAMT uses the Hill-Climbing algorithm to search in this space. Steps of Hill-Climbing algorithm:
- Initialized by a graph without edges;
- For each pair of nodes, an edge is added, removed or the direction is changed;
- The score-function value is counted after the selected action on the pair;
- If the value of score-function is better than that of the previous iteration, the result is memorized;
- Stops when the value changes less than the threshold value.
The following score functions from BAMT package are included in Web BAMT: K2, BIC (Bayesian Information Criterion), MI (Mutual Information). The above approach to structure search allows to introduce elements of expert control by narrowing the search area to structures that include expert-specified edges or fixed root nodes describing key and basic features.