Title: Inference in Bayesian Networks
1Inference in Bayesian Networks
MINDLab. Seminars on Reasoning and Planning under
Uncertainty
- Ugur Kuter
- MIND Lab.
- 8400 Baltimore Avenue, Ste. 200
- College Park, Maryland, 20742
- Web Site for the seminars http//www.cs.umd.edu/u
sers/ukuter/uncertainty/
2From Last Week
- A Bayesian Network is a DAG
- Nodes represent the events
- Arcs represent the causal influences between the
linked events - The strength (i.e. the quantification) of a
causal link is defined directly by the
conditional probabilities on the linked events - Conditional Independence in Bayesian Networks
- The event a d-separates the event b from c, if
- along every undirected link between b and c,
there is an event w that satisfies the following - if w does not have converging arrows then it is
equal to a - if w has converging arrows then a is not equal to
w or any of ws descendants
3Inference over Bayesian Networks
- Inference ? computing/updating our belief in some
designated query events, given the values for
some evidence - Given that I know a and c occurred in the world,
what is the probability that e and b will
occur/has occurred? - Exact vs. Approximate Inference
- Predictive vs. Diagnostic Inference
- Different inference algorithms for different
structures of the network models - Singly-Connected Networks
- Multiply-Connected Networks
a
b
c
d
e
4Exact Inference in Singly-Connected Networks
- Singly-connected networks
- there is at most one path between each pair of
events - e.g, chains, trees, poly-trees (a.k.a., forests)
- Note no loops
- Predictive inference is done via the chain rule
- of the probability theory
- P(a,b, , f) P(a) P(b a) . P(f a, b, ,
e) - Diagnostic inference is done via the chain rule
and the Bayes rule - P(a b) P(b a) P(a) / P(b)
a
b
b
c
f
e
d
5Exact Inference over Chains
- Two-event chains
- Prediction Given an evidence on , what is
the probability of ? - The value of the conditional probability P( b a
) - Diagnosis Given an evidence on , what is
the probability of ? - The value of the conditional probability P( a b
) - Use Bayes Rule to compute this conditional
probability - P(a b) P(b a) P(a) / P(b)
a
b
a
b
b
a
6Exact Inference over Chains (contd)
- Multiple-Event Chains
- Prediction Given an evidence on , what is
the probability of ? - P( c a ) ?Btrue,falseP(c B, a)
?Btrue,falseP(c B) P(B a) - Diagnosis Given an evidence on , what is
the probability of ? - Use Bayes Rule to compute this conditional
probability - P(a c) P(c a) P(a) / P(c)
a
b
c
a
c
c
a
7Exact Inference over Trees and Poly-Trees
- Pearls Message Passing Techniques
- Based on successive local computations
- of beliefs for each event
- Inference via propagating messages
- between the events
- Two types of messages associated with each event
x - ?-messages x receives the message ?(x) from its
parents - ?-messages x receives the message ?(x) from its
children
a
b
?
?
?
?
c
8Message Passing
- Three specific parameters for computing
- the belief of an event, say c
- Conditional Probability Table for c
- i.e., P(c parents(c))
- Predictive Support
- the probability of the parents of c,
- given all the evidence connected to a and b,
- except via c
- ?(c) P(c parents(c)) P(parents(c) all
evidence) - Diagnostic Support
- The probability of all of the evidence connected
to the children of c, except via c - ?(c) P(all evidence except via c c)
a
b
?(c)
c
f
?(c)
e
d
9Message Passing over Trees
a
?(c)
- Consider the event c
- Our belief in the occurrence of c is
- P(c all evidence) ? P(all evidence via
children of c c) - P(c all evidence via parents of c)
- In other words, our belief in c is computed by
- ? ?(c) ?(c)
?(a)
b
c
?(c)
e
d
f
10Computing ?(c) and ?(c)
- Computing the ?-Message
- ?(c) 1, if we have evidence on c
- ?(c) 0, if we do not have evidence on c
- ?(c) ?c(D) ?c(E) ?c(F), otherwise
- Computing the ? -Message
-
- ?(c) ? P( c A) ?c(A)
-
a
?(c)
b
c
?(c)
e
d
f
11Computing Individual ?-Messages
- Consider the message from the event C to its
child D - If any evidence that says c occurs in the world
- then
- ?D(c) 1, ?E(c) 1
- If any evidence that says c does not occur in the
world - then
- ?D(c) 0, ?E(c) 0
- Otherwise,
- ?D(c) ? ?(c) ? (?X ? D ?c(X))
a
?(c)
b
c
?(c)
e
d
f
12Computing Individual ?-Messages
- The message from the node D to its parent C
- ?D(c) ?Dtrue,false ?(D) P(D c)
-
a
?(c)
b
c
?(c)
e
d
f
13Example The Flow of Messages
a
b
c
e
f
e
d
f
Evidence
e
f
Evidence
14The Flow of Messages - Step 1
?-message
a
?-message
Node ready to send a message
b
c
e
f
e
d
f
Evidence
e
f
Evidence
15The Flow of Messages - Step 2
?-message
a
?-message
Node ready to send a message
b
c
e
f
e
d
f
Evidence
e
f
Evidence
16The Flow of Messages - Step 3
?-message
a
?-message
Node ready to send a message
b
c
e
f
e
d
f
Evidence
e
f
Evidence
- And so on, until the network reaches to an
equilibrium - Theoretically, if message passing is done
infinitely often, then the technique computes an
exact probability for each non-evidence event
17Message Passing in Poly-Trees
- Poly-Trees (i.e., forests)
- There is only one path between every pair of
- events in the network
- Recall that
- Our belief in the occurrence of c is
- P(c all evidence) ? P(all evidence via
children of c c) - P(c all evidence via parents of
c) - In other words, P(c all evidence) ? ?(c) ?(c)
a
b
?
?
?
?
c
f
e
d
18Computing ?(c) and ? (c)
- These are compound messages
- ?-Message from all evidence through all children
of c - ?-Message from all evidence through all parents
of c - We compute these messages via its individual
components - Computing a ?-Message
- ?(c) 1, if we have evidence on c
- ?(c) 0, if we do not have evidence on c
- ?(c) ?c(D) ?c(E)
- Computing a ?-Message
- ?(c) ? P( c parents(C)) ?X ? parents(C)
?X(X)
a
b
?x(a)
?x(b)
c
f
?x(d)
?x(e)
e
d
19Computing the individual ?-messages
- Consider the event c
- If any evidence that says c occurs in the world
- then
- ?D(c) 1, ?E(c) 1
- If any evidence that says c does not occur in the
world - then
- ?D(c) 0, ?E(c) 0
- Otherwise,
- ?D(c) ? ? (?X ? D ?c(X))
- ( ? P( c A, B) ?X ? A,B ?c(X) )
a
b
?x(a)
?x(b)
c
f
?x(e)
e
d
20Computing the individual ?-messages
- The message from a node D to its
- parent C is computed as follows
-
- ?D(c) ?Dtrue,false ?(D)
- ? P( D parents(D) - C)
- ?x ? parents(D) - C ?c(x) )
-
a
b
?x(a)
?x(b)
c
f
?x(e)
e
d
21Characteristics of Message Passing
- The algorithm uses the locality principle, i.e.,
it considers information from a events immediate
parents and children - If the number of parents is small then the
message passing quickly converges to an
equilibrium (or near-equilibrium) - Otherwise, the algorithm is not feasible
- Since the computation of messages are exponential
in the number of parents of an event
22Summary
- Exact Inference Algorithms over Singly-Connected
Networks - Inference is done based on
- Conditional Probabilities
- Predictive support for the occurrence of an event
- Given the ancestors, how is our belief of the
event affected? - Diagnostic support for the occurrence of an
event - Given the descendants, how is our belief of the
event affected? - Different inference mechanisms for different
network structures - Chains Simple application of the Bayes Rule and
the Chain Rule - Trees and Poly-Trees Message passing techniques
- Computationally expensive in most cases,
infeasible in some cases
23Schedule for the Weeks Ahead (Tentative)
- Next week (October 27)
- no seminar
- November 3
- Exact Inference Algorithms over
Multiply-Connected Networks - November 10, 17, and 24
- no seminars
- December 1
- Approximate Inference Algorithms