Variational message passing
Variational message passing (VMP) is an approximate inference technique for continuous- or discrete-valued Bayesian networks, with conjugate-exponential parents, developed by John Winn. VMP was developed as a means of generalizing the approximate variational methods used by such techniques as latent Dirichlet allocation, and works by updating an approximate distribution at each node through messages in the node's Markov blanket. Likelihood lower bound. Given some set of hidden variables formula_1 and observed variables formula_2, the goal of approximate inference is to lower-bound the probability that a graphical model is in the configuration formula_2. Over  some probability distribution formula_4 (to be defined later), So, if we define our lower bound to be then the likelihood is simply this bound plus the relative entropy between formula_7 and formula_4. Because the relative entropy is non-negative, the function formula_9 defined above is indeed a lower bound of the log likelihood of our observation formula_2. The distribution formula_4 will have a simpler character than that of formula_7 because marginalizing over formula_7 is intractable for all but the simplest of graphical models. In particular, VMP uses a factorized distribution where formula_15 is a disjoint part of the graphical model . Determining the update rule. The likelihood estimate needs to be as large as possible; because it's a lower bound, getting closer formula_16 improves the approximation of the log likelihood. By substituting in the factorized version of formula_4, formula_18, parameterized over the hidden nodes formula_15 as above, is simply the negative relative entropy between formula_20 and formula_21 plus other terms independent of formula_20 if formula_21 is defined as where formula_25 is the expectation over all distributions formula_26 except formula_20. Thus, if we set formula_20 to be formula_21, the bound formula_9 is maximized. Messages in variational message passing. Parents send their  children the expectation of their sufficient statistic while children send their parents their natural parameter, which also requires messages to be sent from the co-parents of the node. Relationship to exponential families. Because all nodes in VMP come from exponential families and all parents of nodes are conjugate to their children nodes, the expectation of the sufficient statistic can be computed from the normalization factor. VMP algorithm. The algorithm begins by computing the expected value of the sufficient statistics for that vector. Then, until the likelihood converges to a stable value (this is usually accomplished by setting a small  threshold value and running the algorithm until it increases by less than that threshold value), do the following at each node: Constraints. Because every child must be conjugate to its parent, this has limited the types of distributions that can be used in the model. For example, the parents of a Gaussian distribution must be a Gaussian distribution (corresponding to the Mean) and a gamma distribution (corresponding to the precision, or one over formula_31 in more common parameterizations). Discrete variables can have Dirichlet parents, and Poisson and exponential nodes must have gamma parents. More recently, VMP has been extended to  handle models that violate this conditional conjugacy constraint.