Difference between revisions of "Belief Propagation"

From Cohen Courses
Jump to navigationJump to search
Line 26: Line 26:
 
In this example, we first show a simple case where the graph is a tree, then we will show the general form of BP messages in the next section.
 
In this example, we first show a simple case where the graph is a tree, then we will show the general form of BP messages in the next section.
 
Assume we have the following tree-structured MRF, and we pick <math>\mathbf{Z}</math> as the root node (technically, you can choose any node).  
 
Assume we have the following tree-structured MRF, and we pick <math>\mathbf{Z}</math> as the root node (technically, you can choose any node).  
 +
 
[[File:Binarytree.gif]]
 
[[File:Binarytree.gif]]
 +
 +
In the first step, we send messages from leaves to the top of the tree. The message passing process can be recognized as bottom-up dynamic programming as well. For example, to compute the possible value of <math>G</math> in message <math>m_{A,G}(G)</math> from node A to node G, we can calculate
 +
:<math>m_{A,G}(G) = \sum_{x_a} </math>
  
 
== The General Form of the Messages ==
 
== The General Form of the Messages ==

Revision as of 11:22, 27 September 2011

This is a method proposed by Judea Pearl, 1982: Reverend Bayes on inference engines: A distributed hierarchical approach, AAAI 1982.

Belief Propagation (BP) is a message passing inference method for statistical graphical models (e.g. Bayesian networks and Markov random fields). The basic idea is to compute the marginal distribution of unobserved nodes, based on the conditional distribution of observed nodes. There are two major cases:

  • When the graphical model is both a factor graph and a tree (no loops), the exact marginals can be obtained. This is also equivalent to dynamic programming and Viterbi.
  • Otherwise, loopy Belief Propagation will become an approximation inference algorithm.

Motivation: Marginals vs. Joint Maximizer

To compute marginals, we need to find:

where as to compute joint maximum likelihood, we need:

Unfortunately, for each random variable , it might have M possible states, so if we run search algorithms for all states, the complexity is , which is a computationally hard problem. As a result, we need to find better inference algorithms to solve the above problems.

Problem Formulation

In a generalized Markov random fields (MRFs), the log-likelihood model can be formalized as the following equation:

where as the partition function is:

Therefore, the two tasks here are: (1)compute the partition function (2)compute the marginals of

An Example with Tree-Structured MRF

In this example, we first show a simple case where the graph is a tree, then we will show the general form of BP messages in the next section. Assume we have the following tree-structured MRF, and we pick as the root node (technically, you can choose any node).

Binarytree.gif

In the first step, we send messages from leaves to the top of the tree. The message passing process can be recognized as bottom-up dynamic programming as well. For example, to compute the possible value of in message from node A to node G, we can calculate

The General Form of the Messages