Presentation is loading. Please wait.

Presentation is loading. Please wait.

Russell and Norvig: Chapter 14 CMCS424 Fall 2005

Similar presentations


Presentation on theme: "Russell and Norvig: Chapter 14 CMCS424 Fall 2005"— Presentation transcript:

1 Russell and Norvig: Chapter 14 CMCS424 Fall 2005
Bayesian Networks Russell and Norvig: Chapter 14 CMCS424 Fall 2005

2 Probabilistic Agent ? sensors environment agent actuators
I believe that the sun will still exist tomorrow with probability and that it will be a sunny with probability 0.6

3 Problem At a certain time t, the KB of an agent is some collection of beliefs At time t the agent’s sensors make an observation that changes the strength of one of its beliefs How should the agent update the strength of its other beliefs?

4 Purpose of Bayesian Networks
Facilitate the description of a collection of beliefs by making explicit causality relations and conditional independence among beliefs Provide a more efficient way (than by using joint distribution tables) to update belief strengths when new evidence is observed

5 Other Names Belief networks Probabilistic networks Causal networks

6 Bayesian Networks A simple, graphical notation for conditional independence assertions resulting in a compact representation for the full joint distribution Syntax: a set of nodes, one per variable a directed, acyclic graph (link = ‘direct influences’) a conditional distribution for each node given its parents: P(Xi|Parents(Xi))

7 Example Topology of network encodes conditional independence assertions: Cavity Weather Toothache Catch Weather is independent of other variables Toothache and Catch are independent given Cavity

8 Example I’m at work, neighbor John calls to say my alarm is
ringing, but neighbor Mary doesn’t call. Sometime it’s set off by a minor earthquake. Is there a burglar? Variables: Burglar, Earthquake, Alarm, JohnCalls, MaryCalls Network topology reflects “causal” knowledge: - A burglar can set the alarm off - An earthquake can set the alarm off - The alarm can cause Mary to call - The alarm can cause John to call

9 A Simple Belief Network
Burglary Earthquake Alarm MaryCalls JohnCalls causes effects Intuitive meaning of arrow from x to y: “x has direct influence on y” Directed acyclic graph (DAG) Nodes are random variables

10 Assigning Probabilities to Roots
P(B) 0.001 P(E) 0.002 Burglary Earthquake Alarm MaryCalls JohnCalls

11 Conditional Probability Tables
P(B) 0.001 P(E) 0.002 Burglary Earthquake Alarm MaryCalls JohnCalls B E P(A|B,E) TTFF TFTF Size of the CPT for a node with k parents: ?

12 Conditional Probability Tables
P(B) 0.001 P(E) 0.002 Burglary Earthquake Alarm MaryCalls JohnCalls B E P(A|B,E) TTFF TFTF A P(J|A) TF A P(M|A) TF

13 What the BN Means P(x1,x2,…,xn) = Pi=1,…,nP(xi|Parents(Xi)) Burglary
P(B) 0.001 P(E) 0.002 Burglary Earthquake Alarm MaryCalls JohnCalls B E P(A|…) TTFF TFTF P(x1,x2,…,xn) = Pi=1,…,nP(xi|Parents(Xi)) A P(J|A) TF A P(M|A) TF

14 Calculation of Joint Probability
P(B) 0.001 P(E) 0.002 Burglary Earthquake Alarm MaryCalls JohnCalls B E P(A|…) TTFF TFTF P(JMABE) = P(J|A)P(M|A)P(A|B,E)P(B)P(E) = 0.9 x 0.7 x x x = A P(J|…) TF A P(M|…) TF

15 What The BN Encodes Burglary Earthquake Alarm MaryCalls JohnCalls For example, John does not observe any burglaries directly Each of the beliefs JohnCalls and MaryCalls is independent of Burglary and Earthquake given Alarm or Alarm The beliefs JohnCalls and MaryCalls are independent given Alarm or Alarm

16 What The BN Encodes Burglary Earthquake Alarm MaryCalls JohnCalls For instance, the reasons why John and Mary may not call if there is an alarm are unrelated Note that these reasons could be other beliefs in the network. The probabilities summarize these non-explicit beliefs Each of the beliefs JohnCalls and MaryCalls is independent of Burglary and Earthquake given Alarm or Alarm The beliefs JohnCalls and MaryCalls are independent given Alarm or Alarm

17 Structure of BN The relation: P(x1,x2,…,xn) = Pi=1,…,nP(xi|Parents(Xi)) means that each belief is independent of its predecessors in the BN given its parents Said otherwise, the parents of a belief Xi are all the beliefs that “directly influence” Xi Usually (but not always) the parents of Xi are its causes and Xi is the effect of these causes E.g., JohnCalls is influenced by Burglary, but not directly. JohnCalls is directly influenced by Alarm

18 Construction of BN Choose the relevant sentences (random variables) that describe the domain Select an ordering X1,…,Xn, so that all the beliefs that directly influence Xi are before Xi For j=1,…,n do: Add a node in the network labeled by Xj Connect the node of its parents to Xj Define the CPT of Xj The ordering guarantees that the BN will have no cycles

19 Cond. Independence Relations
Ancestor X Y1 Y2 Non-descendent 1. Each random variable X, is conditionally independent of its non-descendents, given its parents Pa(X) Formally, I(X; NonDesc(X) | Pa(X)) 2. Each random variable is conditionally independent of all the other nodes in the graph, given its neighbor Parent Non-descendent Descendent

20 Distribution conditional to the observations made
Inference In BN Set E of evidence variables that are observed, e.g., {JohnCalls,MaryCalls} Query variable X, e.g., Burglary, for which we would like to know the posterior probability distribution P(X|E) Distribution conditional to the observations made ? T P(B|…) M J

21 Inference Patterns Basic use of a BN: Given new
Burglary Earthquake Alarm MaryCalls JohnCalls Diagnostic Burglary Earthquake Alarm MaryCalls JohnCalls Causal Basic use of a BN: Given new observations, compute the new strengths of some (or all) beliefs Other use: Given the strength of a belief, which observation should we gather to make the greatest change in this belief’s strength Burglary Earthquake Alarm MaryCalls JohnCalls Intercausal Burglary Earthquake Alarm MaryCalls JohnCalls Mixed

22 Types Of Nodes On A Path diverging Radio Battery SparkPlugs Starts Gas
Moves linear converging

23 Independence Relations In BN
diverging Radio Battery SparkPlugs Starts Gas Moves linear Given a set E of evidence nodes, two beliefs connected by an undirected path are independent if one of the following three conditions holds: 1. A node on the path is linear and in E 2. A node on the path is diverging and in E 3. A node on the path is converging and neither this node, nor any descendant is in E converging

24 Independence Relations In BN
diverging Radio Battery SparkPlugs Starts Gas Moves linear Given a set E of evidence nodes, two beliefs connected by an undirected path are independent if one of the following three conditions holds: 1. A node on the path is linear and in E 2. A node on the path is diverging and in E 3. A node on the path is converging and neither this node, nor any descendant is in E converging Gas and Radio are independent given evidence on SparkPlugs

25 Independence Relations In BN
diverging Radio Battery SparkPlugs Starts Gas Moves linear Given a set E of evidence nodes, two beliefs connected by an undirected path are independent if one of the following three conditions holds: 1. A node on the path is linear and in E 2. A node on the path is diverging and in E 3. A node on the path is converging and neither this node, nor any descendant is in E Gas and Radio are independent given evidence on Battery converging

26 Independence Relations In BN
diverging Radio Battery SparkPlugs Starts Gas Moves linear Given a set E of evidence nodes, two beliefs connected by an undirected path are independent if one of the following three conditions holds: 1. A node on the path is linear and in E 2. A node on the path is diverging and in E 3. A node on the path is converging and neither this node, nor any descendant is in E Gas and Radio are independent given no evidence, but they are dependent given evidence on Starts or Moves converging

27 BN Inference Simplest Case: A B P(B) = P(a)P(B|a) + P(~a)P(B|~a) B A C
P(C) = ???

28 BN Inference Chain: … X1 X2 Xn
What is time complexity to compute P(Xn)? What is time complexity if we computed the full joint?

29 Inference Ex. 2 Cloudy Rain Algorithm is computing not individual
Sprinkler Cloudy WetGrass Algorithm is computing not individual probabilities, but entire tables Two ideas crucial to avoiding exponential blowup: because of the structure of the BN, some subexpression in the joint depend only on a small number of variable By computing them once and caching the result, we can avoid generating them exponentially many times

30 Variable Elimination General idea: Write query in the form Iteratively
Move all irrelevant terms outside of innermost sum Perform innermost sum, getting a new term Insert the new term into the product

31 A More Complex Example “Asia” network: Visit to Asia Smoking
Lung Cancer Tuberculosis Abnormality in Chest Bronchitis X-Ray Dyspnea

32 Need to eliminate: v,s,x,t,l,a,b Initial factors
We want to compute P(d) Need to eliminate: v,s,x,t,l,a,b Initial factors

33 Need to eliminate: v,s,x,t,l,a,b Initial factors
We want to compute P(d) Need to eliminate: v,s,x,t,l,a,b Initial factors Eliminate: v Compute: Note: fv(t) = P(t) In general, result of elimination is not necessarily a probability term

34 Need to eliminate: s,x,t,l,a,b Initial factors
V S L T A B X D We want to compute P(d) Need to eliminate: s,x,t,l,a,b Initial factors Eliminate: s Compute: Summing on s results in a factor with two arguments fs(b,l) In general, result of elimination may be a function of several variables

35 Need to eliminate: x,t,l,a,b Initial factors
V S L T A B X D We want to compute P(d) Need to eliminate: x,t,l,a,b Initial factors Eliminate: x Compute: Note: fx(a) = 1 for all values of a !!

36 Need to eliminate: t,l,a,b Initial factors
V S L T A B X D We want to compute P(d) Need to eliminate: t,l,a,b Initial factors Eliminate: t Compute:

37 We want to compute P(d) Need to eliminate: l,a,b Initial factors
V S L T A B X D We want to compute P(d) Need to eliminate: l,a,b Initial factors Eliminate: l Compute:

38 We want to compute P(d) Need to eliminate: b Initial factors
V S L T A B X D We want to compute P(d) Need to eliminate: b Initial factors Eliminate: a,b Compute:

39 Variable Elimination We now understand variable elimination as a sequence of rewriting operations Actual computation is done in elimination step Computation depends on order of elimination

40 Dealing with evidence How do we deal with evidence?
S L T A B X D Dealing with evidence How do we deal with evidence? Suppose get evidence V = t, S = f, D = t We want to compute P(L, V = t, S = f, D = t)

41 Dealing with Evidence We start by writing the factors:
X D Dealing with Evidence We start by writing the factors: Since we know that V = t, we don’t need to eliminate V Instead, we can replace the factors P(V) and P(T|V) with These “select” the appropriate parts of the original factors given the evidence Note that fp(V) is a constant, and thus does not appear in elimination of other variables

42 Dealing with Evidence Given evidence V = t, S = f, D = t
B X D Given evidence V = t, S = f, D = t Compute P(L, V = t, S = f, D = t ) Initial factors, after setting evidence:

43 Dealing with Evidence Given evidence V = t, S = f, D = t
B X D Given evidence V = t, S = f, D = t Compute P(L, V = t, S = f, D = t ) Initial factors, after setting evidence: Eliminating x, we get

44 Dealing with Evidence Given evidence V = t, S = f, D = t
B X D Given evidence V = t, S = f, D = t Compute P(L, V = t, S = f, D = t ) Initial factors, after setting evidence: Eliminating x, we get Eliminating t, we get

45 Dealing with Evidence Given evidence V = t, S = f, D = t
B X D Given evidence V = t, S = f, D = t Compute P(L, V = t, S = f, D = t ) Initial factors, after setting evidence: Eliminating x, we get Eliminating t, we get Eliminating a, we get

46 Dealing with Evidence Given evidence V = t, S = f, D = t
B X D Given evidence V = t, S = f, D = t Compute P(L, V = t, S = f, D = t ) Initial factors, after setting evidence: Eliminating x, we get Eliminating t, we get Eliminating a, we get Eliminating b, we get

47 Variable Elimination Algorithm
Let X1,…, Xm be an ordering on the non-query variables For I = m, …, 1 Leave in the summation for Xi only factors mentioning Xi Multiply the factors, getting a factor that contains a number for each value of the variables mentioned, including Xi Sum out Xi, getting a factor f that contains a number for each value of the variables mentioned, not including Xi Replace the multiplied factor in the summation

48 Complexity of variable elimination
Suppose in one elimination step we compute This requires multiplications For each value for x, y1, …, yk, we do m multiplications additions For each value of y1, …, yk , we do |Val(X)| additions Complexity is exponential in number of variables in the intermediate factor!

49 Understanding Variable Elimination
We want to select “good” elimination orderings that reduce complexity This can be done be examining a graph theoretic property of the “induced” graph; we will not cover this in class. This reduces the problem of finding good ordering to graph-theoretic operation that is well-understood—unfortunately computing it is NP-hard!

50 Exercise: Variable elimination
p(study)=.6 smart study p(smart)=.8 p(fair)=.9 prepared fair Sm St P(Pr|…) T F .9 .5 .7 .1 pass Sm Pr F P(Pa|…) T .9 .1 .7 .2 Query: What is the probability that a student is smart, given that they pass the exam?

51 Approaches to inference
Exact inference Inference in Simple Chains Variable elimination Clustering / join tree algorithms Approximate inference Stochastic simulation / sampling methods Markov chain Monte Carlo methods

52 Stochastic simulation - direct
Suppose you are given values for some subset of the variables, G, and want to infer values for unknown variables, U Randomly generate a very large number of instantiations from the BN Generate instantiations for all variables – start at root variables and work your way “forward” Rejection Sampling: keep those instantiations that are consistent with the values for G Use the frequency of values for U to get estimated probabilities Accuracy of the results depends on the size of the sample (asymptotically approaches exact results)

53 Direct Stochastic Simulation
P(WetGrass|Cloudy)? Rain Sprinkler Cloudy WetGrass P(WetGrass|Cloudy) = P(WetGrass  Cloudy) / P(Cloudy) 1. Repeat N times: Guess Cloudy at random For each guess of Cloudy, guess Sprinkler and Rain, then WetGrass 2. Compute the ratio of the # runs where WetGrass and Cloudy are True over the # runs where Cloudy is True

54 Exercise: Direct sampling
p(study)=.6 smart study p(smart)=.8 p(fair)=.9 prepared fair Sm St P(Pr|…) T F .9 .5 .7 .1 pass Sm Pr F P(Pa|…) T .9 .1 .7 .2 Topological order = …? Random number generator: .35, .76, .51, .44, .08, .28, .03, .92, .02, .42

55 Likelihood weighting Idea: Don’t generate samples that need to be rejected in the first place! Sample only from the unknown variables Z Weight each sample according to the likelihood that it would occur, given the evidence E

56 Markov chain Monte Carlo algorithm
So called because Markov chain – each instance generated in the sample is dependent on the previous instance Monte Carlo – statistical sampling method Perform a random walk through variable assignment space, collecting statistics as you go Start with a random instantiation, consistent with evidence variables At each step, for some nonevidence variable, randomly sample its value, consistent with the other current assignments Given enough samples, MCMC gives an accurate estimate of the true distribution of values

57 Applications http://excalibur.brc.uconn.edu/~baynet/researchApps.html
Medical diagnosis, e.g., lymph-node deseases Fraud/uncollectible debt detection Troubleshooting of hardware/software systems

58 Learning Bayesian Networks

59 Learning Bayesian networks
Inducer E R B A C Data + Prior information .9 .1 e b .7 .3 .99 .01 .8 .2 B E P(A | E,B)

60 Known Structure -- Complete Data
E, B, A <Y,N,N> <Y,Y,Y> <N,N,Y> <N,Y,Y> . E B A Inducer .9 .1 e b .7 .3 .99 .01 .8 .2 B E P(A | E,B) ? e b B E P(A | E,B) E B A Network structure is specified Inducer needs to estimate parameters Data does not contain missing values

61 Unknown Structure -- Complete Data
E, B, A <Y,N,N> <Y,Y,Y> <N,N,Y> <N,Y,Y> . E B A Inducer .9 .1 e b .7 .3 .99 .01 .8 .2 B E P(A | E,B) ? e b B E P(A | E,B) E B A Network structure is not specified Inducer needs to select arcs & estimate parameters Data does not contain missing values

62 Known Structure -- Incomplete Data
E, B, A <Y,N,N> <Y,?,Y> <N,N,Y> <N,Y,?> . <?,Y,Y> E B A Inducer .9 .1 e b .7 .3 .99 .01 .8 .2 B E P(A | E,B) ? e b B E P(A | E,B) E B A Network structure is specified Data contains missing values We consider assignments to missing values

63 Known Structure / Complete Data
Given a network structure G And choice of parametric family for P(Xi|Pai) Learn parameters for network Goal Construct a network that is “closest” to probability that generated the data

64 Learning Parameters for a Bayesian Network
C Training data has the form:

65 Unknown Structure -- Complete Data
E, B, A <Y,N,N> <Y,Y,Y> <N,N,Y> <N,Y,Y> . E B A Inducer .9 .1 e b .7 .3 .99 .01 .8 .2 B E P(A | E,B) ? e b B E P(A | E,B) E B A Network structure is not specified Inducer needs to select arcs & estimate parameters Data does not contain missing values

66 Benefits of Learning Structure
Discover structural properties of the domain Ordering of events Relevance Identifying independencies  faster inference Predict effect of actions Involves learning causal relationship among variables

67 Why Struggle for Accurate Structure?
Earthquake Alarm Set Sound Burglary Truth Adding an arc Missing an arc Earthquake Alarm Set Sound Burglary Earthquake Alarm Set Sound Burglary Cannot be compensated by accurate fitting of parameters Also misses causality and domain structure Increases the number of parameters to be fitted Wrong assumptions about causality and domain structure

68 Approaches to Learning Structure
Constraint based Perform tests of conditional independence Search for a network that is consistent with the observed dependencies and independencies Pros & Cons Intuitive, follows closely the construction of BNs Separates structure learning from the form of the independence tests Sensitive to errors in individual tests

69 Approaches to Learning Structure
Score based Define a score that evaluates how well the (in)dependencies in a structure match the observations Search for a structure that maximizes the score Pros & Cons Statistically motivated Can make compromises Takes the structure of conditional probabilities into account Computationally hard

70 Heuristic Search Define a search space:
nodes are possible structures edges denote adjacency of structures Traverse this space looking for high-scoring structures Search techniques: Greedy hill-climbing Best first search Simulated Annealing ...

71 Heuristic Search (cont.)
D Typical operations: Add C D S C E D Reverse C E Delete C E S C E D S C E D

72 Exploiting Decomposability in Local Search
Caching: To update the score of after a local change, we only need to re-score the families that were changed in the last move S C E D S C E D S C E D S C E D

73 Greedy Hill-Climbing Simplest heuristic local search
Start with a given network empty network best tree a random network At each iteration Evaluate all possible changes Apply change that leads to best improvement in score Reiterate Stop when no modification improves score Each step requires evaluating approximately n new changes

74 Greedy Hill-Climbing: Possible Pitfalls
Greedy Hill-Climbing can get struck in: Local Maxima: All one-edge changes reduce the score Plateaus: Some one-edge changes leave the score unchanged Happens because equivalent networks received the same score and are neighbors in the search space Both occur during structure search Standard heuristics can escape both Random restarts TABU search

75 Summary Belief update Role of conditional independence Belief networks
Causality ordering Inference in BN Stochastic Simulation Learning BNs


Download ppt "Russell and Norvig: Chapter 14 CMCS424 Fall 2005"

Similar presentations


Ads by Google