# Bayesian network: Wikis

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

# Encyclopedia

A Bayesian network, belief network or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independencies via a directed acyclic graph (DAG). For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms. Given symptoms, the network can be used to compute the probabilities of the presence of various diseases.

Formally, Bayesian networks are directed acyclic graphs whose nodes represent random variables in the Bayesian sense: they may be observable quantities, latent variables, unknown parameters or hypotheses. Edges represent conditional dependencies; nodes which are not connected represent variables which are conditionally independent of each other. Each node is associated with a probability function that takes as input a particular set of values for the node's parent variables and gives the probability of the variable represented by the node. For example, if the parents are m Boolean variables then the probability function could be represented by a table of 2m entries, one entry for each of the 2m possible combinations of its parents being true or false.

Efficient algorithms exist that perform inference and learning in Bayesian networks. Bayesian networks that model sequences of variables (e.g. speech signals or protein sequences) are called dynamic Bayesian networks. Generalizations of Bayesian networks that can represent and solve decision problems under uncertainty are called influence diagrams.

## Definitions and concepts

There are several equivalent definitions of a Bayesian network. For all the following, let G = (V,E) be a directed acyclic graph (or DAG), and let X = (Xv)vV be a set of random variables indexed by V.

### Factorization definition

X is a Bayesian network with respect to G if its joint probability density function (with respect to a product measure) can be written as a product of the individual density functions, conditional on their parent variables:[1]

$p (x) = \prod_{v \in V} p \big(x_v \,\big|\, x_{\operatorname{pa}(v)} \big)$

where pa(v) is the set of parents of v (i.e. those vertices pointing directly to v via a single edge).

For any set of random variables, the probability of any member of a joint distribution can be calculated from conditional probabilities using the chain rule as follows:[1]

$\mathrm P(X_1=x_1, \ldots, X_n=x_n) = \prod_{v=1}^n \mathrm P(X_v=x_v \mid X_{v+1}=x_{v+1}, \ldots, X_n=x_n )$

Compare this with the definition above, which can be written as:

$\mathrm P(X_1=x_1, \ldots, X_n=x_n) = \prod_{v=1}^n \mathrm P(X_v=x_v \mid X_j=x_j$ for each $X_j\,$ which is a parent of $X_v\, )$

The difference between the two expressions is the conditional independence of the variables from any of their non-descendents, given the values of their parent variables.

### Local Markov property

X is a Bayesian network with respect to G if it satisfies the local Markov property: each variable is conditionally independent of its non-descendants given its parent variables:[2]

$X_v \perp\!\!\!\perp X_{V \setminus \operatorname{de}(v)} \,|\, X_{\operatorname{pa}(v)} \quad\text{for all }v \in V$

where de(v) is the set of descendants of v.

This can also be expressed in terms similar to the first definition, as

$\mathrm P(X_v=x_v \mid X_i=x_i$ for each $X_i\,$ which is not a descendent of $X_v\, ) = P(X_v=x_v \mid X_j=x_j$ for each $X_j\,$ which is a parent of $X_v\, )$

Note that the set of parents is a subset of the set of non-descendants because the graph is acyclic.

### Markov blanket

The Markov blanket of a node is its parents, children and children's parents. X is a Bayesian network with respect to G if every node is conditionally independent of all other nodes in the network, given its Markov blanket.[2]

#### d-separation

This definition can be made more general by defining the "d"-separation of two nodes. Let P be an undirected path (that is, a path which can go in either direction) from node u to v. Then P is said to be d-separated by a set of nodes Z if and only if (at least) one of the following holds:

1. P contains a chain, imj, such that the middle node m is in Z,
2. P contains a chain, imj, such that the middle node m is in Z,
3. P contains a fork, imj, such that the middle node m is in Z, or
4. P contains an inverted fork (or collider), imj, such that the middle node m is not in Z and no descendant of m is in Z.

Thus u and v are said to be d-separated by Z if all undirected paths between them are d-separated.

X is a Bayesian network with respect to G if, for any two nodes u, v:

$X_u \perp\!\!\!\perp X_v \, | \, X_Z$

where Z is a set which d-separates u and v. (The Markov blanket is the minimal set of nodes which d-separates node v from all other nodes.)

## Causal networks

Although Bayesian networks are often used to represent causal relationships, this need not be the case: a directed edge from u to v does not require that Xv is causally dependent on Xu. This is demonstrated by the fact that Bayesian networks on the graphs:

$a \longrightarrow b \longrightarrow c \qquad \text{and} \qquad a \longleftarrow b \longleftarrow c$

are equivalent: that is they impose exactly the same conditional independence requirements.

A causal network is a Bayesian network with an explicit requirement that the relationships be causal. The additional semantics of the causal networks specify that if a node X is actively caused to be in a given state x (an action written as do(X=x)), then the probability density function changes to the one of the network obtained by cutting the links from X's parents to X, and setting X to the caused value x.[3] Using these semantics, one can predict the impact of external interventions from data obtained prior to intervention.

## Example

A simple Bayesian network.

Suppose that there are two events which could cause grass to be wet: either the sprinkler is on or it's raining. Also, suppose that the rain has a direct effect on the use of the sprinkler (namely that when it rains, the sprinkler is usually not turned on). Then the situation can be modeled with Bayesian network (shown). All three variables have two possible values T (for true) and F (for false).

The joint probability function is:

P(G,S,R) = P(G | S,R)P(S | R)P(R)

where the names of the variables have been abbreviated to G = Grass wet, S = Sprinkler, and R = Rain.

The model can answer questions like "What is the probability that it is raining, given the grass is wet?" by using the conditional probability formula and summing over all nuisance variables:

$\mathrm P(\mathit{R}=T \mid \mathit{G}=T) =\frac{\mathrm P(\mathit{G}=T,\mathit{R}=T)}{\mathrm P(\mathit{G}=T)} =\frac{\sum_{\mathit{S} \in \{T, F\}}\mathrm P(\mathit{G}=T,\mathit{S},\mathit{R}=T)}{\sum_{\mathit{S}, \mathit{R} \in \{T, F\}} \mathrm P(\mathit{G}=T,\mathit{S},\mathit{R})}$
$= \frac{(0.99 \times 0.01 \times 0.2 = 0.00198_{TTT}) + (0.8 \times 0.99 \times 0.2 = 0.1584_{TFT})}{0.00198_{TTT} + 0.288_{TTF} + 0.1584_{TFT} + 0_{TFF}} \approx 35.77 %.$

As in the example numerator is pointed out explicitly, the joint probability function is used to calculate each iteration of the summation function. In the numerator marginalizing over S and in the denominator marginalizing over S and R.

If, on the other hand, we wish to answer an interventional question: "What is the likelihood that it would rain, given that we wet the grass?" the answer would be governed by the post-intervention joint distribution function P(S,R | do(G = T)) = P(S | R)P(R) obtained by removing the factor P(G | S,R) from the pre-intervention distribution. As expected, the likelihood of rain is unaffected by the action: P(R | do(G = T)) = P(R).

Using a Bayesian network can save considerable amounts of memory, if the dependencies in the joint distribution are sparse. For example, a naive way of storing the conditional probabilities of 10 two-valued variables as a table requires storage space for 210 = 1024 values. If the local distributions of no variable depends on more than 3 parent variables, the Bayesian network representation only needs to store at most 10 * 23 = 80 values.

One advantage of Bayesian networks is that it is intuitively easier for a human to understand (a sparse set of) direct dependencies and local distributions than complete joint distribution.

## Inference and learning

There are three main inference tasks for Bayesian networks.

### Inferring unobserved variables

Because a Bayesian network is a complete model for the variables and their relationships, it can be used to answer probabilistic queries about them. For example, the network can be used to find out updated knowledge of the state of a subset of variables when other variables (the evidence variables) are observed. This process of computing the posterior distribution of variables given evidence is called probabilistic inference. The posterior gives a universal sufficient statistic for detection applications, when one wants to choose values for the variable subset which minimize some expected loss function, for instance the probability of decision error. A Bayesian network can thus be considered a mechanism for automatically applying Bayes' theorem to complex problems.

The most common exact inference methods are: variable elimination, which eliminates (by integration or summation) the non-observed non-query variables one by one by distributing the sum over the product; clique tree propagation, which caches the computation so that many variables can be queried at one time and new evidence can be propagated quickly; and recursive conditioning, which allows for a space-time tradeoff and matches the efficiency of variable elimination when enough space is used. All of these methods have complexity that is exponential in the network's treewidth. The most common approximate inference algorithms are stochastic MCMC simulation, mini-bucket elimination which generalizes loopy belief propagation, and variational methods.

### Parameter learning

In order to fully specify the Bayesian network and thus fully represent the joint probability distribution, it is necessary to specify for each node X the probability distribution for X conditional upon X's parents. The distribution of X conditional upon its parents may have any form. It is common to work with discrete or Gaussian distributions since that simplifies calculations. Sometimes only constraints on a distribution are known; one can then use the principle of maximum entropy to determine a single distribution, the one with the greatest entropy given the constraints. (Analogously, in the specific context of a dynamic Bayesian network, one commonly specifies the conditional distribution for the hidden state's temporal evolution to maximize the entropy rate of the implied stochastic process.)

Often these conditional distributions include parameters which are unknown and must be estimated from data, sometimes using the maximum likelihood approach. Direct maximization of the likelihood (or of the posterior probability) is often complex when there are unobserved variables. A classical approach to this problem is the expectation-maximization algorithm which alternates computing expected values of the unobserved variables conditional on observed data, with maximizing the complete likelihood (or posterior) assuming that previously computed expected values are correct. Under mild regularity conditions this process converges on maximum likelihood (or maximum posterior) values for parameters.

A more fully Bayesian approach to parameters is to treat parameters as additional unobserved variables and to compute a full posterior distribution over all nodes conditional upon observed data, then to integrate out the parameters. This approach can be expensive and lead to large dimension models, so in practice classical parameter-setting approaches are more common.

### Structure learning

In the simplest case, a Bayesian network is specified by an expert and is then used to perform inference. In other applications the task of defining the network is too complex for humans. In this case the network structure and the parameters of the local distributions must be learned from data.

Automatically learning the graph structure of a Bayesian network is a challenge pursued within machine learning. The basic idea goes back to a recovery algorithm developed by Rebane and Pearl (1987)[4] and rests on the distinction between the three possible types of adjacent triplets allowed in a directed acyclic graph (DAG):

1. $X \rightarrow Y \rightarrow Z$
2. $X \leftarrow Y \rightarrow Z$
3. $X \rightarrow Y \leftarrow Z$

Type 1 and type 2 represent the same dependencies (X and Z are independent given Y) and are, therefore, indistinguishable. Type 3, however, can be uniquely identified, since X and Z are marginally independent and all other pairs are dependent. Thus, while the skeletons (the graphs stripped of arrows) of these three triplets are identical, the directionality of the arrows is partially identifiable. The same distinction applies when X and Z have common parents, except that one must first condition on those parents. Algorithms have been developed to systematically determine the skeleton of the underlying graph and, then, orient all arrows whose directionality is dictated by the conditional independencies observed.[3][5][6][7]

An alternative method of structural learning uses optimization based search. It requires a scoring function and a search strategy. A common scoring function is posterior probability of the structure given the training data. The time requirement of an exhaustive search returning back a structure that maximizes the score is superexponential in the number of variables. A local search strategy makes incremental changes aimed at improving the score of the structure. A global search algorithm like Markov chain Monte Carlo can avoid getting trapped in local minima. Friedman et al.[citation needed] talk about using mutual information between variables and finding a structure that maximizes this. They do this by restricting the parent candidate set to k nodes and exhaustively searching therein.

## Applications

Bayesian networks are used for modelling knowledge in computational biology and bioinformatics (gene regulatory networks, protein structure, gene expression analysis[8]), medicine [9], document classification, information retrieval [10] , image processing, data fusion, decision support systems[11], engineering, gaming and law.[12] [13] [14]

## History

The term "Bayesian networks" was coined by Judea Pearl in 1985 to emphasize three aspects:[15]

1. The often subjective nature of the input information.
2. The reliance on Bayes's conditioning as the basis for updating information.
3. The distinction between causal and evidential modes of reasoning, which underscores Thomas Bayes' posthumously published paper of 1763.[16]

Informal variants of such networks were first used by legal scholar John Henry Wigmore, in the form of Wigmore charts, to analyse trial evidence in 1913.[13]:66-76 Another variant, called path diagrams, was developed by the geneticist Sewall Wright[17] and used in social and behavioral sciences (mostly with linear parametric models).

## Notes

1. ^ a b Russell & Norvig 2003, p. 496.
2. ^ a b Russell & Norvig 2003, p. 499.
3. ^ a b Pearl, Judea (2000). Causality: Models, Reasoning, and Inference. Cambridge University Press. ISBN 0-521-77362-8.
4. ^ Rebane, G. and Pearl, J., "The Recovery of Causal Poly-trees from Statistical Data," Proceedings, 3rd Workshop on Uncertainty in AI, (Seattle, WA) pages 222-228, 1987
5. ^ P. Spirtes and C. Glymour, "An algorithm for fast recovery of sparse causal graphs", Social Science Computer Review, Vol. 9, pages 62-72, 1991.
6. ^ P. Spirtes, C. Glymour, and R. Scheines, Causation, Prediction, and Search, New York: Springer-Verlag, 1993
7. ^ T. Verma and J. Pearl, "Equivalence and Synthesis of Causal Models," Proceedings of the Sixth Conference on Uncertainty in Artificial Intelligence, (July, Cambridge, MA), pages 220-227, 1990. Reprinted in P. Bonissone, M. Henrion, L. N. Kanal and J. F. Lemmer (editors), Uncertainty in Artificial Intelligence 6, Amsterdam: Elsevier Science Publishers, B.V., pages 225-268, 1991
8. ^ N. Friedman, M. Linial, I. Nachman, D. Pe'er (August 2000). "Using Bayesian Networks to Analyze Expression Data". Journal of Computational Biology (Larchmont, New York: Mary Ann Liebert, Inc.) 7 (3/4): 601–620. doi:10.1089/106652700750050961. ISSN 1066-5277.
9. ^ J. Uebersax (2004). Genetic Counseling and Cancer Risk Modeling: An Application of Bayes Nets. Marbella, Spain: Ravenpack International.
10. ^ Luis M. de Campos, Juan M. Fernández-Luna and Juan F. Huete (2004). "Bayesian networks and information retrieval: an introduction to the special issue". Information Processing & Management (Elsevier) 40: 727–733. doi:10.1016/j.ipm.2004.03.001. ISBN 0-471-14182-8.
11. ^ F.J. Díez and F. J. D'iez and J. Mira and E. Iturralde and S. Zubillaga (1997). "DIAVAL, a Bayesian expert system for echocardiography". Artificial Intelligence in Medicine (Elsevier Science B.V) 10: 59-73.
12. ^ G. A. Davis (2003). "Bayesian reconstruction of traffic accidents". Law, Probability and Risk 2: 69–89. doi:10.1093/lpr/2.2.69.
13. ^ a b J. B. Kadane and D. A. Schum (1996). A Probabilistic Analysis of the Sacco and Vanzetti Evidence. New York: Wiley. ISBN 0-471-14182-8.
14. ^ O. Pourret, P. Naim and B. Marcot (2008). Bayesian Networks: A Practical Guide to Applications. Chichester, UK: Wiley. ISBN 978-0-470-06030-8.
15. ^ Pearl, J. (1985). "Bayesian Networks: A Model of Self-Activated Memory for Evidential Reasoning" (UCLA Technical Report CSD-850017). Proceedings of the 7th Conference of the Cognitive Science Society, University of California, Irvine, CA. pp. 329–334. Retrieved 2009-05-01.
16. ^ Bayes, T.; Price, Mr. (1763). "An Essay towards solving a Problem in the Doctrine of Chances.". Philosophical Transactions of the Royal Society of London 53: 370–418. doi:10.1098/rstl.1763.0053.
17. ^ Wright, S. (1921). "Correlation and Causation". Journal of Agricultural Research 20 (7): 557–585.

## General references

Also appears as Heckerman, David (March 1997). "Bayesian Networks for Data Mining". Data Mining and Knowledge Discovery (Netherlands: Springer Netherlands) 1 (1): 79–119. doi:10.1023/A:1009730122752. ISSN 1384-5810.
An earlier version appears as Technical Report MSR-TR-95-06, Microsoft Research, March 1, 1995. The paper is about both parameter and structure learning in Bayesian networks.

### Software resources

 Free and open source software (alphabetical) Ace, the Bayesian network compiler: http://reasoning.cs.ucla.edu/ace (See also SamIam) AIspace, applet for belief and decision networks with explanation facilities designed for teaching and learning: http://aispace.org/bayes BANJO: Bayesian Network Inference with Java Objects: http://www.cs.duke.edu/~amink/software/banjo BANSY3 - Freeware. From the Non Linear Dynamics Laboratory. Mathematics Department, Science School, UNAM. Bayesian Filtering Library (BFL), for online, realtime Kalman Filters and Particle Filters BN4R: http://bn4r.rubyforge.org/ BNJ: Bayesian network tools in Java: http://bnj.sourceforge.net/ BNT: Kevin Murphy's Bayesian Network Toolbox for MatLab: http://bnt.sourceforge.net/ dlib C++ Library: http://dclib.sourceforge.net/ GeNIe & SMILE: http://genie.sis.pitt.edu JavaBayes, Bayesian Networks in Java: http://www.pmr.poli.usp.br/ltd/Software/javabayes/ Mocapy: a dynamic Bayesian network software package implemented in Python. Uses stochastic expectation maximization for parameter learning, and supports directional statistics. MASTINO: Learning Bayesian Networks Using R: OpenBayes: http://www.openbayes.org pebl: Python Environment for Bayesian Learning: http://pebl-project.googlecode.com ProBT-academic a free version for the academic community of the ProBAYES' industrial package PNL: http://sourceforge.net/projects/openpnl/ Open Source Probabilistic Networks Library RISO: http://sourceforge.net/projects/riso/ (distributed belief networks) SamIam (Sensitivity Analysis, Modeling, Inference And More): http://reasoning.cs.ucla.edu/samiam (See also Ace, above) UnBBayes: BN, ID, Multiply Sectioned Bayesian Network (MSBN) and Multi-Entity Bayesian Networks (MEBN). It also includes various algorithms for Bayesian Learning. From the Group of Artificial Intelligence at University of Brasília (UnB), Brazil. Commercial software (alphabetical) AgenaRisk Bayesian network tool: http://www.agenarisk.com BayesBuilder: http://www.snn.ru.nl/nijmegen/index.php3?page=31 Bayesia: http://www.bayesia.com Bayesian network application library: http://www.norsys.com/netlibrary/index.htm BNet: http://www.cra.com/bnet Causeway: http://www.inet.saic.com/ DBL Interactive: http://www.decisionbasedlearning.org/ Dezide: http://www.dezide.com dVelox: http://aparasw.com/dVelox Hugin: http://www.hugin.com MSBNx: a component-centric toolkit for modeling and inference with Bayesian Network (from Microsoft Research): http://research.microsoft.com/adapt/MSBNx/ Netica: http://www.norsys.com Promedas (Bayesian medical decision support): http://www.promedas.nl ProBayes: http://www.probayes.com Quiddity: Esp. for large models.

Analysis of tools (not fully up to date): Kevin's Murphy's List, or Korb & Nicholson's List.

# Simple English

A Bayesian network is a kind of graph which is used to model events that cannot be observed. This can then be used for inference. The graph that is used is directed, and does not contain any cycles. The nodes of the graph represent random variables. If two nodes are connected by an edge, it has an associated probability that it will transmit from one node to the other.

Bayesian networks are mainly used in the field of (unassisted) machine learning. They have been used where information needs to be classified. Examples are image, document, or speech recognition, and information retrieval.

## History

The term "Bayesian networks" was made by Judea Pearl in 1985 to emphasize three aspects:[1]

1. The often subjective nature of the input information.
2. The reliance on Bayes's conditioning as the basis for updating information.
3. The distinction between causal and evidential modes of reasoning, which underscores Thomas Bayes' posthumously published paper of 1763.[2]

In the late 1980's the seminal texts Probabilistic Reasoning in Intelligent Systems[3] and Probabilistic Reasoning in Expert Systems[4] summarized the properties of Bayesian networks and helped to establish Bayesian networks as a field of study.

Informal variants of such networks were first used by legal scholar John Henry Wigmore, in the form of Wigmore charts, to analyse trial evidence in 1913.[5]:66-76 Another variant, called path diagrams, was developed by the geneticist Sewall Wright[6] and used in social and behavioral sciences (mostly with linear parametric models).

## References

1. Pearl, J. (1985). "Bayesian Networks: A Model of Self-Activated Memory for Evidential Reasoning" (UCLA Technical Report CSD-850017) in Proceedings of the 7th Conference of the Cognitive Science Society, University of California, Irvine, CA. {{{booktitle}}}: 329–334. Retrieved on 2009-05-01.
2. Bayes, T.; Price, Mr. (1763). [Expression error: Unexpected < operator "An Essay towards solving a Problem in the Doctrine of Chances."]. Philosophical Transactions of the Royal Society of London 53: 370–418. doi:10.1098/rstl.1763.0053.
3. Pearl, J., Probabilistic Reasoning in Intelligent Systems, Morgan Kaufmann, San Francisco, CA, 1988
4. Neapolitan, R.E., Probabilistic Reasoning in Expert Systems, Wiley, NY, 1989
5. J. B. Kadane and D. A. Schum (1996). A Probabilistic Analysis of the Sacco and Vanzetti Evidence. New York: Wiley. ISBN 0-471-14182-8.
6. Wright, S. (1921). "Correlation and Causation". Journal of Agricultural Research 20 (7): 557–585.