Title: On Distributing a Bayesian Network
1On Distributing a Bayesian Network
2Major discussion points
- Functionality afforded by old code
- Issues and problems with old approach
- Functionality trying to add
- Functionality successfully added
- What is not yet working correctly
- What sill have to try to add
3Outline
- Need a Review of JT?
- Distributing a BN using the JT Issues.
- Directions for Solutions
- Matlab New functionality and experiments
- And now what?
4Secondary Structure/ Junction Tree multi-dim.
random variables joint probabilities
(potentials)
Bayesian Network one-dim. random
variables conditional probabilities
5Building a Junction Tree
DAG
6Step 1 Moralization
GM
G ( V , E )
1. For all w ? V For all u,v?pa(w) add an
edge eu-v. 2. Undirect all edges.
7Step 2 Triangulation
Add edges to GM such that there is no cycle with
length ? 4 that does not contain a chord.
NO
YES
8Bayesian Network G ( V , E )
Moral graph GM
Triangulated graph GT
a
abd
ace
ad
ae
ce
ade
ceg
e
e
eg
de
e
seperators
egh
def
e
Cliques
e.g. ceg ? egh eg
Junction graph GJ (not complete)
9- There are several methods to find MST.
- Kruskals algorithm choose successively a link
of - maximal weight unless it creates a cycle.
Junction tree GJT
Junction graph GJ (not complete)
10GJT
In JT cliques becomes vertices
sepsets
Ex ceg ? egh eg
11Propagating potentials
Message Passing from clique A to clique B 1.
Project the potential of A into SAB 2. Absorb
the potential of SAB into B
Projection
Absorption
12Global Propagation
Root
13Using the JT for the MSBN
- How?
- Issue Clique Granularity
- Issue Clique Association
- Issue MSBN must have tree structure
14Take a JT
15Partition JT into sub-trees
16Issue Clique Granularity
17Issue Clique Granularity
18Issue Clique association
19Issue Clique association
20Issue MSBN has a tree structure
21Issue MSBN has a tree structure
Cant communicate here!
22Issue MSBN has a tree structure
Cant communicate here!
Though these two subnets may share many variables.
23Directions for Solutions
- Controlling Granularity
- Increasing Granularity
- Choosing the JT
- Alternative communication graphs
24Controlling Granularity
- Moralization and Triangulation ? Cliques
- Moralization No choice.
- Triangulation Some choice.
- Triangulate keeping the subnets in mind.
25Increasing Granularity
- Can we break down cliques?
- Conjecture
- Given two sets of random variables X and Y, let
Given a clique Z whose set of random variables Z
is covered by sets X and Y. If ?(X,Y) is small
enough then we may replace Z by X and Y.
Y
X
Z
26Choosing The JT
- Once the cliques have been formed (hence the JG),
any maximal weight spanning tree of the JG will
do for the JT. - Again, we should choose this tree so as to reduce
the overhead when connecting subnets internally.
27Alternative communication Graphs
- We raise the question as to wether it is possible
to perform intra- and extra-subnet calibration
using some non-tree sub-graph of the JG
28MatLab The new Stuff
- Netica can talk to the Matlab tool.
- View/Interact tool is nicer
- JG for communication graph (or not)
- Query cliques
29Propagating with cycles
BC
BCE
ABC
BE
E
B
BDE
DEF
DE
30Mysterious convergence
C
CE
ABC
E
E
B
BDE
DEF
DE