Bayesian Network Structure Learning


With this vignette we aim to provide a basic introduction to the structure learning of Bayesian networks with the abn package.

Structure Learning of Bayesian Networks

The structure learning of Bayesian networks is the process of estimating the (in-)dependencies between the variables of the network that results in a directed acyclic graph (DAG) where the nodes represent the variables and the edges represent the dependencies between the variables. Structure learning of Bayesian networks is a challenging problem and there are several algorithms to solve it (see Koller and Friedman (2009) for a comprehensive review).

The abn package currently offers four distinct algorithms for Bayesian network structure learning:

For more information, refer to the help page searchHeuristic().


Heckerman, David, Dan Geiger, and David M. Chickering. 1995. “Learning Bayesian Networks: The Combination of Knowledge and Statistical Data.” Machine Learning 20 (3): 197–243. doi:10.1023/A:1022623210503.

Koivisto, Mikko, and Kismat Sood. 2004. “Exact Bayesian Structure Discovery in Bayesian Networks.” Journal of Machine Learning Research, 25.

Koller, Daphne, and Nir Friedman. 2009. Probabilistic Graphical Models: Principles and Techniques. Adaptive Computation and Machine Learning. Cambridge, MA: MIT Press.

Madigan, David, Jeremy York, and Denis Allard. 1995. “Bayesian Graphical Models for Discrete Data.” International Statistical Review / Revue Internationale de Statistique 63 (2): 215. doi:10.2307/1403615.

Metropolis, Nicholas, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller, and Edward Teller. 1953. “Equation of State Calculations by Fast Computing Machines.” The Journal of Chemical Physics 21 (6): 1087–92. doi:10.1063/1.1699114.

Paolo Giudici, and Roberto Castello. 2003. “Improving Markov Chain Monte Carlo Model Search for Data Mining.” Machine Learning 50: 32.