An Algorithm to Learning Bayesian Network from Small Datasets Cleuber Moreira Fernandes, Wagner Teixeira da Silva, Marcelo Ladeira Computer Science Department – University of Brasília (UnB) P.O. Box 4466 – 70.919-970 – Brasília – DF – Brazil {cleuber,wagner,mladeira}@cic.unb.br Abstract. Bayesian network is a graphical model appropriated to represent and to analyze uncertainty, knowledge and beliefs contained implicitly in the data. In this paper we propose the XPC algorithm for structural learning in Bayesian networks using decomposable metrics in families (a variable and its parents) in order to obtain the maximum-score network. The concept of conditional independence, based on Pearl’s d-separation, is used to identify conflicting regions, where the existence of some edges depends on the non- existence of others. Hence, the user is required to choose which edges are relevant in the structure. The comparative experiments using well-know benchmarks show XPC produces better results than other algorithms mainly when the amount of data is small. 1. Introduction Bayesian network (BN) is a graphical model that combines the main features of Graph Theory and Probability Theory to represent uncertainty in expert systems [Castillo et al 1997, Pearl 2000]. A BN is a directed acyclic graph (DAG), consisting of: i) nodes representing random variables, ii) arcs between nodes representing dependencies and iii) a conditional probability table attached to each node that depends on the states of adjacent predecessor nodes. In summary, a BN represents through its structure probabilistic relationships among variables of interest [Heckerman 1999]. This approach has proved both a powerful and a very useful tool for representing and reasoning under conditions of uncertainty. To build a BN means to identify the structure (DAG) and the numeric parameters (conditional probabilities tables). This can be made in three forms: a) by an expert domain, b) automatically from the data and c) combining the two previous forms. There are two approaches of algorithms for structural learning in Bayesian networks given a dataset: i) Search and scoring based algorithms [Heckerman 1999] and ii) Dependence analysis based algorithms [Castillo et al 1997, Pearl 2000, Spirtes et al 2000]. In this paper an algorithm for structural learning in BN given a dataset using dependence analysis is presented. The structural learning in BN aims to generate the DAG G that it is more adherent to the joint probability distribution (JPD) P induced from a dataset D. With the dependence analysis method, it tries to explore the dependence relationships among the variables, using the d-separation criterion to obtain a structure that best represents the