What types of algorithms does BayesiaLab use for learning network structures?
Quote 0 0
We have developed our proprietary score-based learning algorithms. As opposed to the constraint-based algorithms that use independence tests to add or remove arcs between nodes, we utilize the MDL score (Minimum Description Length) to measure the quality of candidate networks with respect to the available data.This score, which is derived from Information Theory, allows to automatically take into account the data likelihood with respect to the network and the structural complexity of the network.Minimum Description Length:The Minimum Description Length (MDL) score is a two-component score that has been traditionally used in the Artificial Intelligence community for estimating the number of bits required to represent a model and the data given this model. For structural learning of Bayesian networks, the model is the Bayesian network (graph plus probability tables), whereas the number of bits for representing the data given the Bayesian network is inversely proportional to the probability of the observations returned by the model.[latex:2lt4jzq5]MDL(B,D)=\alpha DL(B)+DL(D|B)[/latex:2lt4jzq5] where:[*:2lt4jzq5][latex:2lt4jzq5]\alpha[/latex:2lt4jzq5] represents the BayesiaLab Structural Coefficient (the default value is 1), a parameter that allows changing the weight of the MDL structural part (the lower its value, the greater the complexity of the resulting networks),[/*:m:2lt4jzq5][*:2lt4jzq5]DL(B) the number of bits to represent the Bayesian network B (graph and probabilities), and[/*:m:2lt4jzq5][*:2lt4jzq5]DL(D|B) the number of bits to represent the dataset D given the Bayesian network B.[/*:m:2lt4jzq5]Bayesian Network Part:DL(B)The number of bits to represent a Bayesian network is equal to the number of bits to represent the structure plus the number of bits to represent the probability distributions.[latex:2lt4jzq5]DL(B)=DL(G)+DL(P|G)[/latex:2lt4jzq5] where G refers to the Graphical structure, and P to the set of Probability tables.DL(G)The coding of the structure implies the identification of each node plus its parents.[latex:2lt4jzq5]DL(G)=\sum_i^n \Bigg(log_2(n) + log_2 {{n}\choose{\lVert \pi_i \rVert}}\Bigg)[/latex:2lt4jzq5] where:[*:2lt4jzq5]n is the number of random variables (nodes): [latex:2lt4jzq5]x_1,...,x_n[/latex:2lt4jzq5][/*:m:2lt4jzq5][*:2lt4jzq5][latex:2lt4jzq5]\pi_i \[/latex:2lt4jzq5] is the set of the random variables that are parents of [latex:2lt4jzq5]x_i[/latex:2lt4jzq5] in the graph G[/*:m:2lt4jzq5][*:2lt4jzq5]and [latex:2lt4jzq5]||\pi_i||[/latex:2lt4jzq5] is the number of parents of random variable [latex:2lt4jzq5]x_i[/latex:2lt4jzq5].[/*:m:2lt4jzq5]DL(P|G)The number of bits to represent the probability distributions is proportional to the number of cells of the conditional probability tables.[latex:2lt4jzq5]DL(P|G)=\sum_i^n (\prod_j^{||\pi_i||} val(\pi_i^j) \times (val(X_i)-1) \times DL(p))[/latex:2lt4jzq5] where:[*:2lt4jzq5]val(X) represents the number of states of random variable X,[/*:m:2lt4jzq5][*:2lt4jzq5]p is the probability recorded in the cell.[/*:m:2lt4jzq5]As this probability is not known prior to learning the network, we are using the following classical heuristic:[latex:2lt4jzq5]DL(p) = \frac{log_2(N)}{2}[/latex:2lt4jzq5] where N is the size of the datasetData Part:The number of bits for representing the data given the Bayesian network is inversely proportional to the probability of the observations returned by the model.[latex:2lt4jzq5]DL(D|B)=\sum_{j=1}^N DL(e_j|B) = \sum_{j=1}^N log_2 (\frac{1}{P_B(e_j)}) = -\sum_{j=1}^N log_2 (P_B(e_j))[/latex:2lt4jzq5] where[*:2lt4jzq5][latex:2lt4jzq5]e_j[/latex:2lt4jzq5] is the n-dimensional observation described in row j, and [/*:m:2lt4jzq5][*:2lt4jzq5][latex:2lt4jzq5]P_B(e_j)[/latex:2lt4jzq5] is the joint probability of this observation returned by the Bayesian network B.[/*:m:2lt4jzq5]The chain rule allows rewriting this equation with:[latex:2lt4jzq5]DL(D|B)=-\sum_{j=1}^N log_2 (\prod_{i=1}^{n} P_B(x_{ij}|\pi_{ij}))[/latex:2lt4jzq5][latex:2lt4jzq5]DL(D|B)=-\sum_{j=1}^N \sum_{i=1}^n log_2 (P_B(x_{ij}|\pi_{ij}))[/latex:2lt4jzq5]For each candidate Bayesian network, which is generated during the search and evaluated with the MDL score, the corresponding parameters are computed using Maximum Likelihood Estimation.
Quote 0 0