Can anyone help me in understanding how Expectation Propagation updates are computed when we have a function on several variables? Like this example: http://research.microsoft.com/en-us/um/cambridge/projects/infernet/docs/How%20to%20add%20a%20new%20factor%20and%20message%20operators.aspx This is a sum function. But for EP, we should have a factorized term. So how these mean and variance for each element in this sum is computed?
-
2$\begingroup$ Can you explain to us what is EP? $\endgroup$– kjetil b halvorsen ♦Commented Oct 23, 2014 at 13:58
-
$\begingroup$ Sorry I edited my post. It's Expectation Propagation for Bayesian learning. $\endgroup$– user3034939Commented Oct 23, 2014 at 14:40
1 Answer
The updates on that page come from belief propagation (a special case of EP). The general formula for belief propagation messages is: $$ m_{a \rightarrow i}(x_i) \propto \int_{\mathbf{x} \backslash x_i} f_a(\mathbf{x}) \prod_{j \ne i} m_{j \rightarrow a}(x_j) dx_j $$ For the sum factor, $f_a(\mathbf{x}) = \delta(x_c - \sum_{i \ne c} x_i)$ where $x_c$ is the child of the factor and the rest are parents. $\delta$ is the Dirac delta function. The messages $m_{j \rightarrow a}$ are Gaussians. If you let $i=c$ then you get the downward message on that page, otherwise you get the upward message.