300 likes | 403 Views
On Distributing a Bayesian Network. Thor Whalen Metron, Inc. Major 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.
E N D
On Distributing a Bayesian Network Thor Whalen Metron, Inc.
Major 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
Outline • Need a Review of JT? • Distributing a BN using the JT: Issues. • Directions for Solutions • Matlab: New functionality and experiments • And now what?
ae ce ad b d g h a e c f de eg egh abd ceg ade ace def Secondary Structure/ Junction Tree • multi-dim. random variables • joint probabilities (potentials) Bayesian Network • one-dim. random variables • conditional probabilities
Moral Graph Triangulated Graph Junction Tree Identifying Cliques Building a Junction Tree DAG
b b b g d d g h h g d h a e a a e e c c c f f f Step 1: Moralization G = ( V , E ) GM 1. For all w V: • For all u,vpa(w) add an edge e=u-v. 2. Undirect all edges.
b b g h g h d d e a a e c c f f GM GT Step 2: Triangulation Add edges to GM such that there is no cycle with length 4 that does not contain a chord. NO YES
b b b b g h d d d d g h g g h d g h d a e e a e a e e e e a a e a c c c c c f f f f Bayesian Network G = ( V , E ) Moral graph GM Triangulated graph GT a abd ace ad ae ce ade e ceg e eg de e seperators egh def e Cliques e.g. ceg egh = eg Junction graph GJ (not complete)
ae ce ad a abd ace ad ae ce de eg egh abd ade ceg ace def ade e ceg e eg de e egh def e There are several methods to find MST. Kruskal’s algorithm: choose successively a link of maximal weight unless it creates a cycle. Junction tree GJT Junction graph GJ (not complete)
ae ce ad b d d g h g d e a e e e e a a c c f de eg abd egh ceg ade ace def GJT In JT cliques becomes vertices sepsets Ex: ceg egh = eg
Propagating 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
1. COLLECT-EVIDENCE messages 1-5 2. DISTRIBUTE-EVIDENCE messages 6-10 abd ace 3 2 7 ae ce ad 6 5 9 ade ceg de eg 1 8 4 10 def egh Global Propagation Root
Using the JT for the MSBN • How? • Issue: Clique Granularity • Issue: Clique Association • Issue: MSBN must have tree structure
Issue: MSBN has a tree structure Can’t communicate here!
Issue: MSBN has a tree structure Can’t communicate here! Though these two subnets may share many variables.
Directions for Solutions • Controlling Granularity • Increasing Granularity • Choosing the JT • Alternative communication graphs
Controlling Granularity • Moralization and Triangulation → Cliques • Moralization: No choice. • Triangulation: Some choice. • Triangulate keeping the subnets in mind.
Increasing 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
Choosing 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.
Alternative 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…
MatLab: The new Stuff: • Netica can talk to the Matlab tool. • View/Interact tool is nicer • JG for communication graph… (or not) • Query cliques
Propagating with cycles BC BCE ABC BE B E BDE DEF DE
Mysterious convergence C CE ABC E B E BDE DEF DE