Lauritzen-Spiegelhalter Algorithm

Slides:



Advertisements
Similar presentations
A Tutorial on Learning with Bayesian Networks
Advertisements

Constraint Satisfaction Problems
ETHEM ALPAYDIN © The MIT Press, Lecture Slides for 1 Lecture Notes for E Alpaydın 2010.
Variational Methods for Graphical Models Micheal I. Jordan Zoubin Ghahramani Tommi S. Jaakkola Lawrence K. Saul Presented by: Afsaneh Shirazi.
CS498-EA Reasoning in AI Lecture #15 Instructor: Eyal Amir Fall Semester 2011.
. Exact Inference in Bayesian Networks Lecture 9.
Statistical Methods in AI/ML Bucket elimination Vibhav Gogate.
Anagh Lal Tuesday, April 08, Chapter 9 – Tree Decomposition Methods- Part II Anagh Lal CSCE Advanced Constraint Processing.
Exact Inference in Bayes Nets
Junction Trees And Belief Propagation. Junction Trees: Motivation What if we want to compute all marginals, not just one? Doing variable elimination for.
The Theory of NP-Completeness
Dynamic Bayesian Networks (DBNs)
An Introduction to Variational Methods for Graphical Models.
EE462 MLCV Lecture Introduction of Graphical Models Markov Random Fields Segmentation Tae-Kyun Kim 1.
Overview of Inference Algorithms for Bayesian Networks Wei Sun, PhD Assistant Research Professor SEOR Dept. & C4I Center George Mason University, 2009.
Hidden Markov Models M. Vijay Venkatesh. Outline Introduction Graphical Model Parameterization Inference Summary.
Chapter 8-3 Markov Random Fields 1. Topics 1. Introduction 1. Undirected Graphical Models 2. Terminology 2. Conditional Independence 3. Factorization.
Junction Tree Algorithm Brookes Vision Reading Group.
Junction Trees: Motivation Standard algorithms (e.g., variable elimination) are inefficient if the undirected graph underlying the Bayes Net contains cycles.
From Variable Elimination to Junction Trees
Machine Learning CUNY Graduate Center Lecture 6: Junction Tree Algorithm.
GS 540 week 6. HMM basics Given a sequence, and state parameters: – Each possible path through the states has a certain probability of emitting the sequence.
A Graphical Model For Simultaneous Partitioning And Labeling Philip Cowans & Martin Szummer AISTATS, Jan 2005 Cambridge.
Bayesian Networks A causal probabilistic network, or Bayesian network,
Recent Development on Elimination Ordering Group 1.
Belief Propagation, Junction Trees, and Factor Graphs
Graphical Models Lei Tang. Review of Graphical Models Directed Graph (DAG, Bayesian Network, Belief Network) Typically used to represent causal relationship.
Analysis of Algorithms CS 477/677
1 Internet Networking Spring 2002 Tutorial 6 Network Cost of Minimum Spanning Tree.
Computing & Information Sciences Kansas State University Lecture 28 of 42 CIS 530 / 730 Artificial Intelligence Lecture 28 of 42 William H. Hsu Department.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
Computing & Information Sciences Kansas State University Lecture 27 of 42 CIS 530 / 730 Artificial Intelligence Lecture 27 of 42 William H. Hsu Department.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
1 Inferring structure to make substantive conclusions: How does it work? Hypothesis testing approaches: Tests on deviances, possibly penalised (AIC/BIC,
1 Variable Elimination Graphical Models – Carlos Guestrin Carnegie Mellon University October 11 th, 2006 Readings: K&F: 8.1, 8.2, 8.3,
Solving Bayesian Decision Problems: Variable Elimination and Strong Junction Tree Methods Presented By: Jingsong Wang Scott Langevin May 8, 2009.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Daphne Koller Message Passing Belief Propagation Algorithm Probabilistic Graphical Models Inference.
Computing & Information Sciences Kansas State University Monday, 06 Nov 2006CIS 490 / 730: Artificial Intelligence Lecture 31 of 42 Monday, 06 November.
An Introduction to Variational Methods for Graphical Models
K2 Algorithm Presentation KDD Lab, CIS Department, KSU
Intro to Junction Tree propagation and adaptations for a Distributed Environment Thor Whalen Metron, Inc.
Probabilistic Graphical Models seminar 15/16 ( ) Haim Kaplan Tel Aviv University.
Lecture 2: Statistical learning primer for biologists
Exact Inference in Bayes Nets. Notation U: set of nodes in a graph X i : random variable associated with node i π i : parents of node i Joint probability:
Christopher M. Bishop, Pattern Recognition and Machine Learning 1.
Pattern Recognition and Machine Learning
Today Graphical Models Representing conditional dependence graphically
1 Variable Elimination Graphical Models – Carlos Guestrin Carnegie Mellon University October 15 th, 2008 Readings: K&F: 8.1, 8.2, 8.3,
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
An Algorithm to Learn the Structure of a Bayesian Network Çiğdem Gündüz Olcay Taner Yıldız Ethem Alpaydın Computer Engineering Taner Bilgiç Industrial.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Chapter 10 NP-Complete Problems.
Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk
Inference in Bayesian Networks
Exact Inference Continued
Artificial Intelligence Chapter 19
ICS 353: Design and Analysis of Algorithms
CSCI 5822 Probabilistic Models of Human and Machine Learning
Exact Inference ..
Class #19 – Tuesday, November 3
Biointelligence Lab School of Computer Sci. & Eng.
Exact Inference Continued
Variable Elimination 2 Clique Trees
Readings: K&F: 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 Markov networks, Factor graphs, and an unified view Start approximate inference If we are lucky… Graphical.
Junction Trees 3 Undirected Graphical Models
Variable Elimination Graphical Models – Carlos Guestrin
Presentation transcript:

Lauritzen-Spiegelhalter Algorithm Probabilistic Inference In Bayes Networks Haipeng Guo Nov. 08, 2000 KDD Lab, CIS Department, KSU

Presentation Outline Bayes Networks Probabilistic Inference in Bayes Networks L-S algorithm Computational Complexity Analysis Demo

Bayes Networks A Bayes network is a directed acyclic graph with a set of conditional probabilities The nodes represent random variables and arcs between nodes represent conditional dependence of the nodes. Each node contains a CPT(Conditional Probabilistic Table) that contains probabilities of the node being a specific value given the values of its parents

Bayes Networks

Probabilistic Inference in Bayes Networks Probabilistic Inference in Bayes Networks is the process of computing the conditional probability for some variables given the values of other variables (evidence). P(V=v| E=e): Suppose that I observe e on a set of variables E(evidence ), what is the probability that variable V has value v, given e?

Probabilistic Inference in Bayes Networks Example problem: Suppose that a patient arrives and it is known for certain that he has recently visited Asia and has dyspnea. What’s the impact that this has on the probabilities of the other variables in the network ? Probability Propagation in the network

Probabilistic Inference in Bayes Networks The problem of exact probabilistic inference in an arbitrary Bayes network is NP-Hard.[Cooper 1988] NP-Hard problems are at least as computational complex as NP-complete problems No algorithms has ever been found which can solve a NP-complete problem in polynomial time Although it has never been proved whether P = NP or not, many believe that it indeed is not possible. Accordingly, it is unlikely that we could develop an general-purpose efficient exact method for propagating probabilities in an arbitrary network

Lauritzen-Spiegelhalter Algorithm L-S algorithm is an efficient exact probability inference algorithm in an arbitrary Bayes Network S. L. Lauritzen and D. J. Spiegelhalter. Local computations with probabilities on graphical structures and their application to expert systems. Journal of the Royal Statistical Society , 1988.

Lauritzen-Spiegelhalter Algorithm L-S algorithm works in two steps: First, it creates a tree of cliques(join tree or junction tree), from the original Bayes network; Then, it computes probabilities for the cliques during a message propagation and the individual node probabilities are calculated from the probabilities of cliques.

L-S Algorithm: Cliques An undirected graph is compete if every pair of distinct nodes is adjacent a clique W of G is a maximal complete subset of G, that is, there is no other complete subset of G which properly contains W A B C D E Clique 1: {A, B, C, D} Clique 2: {B, D, E}

Step 1: Building the tree of cliques In step 1, we begin with the DAG of a Bayes Network, and apply a series of graphical transformation that result in a join tree: Construct a moral graph from the DAG of a Bayes network by marrying parents Add arcs to the moral graph to form a triangulated graph and create an order  of all nodes using Maximum Cardinality Search Identify cliques from the triangulated graph and order them according to order  Connect these cliques to build a join tree

Step 1.1: Moralization Input: G - the DAG of a Bayes Network, Output: Gm - the Moral graph relative to G Algorithm: “marry” the parents and drop the direction (add arc for every pair of parents of all nodes) A D B E G C H F A D B E G C H F

Step 1.2: Triangulation A D B E G C H F Input: Gm - the Moral graph Output: Gu – a perfect ordering  of the nodes and the triangulated graph of Gm Algorithm: 1. Use Maximum Cardinality Search to create a perfect ordering of the nodes 2. Use Fill-in Computation algorithm to triangulate Gu A D B E G C H F A1 D8 B2 E3 G5 C4 H7 F6

Step 1.3: Identify Cliques Input: Gu and a ordering  of the nodes Output: a list of cliques of the triangulated graph Gu Algorithm: Use Cliques-Finding algorithm to find cliques of a triangulated graph then order them according to their highest labeled nodes according to order 

Step 1.3: Identify Cliques A1 B2 E3 G5 F6 H7 Clique 6 Clique 5 Clique 4 Clique 3 Clique 1 Clique 2 G5 A1 D8 B2 E3 C4 H7 F6 order them according to their highest labeled nodes according to order 

Step 1.4: Build tree of Cliques Input: a list of cliques of the triangulated graph Gu Output: Create a tree of cliques, compute Separators nodes Si,Residual nodes Ri and potential probability (Clqi) for all cliques Algorithm: 1. Si = Clqi (Clq1  Clq2 … Clqi-1) 2. Ri = Clqi - Si 3. If i >1 then identify a j < i such that Clqj is a parent of Clqi 4. Assign each node v to a unique clique Clqi that v  c(v)  Clqi 5. Compute (Clqi) = f(v) Clqi =P(v|c(v)) {1 if no v is assigned to Clqi} 6. Store Clqi , Ri , Si, and (Clqi) at each vertex in the tree of cliques

Step 1.4: Build tree of Cliques Ri: Residual nodes Si: Separator nodes (Clqi): potential probability of Clique i D8 C4 A1 B2 E3 G5 F6 H7 Clq5 Clq4 Clq3 Clq1 Clq2 Clq6 Clq3 = {E,C,G} R3 = {G} S3 = { E,C } Clq1 = {A, B} R1 = {A, B} S1 = {} Clq2 = {B,E,C} R2 = {C,E} S2 = { B } Clq4 = {E, G, F} R4 = {F} S4 = { E,G } Clq5 = {C, G,H} R5 = {H} S5 = { C,G } Clq6 = {C, D} R5 = {D} S5 = { C} (Clq1) = P(B|A)P(A) (Clq2) = P(C|B,E) (Clq3) = 1 (Clq4) = P(E|F)P(G|F)P(F) AB BEC ECG EGF CGH CD B EC CG EG C (Clq5) = P(H|C,G) Clq6 (Clq2) = P(D|C)

Step 1: Conclusion In step 1, we begin with the DAG of a Bayes Network, and apply a series of graphical transformation that result in a Permanent Tree of Cliques. Stored at each vertex in the tree are the following: A clique Clqi Si Ri (Clqi)

Step 2: Computation inside the join tree In step 2, we start from copying a copy of the Permanent Tree of Cliques to Clqi’, Si’,, Ri’ and ’ (Clqi ’) and P’ (Clqi’) , leave P’ (Clqi’) unassigned at first. Then we compute the prior probability P’ (Clqi’) using the same updating algorithm as the one to determine the conditional probabilities based on instantiated values. After initialization, we compute the posterior probability P’ (Clqi’) again with evidence by passing  and  messages in the join tree When the probabilities of all cliques are determined , we can compute the probability for each variable from any clique containing the variable

Step 2: Message passing in the join tree The message passing process consists of first sending so-called  messages from the bottom of the tree to the top, then sending  messages from the top to the bottom, modifying and accumulating node properties(’ (Clqi ’) and P’ (Clqi’) ) along the way The  message upward is a summed product of all probabilities below the given node The  messages downward is information for updating the node prior probabilities

Step 2: Message passing in the join tree Clq1 Clq2 Clq3 Clq4 Clq5 Clq6 Upward  messages ’ (Clqi ’) is modified as the  messages passing is going Downward  messages P’ (Clqi’) is computed as the  messages passing is going

Step 2: Message passing in the join tree When the probabilities of all cliques are determined , for each vertex Clqi and each variable v  Clqi , do

L-S Algorithm:Computational Complexity Analysis Computations in the Algorithm which creates the permanent Tree of Cliques --- O(nrm) Moralization – O(n) Maximum Cardinality Search – O(n+e) Fill-in algorithm for triangulating – O(n+e) ---- the general problem for finding optimal triangulation (minimal fill-in) is NP-Hard, but we are using a greedy heuristic Find Cliques and build join tree – O(n+e) --- the general problem for finding minimal Cliques from an arbitrary graph is NP-Hard, but our subject is a triangulated graph Compute (Clqi) – O(nrm) --- n = number of variables; m = the maximum number of variables in a clique; r = maximum number of alternatives for a variable

L-S Algorithm:Computational Complexity Analysis Computations in the updating Algorithm --- O(prm ) Computation for sending all  messages --- 2prm Computation for sending all  messages --- prm Computation for receiving all  messages --- prm ---- p = number of vertices in the tree of cliques  L-S algorithm has a time complexity of O(prm), in the worst case it is bounded below by 2m, i.e. (2m)

L-S Algorithm:Computational Complexity Analysis It may seem that we should search for a better general-purpose algorithm to perform probability propagation But in practice, most Bayes networks created by human hands should often contain small clusters of variables, and therefore a small value of m. So L-S algorithm works efficiently for many application because networks available so far are often sparse and irregular. L-S algorithm could have a very bad performance for more general networks

L-S Algorithm: Alternative methods Since the general problem of probability propagation is NP-Hard, it is unlikely that we could develop an efficient general-purpose algorithm for propagating probabilities in an arbitrary Bayes network. This suggests that research should be directed towards obtaining alternative methods which work in different cases: Approximate algorithms Monte Carlo techniques Heuristic algorithms Parallel algorithms Special case algorithms

L-S Algorithm: Demo Laura works on step 1 Ben works on step 2