Factor Graphs and Message Passing

Factor Graphs and Message Passing

Factor Graphs and message passing Carl Edward Rasmussen October 28th, 2016 Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 1 / 13 Key concepts • Factor graphs are a class of graphical model • A factor graph represents the product structure of a function, and contains factor nodes and variable nodes • We can compute marginals and conditionals efficiently by passing messages on the factor graph, this is called the sum-product algorithm (a.k.a. belief propagation or factor-graph propagation) • We can apply this to the True Skill graph • But certain messages need to be approximated • One approximation method based on moment matching is called Expectation Propagation (EP) Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 2 / 13 Factor Graphs Factor graphs are a type of probabilistic graphical model (others are directed graphs, a.k.a. Bayesian networks, and undirected graphs, a.k.a. Markov networks). Factor graphs allow to represent the product structure of a function. Example: consider the factorising probability distribution: p(v, w, x, y, z) = f1(v, w)f2(w, x)f3(x, y)f4(x, z) A factor graph is a bipartite graph with two types of nodes: • Factor node: Variable node: • Edges represent the dependency of factors on variables. Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 3 / 13 Factor Graphs p(v, w, x, y, z) = f1(v, w)f2(w, x)f3(x, y)f4(x, z) • What are the marginal distributions of the individual variables? • What is p(w)? • How do we compute conditional distributions, e.g. p(wjy)? For now, we will focus on tree-structured factor graphs. Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 4 / 13 Factor trees: separation (1) p(w) = f1(v, w)f2(w, x)f3(x, y)f4(x, z) v x y z X X X X • If w, v, x, y and z take K values each, we have ≈ 3K4 products and ≈ K4 sums, for each value of w, i.e. total O(K5). • Multiplication is distributive: ca + cb = c(a + b). The right hand side is more efficient! Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 5 / 13 Factor trees: separation (2) p(w) = f1(v, w)f2(w, x)f3(x, y)f4(x, z) v x y z hX X X Xi h i = f1(v, w) · f2(w, x)f3(x, y)f4(x, z) v x y z X X X X • In a tree, each node separates the graph into disjoint parts. • Grouping terms, we go from sums of products to products of sums. • The complexity is now O(K4). Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 6 / 13 Factor trees: separation (3) h i h i p(w) = f1(v, w) · f2(w, x)f3(x, y)f4(x, z) v x y z X X X X mf !w(w) m (w) 1 f2!w | {z } | {z } • Sums of products becomes products of sums of all messages from neighbouring factors to variable. Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 7 / 13 Messages: from factors to variables (1) mf2!w(w)= f2(w, x)f3(x, y)f4(x, z) x y z X X X Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 8 / 13 Messages: from factors to variables (2) mf2!w(w)= f2(w, x)f3(x, y)f4(x, z) x y z X X X h i = f2(w, x) · f3(x, y)f4(x, z) x y z X X X m (x) x!f2 | {z } • Factors only need to sum out all their local variables. Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 9 / 13 Messages: from variables to factors (1) mx!f2 (x)= f3(x, y)f4(x, z) y z X X Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 10 / 13 Messages: from variables to factors (2) mx!f2 (x)= f3(x, y)f4(x, z) y z hX X i h i = f3(x, y) · f4(x, z) y z X X m (x) mf !x(x) f3!x 4 | {z } | {z } • Variables pass on the product of all incoming messages. Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 11 / 13 Factor graph marginalisation: summary p(w) = f1(v, w)f2(w, x)f3(x, y)f4(x, z) v x y z hX X X Xi h hh i h iii = f1(v, w) · f2(w, x) · f3(x, y) · f4(x, z) v x y z X X X X mf !w(w) m (x) mf !x(x) 1 f3!x 4 | {z } m |(x) {z } | {z x}!f2 m (w) | f2!w {z } • The complexity is reduced| from O(K5) (naïve implementation){z to O(K}2). Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 12 / 13 The sum-product algorithm In summary, message passing involved three update equations: • Marginals are the product of all incoming messages from neighbour factors p(t) = mf!t(t) f2F Yt • Messages from factors sum out all variables except the receiving one mf!t1 (t1) = ... f(t1, t2,..., tn) mti!f(ti) t t t i6= X2 X3 Xn Y1 • Messages from variables are the product of all incoming messages except the message from the receiving factor p(t) mt!f(t) = mfj!t(t) = mf!t(t) fj2YFtnffg Messages are results of partial computations. Computations are localised. Carl Edward Rasmussen Factor Graphs and message passing October 28th, 2016 13 / 13.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us