Bayesian approach with prior models which enforce sparsity in signal and image processing

Abstract

In this review article, we propose to use the Bayesian inference approach for inverse problems in signal and image processing, where we want to infer on sparse signals or images. The sparsity may be directly on the original space or in a transformed space. Here, we consider it directly on the original space (impulsive signals). To enforce the sparsity, we consider the probabilistic models and try to give an exhaustive list of such prior models and try to classify them. These models are either heavy tailed (generalized Gaussian, symmetric Weibull, Student-t or Cauchy, elastic net, generalized hyperbolic and Dirichlet) or mixture models (mixture of Gaussians, Bernoulli-Gaussian, Bernoulli-Gamma, mixture of translated Gaussians, mixture of multinomial, etc.). Depending on the prior model selected, the Bayesian computations (optimization for the joint maximum a posteriori (MAP) estimate or MCMC or variational Bayes approximations (VBA) for posterior means (PM) or complete density estimation) may become more complex. We propose these models, discuss on different possible Bayesian estimators, drive the corresponding appropriate algorithms, and discuss on their corresponding relative complexities and performances.

1 Introduction

In many generic inverse problems in signal and image processing we want to infer on an unknown signal f(t) or an unknown image f(r) with r= (x, y) through an observed signal g(s) or an observed image g(s) related between them through an operator $ℋ$ such as convolution g = h * f or any other linear or non linear transformation $g=ℋf$. When this relation is linear and we have discretized the problem, we arrive to the relation:

$\mathbit{g}=\mathbit{H}\mathbit{f}+\epsilon ,$
(1)

where f= [f1, ..., f n ]' represents the unknowns, g= [g1, ..., g m ]' the observed data, ϵ= [ϵ1, ..., ϵ m ]' the errors of modeling and measurement and H the matrix of the system response. We may note that, even if the noise could be neglected (ϵ= 0) and the matrix H invertible (m = n), in general, the solution $\stackrel{^}{\mathbit{f}}={\mathbit{H}}^{-1}\mathbit{g}$ is not forcibly the good solution, because this solution may be too sensitive to small changes in the data due to the ill-conditioning of this matrix. for the general case of mn, one tries to obtain a regularized solution, for example by defining it as the optimizer of a two parts criterion

$\stackrel{^}{\mathbit{f}}=\text{arg}\underset{f}{\text{min}}\left\{J\left(\mathbit{f}\right)={∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}+\lambda {∥\mathbit{f}∥}^{2}\right\}$
(2)

which is given by $\stackrel{^}{\mathbit{f}}={\left[{\mathbit{H}\mathbit{H}}^{\prime }+\lambda \mathbit{I}\right]}^{-1}{\mathbit{H}}^{\prime }\mathbit{g}$. When the regularization parameter λ = 0, one gets a generalized inverse $\stackrel{^}{\mathbit{f}}={\left[{\mathbit{H}\mathbit{H}}^{\prime }\right]}^{-1}{\mathbit{H}}^{\prime }\mathbit{g}$ and when H invertible, one gets the normal inverse solution $\stackrel{^}{\mathbit{f}}={\mathbit{H}}^{-1}\mathbit{g}$. The regularization theory has been developed since the pioneer work of Tikhonov [1] and Tikhonov and Arsénine [2] who had introduced a quadratic regularization terms to account for some prior properties of the solution (smoothness). Since that, many different regularization terms have been proposed. In particular, in place of L2 norm: ${L}_{2}\left(\mathbit{f}\right)={∥\mathbit{f}∥}_{2}^{2}={\sum }_{j}{\left|{f}_{j}\right|}^{2}$, it has been proposed to use the L0 norm ${L}_{0}\left(\mathbit{f}\right)={∥\mathbit{f}∥}_{0}={\sum }_{j}\delta \left({f}_{j}\right)$ or the L1 norm L1(f) = ||f||1 = Σ j |f j | to enforce the sparsity of the solution [311]. Then, due to the fact that L0(f) is not convex and L1(f) is convex, but not continuous, the optimization of a criterion with these expressions becomes more difficult than the L2 norm case. For this reason, there was a great number of works who specialized in proposing algorithms for the optimization of such criteria.

Interestingly, defining the solution of the problem (1) as the optimization of a criterion with two parts can be assimilated to a maximum a posteriori (MAP) solution in a Bayesian approach where the first term of the criterion (2) can be related to the likelihood and the second term to a prior model as we will see in the following where the main objective is to show how the Bayesian approach can go farther than the regularization in at least the following aspects:

• A better account for the noise term characteristics;

• A better and easier way for translating the prior knowledge and in particular the sparsity;

• New tools for assessing the regularization parameter, a great subject of discussion for all those work with regularization theory;

• New solutions and new tools for doing computations (optimizations and integrations).

1.1 The Bayesian approach

The Bayesian inference approach is based on the posterior law:

$p\left(\mathbit{f}|\mathbit{g},{\mathbit{\theta }}_{1},{\mathbit{\theta }}_{2}\right)=\frac{p\left(\mathbit{g}|\mathbit{f},{\mathbit{\theta }}_{1}\right)p\left(\mathbit{f}|{\mathbit{\theta }}_{2}\right)}{p\left(\mathbit{g}|{\mathbit{\theta }}_{1},{\mathbit{\theta }}_{2}\right)}\propto p\left(\mathbit{g}|\mathbit{f},{\mathbit{\theta }}_{1}\right)p\left(\mathbit{f}|{\mathbit{\theta }}_{2}\right)$
(3)

where the sign stands for "proportional to", p(g|f, θ1) is the likelihood, p(f|θ2) the prior model, θ= (θ1, θ2) are their corresponding parameters (often called the hyper parameters of the problem) and p(g|θ1, θ2) is called the evidence of the model.

This general Bayesian approach is illustrated as follows:

In this approach, the likelihood p(g|f, θ1) summarizes our knowledge about the noise and the model linking the observed data g to the unknowns f and the prior term p(f|θ2) summarizes our incomplete prior knowledge about the unknowns and the posterior law p(f|g, θ) combines these two terms and contains all our state of knowledge about the unknowns f after accounting for the prior and the observed data.

As a very simple example, when the noise is assumed to be Gaussian, then the MAP solution $\stackrel{^}{\mathbit{f}}=\text{arg}\underset{\mathbit{f}}{\text{max}}\left\{p\left(\mathbit{f}\left|\mathbit{g},\theta \right\right)\right\}$ is obtained as the optimizer of the criterion J(f) = ||g- Hf||2 + λ Ω(f) where the expression of Ω(f) depends on the prior law. When the prior knowledge is translated as a Gaussian probability law, then $\Omega \left(\mathbit{f}\right)={∥\mathbit{f}∥}_{2}^{2}$ and when it is translated as a Laplace probability law, then Ω(f) = ||f||1 [1214].

The first interest of using the Bayesian approach to the regularization approach is to have new tools for handling the hyper parameters [15].

1.2 Full Bayesian approach

When the parameters θ have to be estimated too, we can assign them a prior p(θ|θ0) with fixed values for θ0 (often called hyper-hyper-parameters) and express the joint posterior

$p\left(\mathbit{f},\theta \left|\mathbit{g},{\theta }_{0}\right\right)=\frac{p\left(\mathbit{g}\left|\mathbit{f},{\theta }_{1}\right\right)p\left(\mathbit{f}\left|{\theta }_{2}\right\right)p\left(\theta \left|{\theta }_{0}\right\right)}{p\left(\mathbit{g}\left|{\theta }_{0}\right\right)}$
(4)

and then try to estimate them jointly, for example joint MAP [16]:

$\left(\stackrel{^}{\mathbit{f}},\stackrel{^}{\theta }\right)=\text{arg}\underset{\left(\mathbit{f},\theta \right)}{\text{max}}\left\{p\left(\mathbit{f},\theta \left|\mathbit{g},{\theta }_{0}\right\right)\right\}$
(5)

This Full Bayesian approach is illustrated as follows:

One may also first integrate out one of them, for example f to obtain

$p\left(\theta \left|\mathbit{g},{\theta }_{0}\right\right)=\int p\left(\mathbit{f},\theta \left|\mathbit{g},{\theta }_{0}\right\right)\phantom{\rule{0.3em}{0ex}}\mathsf{\text{d}}\mathbit{f},$
(6)

estimate θ, for example by

$\stackrel{^}{\theta }=\text{arg}\underset{\theta }{\text{max}}\left\{p\left(\theta \left|\mathbit{g},{\theta }_{0}\right\right)\right\}$
(7)

and then use it for the estimation of the other one using $p\left(\mathbit{f}\left|\mathbit{g},\stackrel{^}{\theta }\right\right)$.

This approach (called sometimes type II maximum likelihood) is illustrated as follows:

However, very often this marginalization cannot be done analytically and so the optimization for the estimation of θ cannot be achieved. In such cases, the expectation-maximization (EM) algorithms can be helpful [17]. Considering g as incomplete data, f as hidden variable, (g, f) as complete data and noting ln p(g|θ) as incomplete data log-likelihood and ln p(g, f|θ) complete data log-likelihood, the classical EM algorithm writes:

(8)

The Bayesian version (Bayesian EM) is not very far and differs only by the introduction of p(θ):

(9)

This is illustrated as follows:

As we mentioned before, one of the main steps in the Bayesian approach is the prior modeling which has the role of translating our prior knowledge on the unknown signal or image in a probability law. Sparsity is one of the prior knowledge we may translate. The main objective of this article is to see what are the different possibilities.

1.3 Prior modeling

In this article, we propose different prior modeling for signals and images which can be used in a Bayesian inference approach in many inverse problems in signal and image processing where we want to infer on sparse signals or images. The sparsity may be directly on the original space or in a transformed space (see Figures 1, 2, 3, and 4). In this article, we consider the sparsity directly in the original domain.

The prior models discussed are the following:

• generalized Gaussian (GG) with Gaussian (G) and Laplace or double exponential (DE) as particular cases;

• symmetric Weibull (W) with symmetric Rayleigh (R) and again the DE as particular cases;

• Student-t (St) with Cauchy (C) as particular case;

• Elastic net prior model;

• generalized hyperbolic model;

• Dirichlet and symmetric Dirichlet;

• Mixture of two centered Gaussians (MoG2), one with very small and one with a large variances;

• Bernoulli-Gaussian (BG), also called Spike and slab;

• Mixture of two Gammas (MoGamm);

• Bernoulli-Gamma (BGamma);

• Mixture of three Gaussians (MoG3), one centered with very small variance and two symmetrically centered on positive and negative axes and large variances;

• Mixture of one Gaussian and two Gammas (MoGGammas), and in a more summary the case of

• Bernoulli-Multinomial (BMult) or mixture of Dirichlet (MoD).

Some of these models are well-known [1214, 1826], some others less. In general, we can classify them into two categories: (i) simple non Gaussian models with heavy tails and (ii) mixture models with hidden variables which result to hierarchical models.

In the Section 2, we give more details about the sparsity and all these prior models which enforce the sparsity.

1.4 Bayesian computation

The second main step in the Bayesian approach is to do the computations. Depending on the prior model selected, the Bayesian computations needed are:

• For simple prior models:

• Simple optimization of p(f|θ, g) for the MAP:

• Joint optimization p(f, θ|g) for joint MAP:

• Generation of samples from the conditionals p(f|θ, g) and p(θ|f, g) for the MCMC Gibbs sampling methods,

• Variational approximation (VA) of the joint p(f, θ|g) by a separable

$q\left(\mathbit{f},\theta \left|\mathbit{g}\right\right)={q}_{1}\left(\mathbit{f}\left|\stackrel{̃}{\theta }\right,\mathbit{g}\right)\phantom{\rule{2.77695pt}{0ex}}{q}_{2}\left(\theta \left|\stackrel{̃}{\mathbit{f}},\mathbit{g}\right\right)$

and then using them for estimation

• For hierarchical prior models with hidden variables z:

• Joint optimization p(f, z, θ|g) for joint MAP,

• Generation of samples from the conditionals p(f|z, θ, g), p(θ|z, f, g) and p(z|f, θ, g) for the MCMC Gibbs sampling methods:

• Variational approximation (VA) of the joint p(f, z, θ|g) by a separable

$q\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)={q}_{1}\left(\mathbit{f}\left|\stackrel{̃}{z},\stackrel{̃}{\theta },\mathbit{g}\right\right)\phantom{\rule{2.77695pt}{0ex}}{q}_{2}\left(\mathbit{z}\left|\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\theta },\mathbit{g}\right\right){q}_{3}\left(\theta \left|\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\mathbit{f}},\mathbit{g}\right\right)$

and then using them for estimation

The rest of the article is organized as follows:

In Section 2, we present in details the proposed prior models and discuss their properties. For example, we will see that the Student-t model can be interpreted as an infinite mixture with a variance hidden variable or that the BG model can be considered as the degenerate case of a MoG2 where one of the variances go to zero. Also, we will examine the less known models of MoG3 and MoGGammas where the heavy tails are obtained by combining a centered Gaussian and two large variance non-centered Gaussians or Gammas.

In Section 3, we examine the expression of the posterior laws that we obtain using these priors and discuss then on complexity of the Bayesian computation of the algorithms. In particular for the mixture models, we give details of the joint estimation of the signal and the hidden variable as well as the hyper parameters (parameters of the mixtures and the noise) for unsupervised cases.

In Section 4, we give more details on the variational Bayesian approximation method, first for the general case and then for the case of mixture laws and more specifically the case of the Student-t considered as a continuous mixture.

Finally, we present the main conclusions of this article in Section 5.

2 Prior models enforcing sparsity

First, as we mentioned, the sparsity is a property which can be described either directly for the signal itself or after some transformation, for example on the derivative of the signal, or in more general on the coefficients of the projection of the signal on any basis or any set of functions.

Different prior models have been used to enforce sparsity.

2.1 Generalized Gaussian (GG), Gaussian (G) and double exponentials (DE) models

This is the simplest and the most used model (see for example, [27]). Its expression is:

$p\left(\mathbit{f}\left|\gamma ,\beta \right\right)=\prod _{j}\mathcal{G}\mathcal{G}\left({f}_{j}\left|\gamma ,\beta \right\right)\propto \text{exp}\left\{-\gamma \sum _{j}{\left|{f}_{j}\right|}^{\beta }\right\}$
(10)

where

$\mathcal{G}\mathcal{G}\left({f}_{j}\left|\gamma ,\beta \right\right)=\frac{\beta \gamma }{2\Gamma \left(1/\beta \right)}\text{exp}\left\{-\gamma {\left|{f}_{j}\right|}^{\beta }\right\}.$
(11)

Two particular cases are of importance:

• β = 2 (Gaussian):

$\begin{array}{ll}\hfill p\left(\mathbit{f}\left|\gamma \right\right)=\prod _{j}\mathcal{N}\left({f}_{j}\left|0,1/\left(2\gamma \right)\right\right)& \propto \text{exp}\left\{-\gamma \sum _{j}{\left|{f}_{j}\right|}^{2}\right\}\phantom{\rule{2em}{0ex}}\\ \propto \text{exp}\left\{-\gamma {∥f∥}_{2}^{2}\right\}\phantom{\rule{2em}{0ex}}\end{array}$
(12)
• β = 1 (double exponential or Laplace):

$\begin{array}{ll}\hfill p\left(\mathbit{f}\left|\gamma \right\right)=\prod _{j}\mathcal{D}ℰ\left({f}_{j}\left|\gamma \right\right)& \propto \text{exp}\left\{-\gamma \sum _{j}\left|{f}_{j}\right|\right\}\phantom{\rule{2em}{0ex}}\\ \propto \text{exp}\left\{-\gamma {∥\mathbit{f}∥}_{1}\right\}\phantom{\rule{2em}{0ex}}\end{array}$
(13)

The general shape of these priors are shown in Figure 5, where the cases β = 1 and 0 < β < 1, which are of great interest for sparsity enforcing are compared to the Gaussian case β = 2.

2.2 Symmetric Weibull (W) and symmetric Rayleigh (R) models

The second model we consider is the symmetric Weibull probability density function (pdf):

$\begin{array}{ll}\hfill p\left(\mathbit{f}\left|\gamma ,\beta \right\right)& =\prod _{j}\mathcal{W}\left({f}_{j}\left|\gamma ,\beta \right\right)\phantom{\rule{2em}{0ex}}\\ \propto \text{exp}\left\{-\gamma \sum _{j}{\left|{f}_{j}\right|}^{\beta }+\left(\beta -1\right)\text{log}\left|{f}_{j}\right|\right\}\phantom{\rule{2em}{0ex}}\end{array}$
(14)

where

$\mathcal{W}\left({f}_{j}\left|\gamma ,\beta \right\right)=c{\left|{f}_{j}\right|}^{\left(\beta -1\right)}\text{exp}\left\{-\gamma {\left|{f}_{j}\right|}^{\beta }\right\}$
(15)

and where γ > 0 and β > 0, and the particular cases of β = 1 is the double exponential and β = 2 is the symmetric Rayleigh distribution:

$p\left(\mathbit{f}\left|\gamma ,\beta \right\right)=\prod _{j}ℛ\left({f}_{j}\left|\gamma \right\right)\propto \text{exp}\left\{-\gamma \sum _{j}{\left|{f}_{j}\right|}^{2}+\text{log}\left|{f}_{j}\right|\right\}$
(16)

the cases where 0 < β < 1 are of great interest for sparsity enforcing. This family of models are illustrated on Figure 6.

2.3 Student-t (St) and Cauchy (C) models

The second simplest model is the Student-t model:

$p\left(\mathbit{f}\left|\nu \right\right)=\prod _{j}\mathcal{S}t\left({f}_{j}\left|\nu \right\right)\propto \text{exp}\left\{-\frac{\nu +1}{2}\sum _{j}\text{log}\left(1+{f}_{j}^{2}/\nu \right)\right\}$
(17)

where

$\mathcal{S}t\left({f}_{j}\left|\nu \right\right)=\frac{1}{\sqrt{\pi \nu }}\frac{\Gamma \left(\left(\nu +1\right)/2\right)}{\Gamma \left(\nu /2\right)}{\left(1+{f}_{j}^{2}/\nu \right)}^{-\left(\nu +1\right)/2}$
(18)

Knowing that

$\mathcal{S}t\left({f}_{j}\left|\nu \right\right)={\int }_{0}^{\infty }\mathcal{N}\left({f}_{j}\left|0,1/{\tau }_{j}\right\right)\mathcal{G}\left({\tau }_{j}\left|\nu \right/2,\nu /2\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}{\tau }_{j}$
(19)

we can write this model via the positive hidden variables τ j :

$\begin{array}{ll}\hfill p\left(\mathbit{f},\tau \right)& ={\prod }_{j}p\left({f}_{j}\left|{\tau }_{j}\right\right)={\prod }_{j}\mathcal{N}\left({f}_{j}\left|0,1/{\tau }_{j}\right\right)\phantom{\rule{2em}{0ex}}\\ \propto \text{exp}\left\{-\frac{1}{2}{\sum }_{j}{\tau }_{j}{f}_{j}^{2}\right\}\phantom{\rule{2em}{0ex}}\\ \hfill p\left({\tau }_{j}\left|a,b\right\right)& =\mathcal{G}\left({\tau }_{j}\left|a,b\right\right)\propto {{\tau }_{j}}^{\left(a-1\right)}\text{exp}\left\{-b{\tau }_{j}\right\}\phantom{\rule{2em}{0ex}}\\ \mathsf{\text{with}}\phantom{\rule{2.77695pt}{0ex}}a=b=\nu /2\phantom{\rule{2em}{0ex}}\end{array}$
(20)

Cauchy model is obtained when ν = 1:

$p\left(\mathbit{f}\right)=\prod _{j}\mathcal{C}\left({f}_{j}\right)\propto \text{exp}\left\{-\sum _{j}\text{log}\left(1+{f}_{j}^{2}\right)\right\}$
(21)

This family of models are illustrated on Figure 7.

2.4 Elastic Net (EN) prior model

A prior model inspired from elastic net regression literature [28] is:

$p\left(\mathbit{f}\left|\nu \right\right)=\prod _{j}ℰ\mathcal{N}\left({f}_{j}\left|\nu \right\right)\propto \text{exp}\left\{-\sum _{j}\left({\gamma }_{1}\left|{f}_{j}\left|+{\gamma }_{2}{f}_{j}^{2}\right\right\right)\right\}$
(22)

where

$ℰ\mathcal{N}\left({f}_{j}|\nu \right)=\mathcal{N}\left(0,1/{\gamma }_{1}\right)\mathcal{D}ℰ\left({\gamma }_{1}\right)\propto \mathrm{exp}\left\{-{\gamma }_{1}|{f}_{j}|-{\gamma }_{2}{f}_{j}^{2}\right)\right\}$
(23)

which is a product of a Gaussian and a double exponential pdfs. This family of models are illustrated on Figure 8.

2.5 Generalized hyperbolic (GH) prior model

Another general prior model which can be used is:

$\begin{array}{ll}\hfill p\left(\mathbit{f}\left|\delta ,\nu ,\beta \right\right)& ={\prod }_{j}{\left({\delta }^{2}+{f}_{j}^{2}\right)}^{\left(\nu -1/2\right)/2}\text{exp}\left\{\beta x\right\}\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{K}_{\nu -1/2}\left(\alpha \sqrt{{\delta }^{2}+{f}_{j}^{2}}\right)\phantom{\rule{2em}{0ex}}\end{array}$
(24)

where Kν-1/2is the second kind Bessel function of order (ν - 1/2). This family of models are illustrated on Figure 9.

2.6 Dirichlet (D) and symmetric Dirichlet (SD) models

When f j are positive and sums to one, we can use the Dirichlet model

$\mathcal{D}\left(\mathbit{f}\left|\alpha \right\right)\propto \prod _{j}{f}_{j}^{{\alpha }_{j}-1}\phantom{\rule{1em}{0ex}}\mathsf{\text{with}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}{f}_{j}>0,\phantom{\rule{1em}{0ex}}\sum _{j}{f}_{j}=1$
(25)

where α= {α1, ..., α N } with α j > 0. The proportionality constant is

$B\left(\alpha \right)=\frac{{\prod }_{j}\Gamma \left({\alpha }_{j}\right)}{\Gamma \left({\sum }_{j}\Gamma \left({\alpha }_{j}\right)\right)}$
(26)

It is noted that the support of this distribution is [0,1]Nand ||f||1 = Σ j f j = 1.

It is also interesting to note that the domain of the Dirichlet distribution is itself a probability distribution, specifically a N-dimensional discrete distribution and the set of points in the support of a N-dimensional Dirichlet distribution is the open standard N - 1-simplex, which is a generalization of a triangle, embedded in the next-higher dimension.

A very common special case is the symmetric Dirichlet (SD) distribution, where all of the elements making up the parameter vector α have the same value α called the concentration parameter:

$\mathcal{D}\left(\mathbit{f}\left|\alpha \right\right)\propto \prod _{j}{f}_{j}^{\alpha -1}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{with}}\phantom{\rule{2.77695pt}{0ex}}{f}_{j}>\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{0,}}\phantom{\rule{1em}{0ex}}\sum _{j}{f}_{j}=1$
(27)

When α > 1, the symmetric Dirichlet distribution is equivalent to a uniform distribution over the open standard standard N - 1-simplex, i.e., it is uniform over all points in its support. α > 1 prefer variants that are dense, evenly-distributed distributions, i.e., all probabilities f j returned are similar to each other. α < 1 prefer sparse distributions, i.e., most of the probabilities f j returned will be close to 0, and the vast majority of the mass will be concentrated in a few of them. This is the case on which we are interested. An illustration of this family of models are illustrated on Figure 10.

2.7 Mixture of two Gaussians (MoG2) model

The mixture models are also very commonly used as prior models. In particular the mixture of two Gaussians (MoG2) model:

$p\left(\mathbit{f}\left|\lambda ,{v}_{1},{v}_{0}\right\right)=\prod _{j}\left(\lambda \mathcal{N}\left({f}_{j}\left|0,{v}_{1}\right\right)+\left(1-\lambda \right)\mathcal{N}\left({f}_{j}\left|0,{v}_{0}\right\right)\right)$
(28)

which can also be expressed through the binary valued hidden variables z j {0,1}

$\left\{\begin{array}{c}\begin{array}{c}p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}p\left({f}_{j}\left|{z}_{j}\right\right)={\prod }_{j}\mathcal{N}\left({f}_{j}\left|0,{v}_{{z}_{j}}\right\right)\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\propto \text{exp}\left\{-\frac{1}{2}{\sum }_{j}\frac{{f}_{j}^{2}}{{v}_{{z}_{j}}}\right\}\end{array}\hfill \\ P\left({z}_{j}=1\right)=\lambda ,\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}P\left({z}_{j}=0\right)=1-\lambda \hfill \end{array}\right\$
(29)

In general v1 >> v0 and λ measures the sparsity (0 < λ << 1). This family of models are illustrated on Figure 11.

2.8 Bernoulli-Gaussian (BG) model

The Bernoulli-Gaussian model can be considered as the particular case of the MoG2 with the particular degenerate case of v0 = 0:

$p\left(\mathbit{f}\left|\lambda ,v\right\right)=\prod _{j}p\left({f}_{j}\right)=\prod _{j}\left(\lambda \mathcal{N}\left({f}_{j}\left|0,v\right\right)+\left(1-\lambda \right)\delta \left({f}_{j}\right)\right)$
(30)

which can also be written as

$\left\{\begin{array}{c}\begin{array}{c}p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}p\left({f}_{j}\left|{z}_{j}\right\right)={\prod }_{j}{\left[\mathcal{N}\left({f}_{j}\left|0,v\right\right)\right]}^{\delta \left({z}_{j}\right)}\hfill \\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{{\prod }_{j}\left[\delta \left({f}_{j}\right)\right]}^{\delta \left(1-{z}_{j}\right)}\hfill \end{array}\\ P\left({z}_{j}=1\right)=\lambda ,\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}P\left({z}_{j}=0\right)=1-\lambda \end{array}\right\$
(31)

This model has also been called spike and slab. This family of models are illustrated on Figure 12.

2.9 Mixture of three Gaussians (MoG3) model

Another mixture model proposed is using a Mixture of three Gaussians, one centered at zero and two symmetrically placed:

(32)

which can also be expressed through the ternary valued hidden variables z j {-1, 0, +1}

$\left\{\begin{array}{c}p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}p\left({f}_{j}\left|{z}_{j}\right\right)={\prod }_{j}\mathcal{N}\left({f}_{j}\left|{z}_{j}\beta ,{v}_{{z}_{j}}\right\right)\hfill \\ P\left({z}_{j}=1\right)=\lambda /2,\hfill \\ \begin{array}{c}P\left({z}_{j}=-1\right)=\lambda /2,\\ P\left({z}_{j}=0\right)=1-\lambda .\end{array}\hfill \end{array}\right\$
(33)

In general v+1 = v-1 = v >> v0 and λ measures the sparsity (0 < λ << 1). This family of models are illustrated on Figure 13.

2.10 Mixture of one Gaussian and two Gammas (MoGGammas) model

Another mixture model proposed is using a mixture of one central Gaussian and two symmetric Gammas:

(34)

which can also be expressed through the ternary valued hidden variables z j {-1, 0, +1}

$\left\{\begin{array}{c}p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}\left({f}_{j}\left|{z}_{j}\right\right)={\left[\mathcal{N}\left({f}_{j}\left|0,{v}_{0}\right\right)\right]}^{{\sum }_{j}\delta \left({z}_{j}\right)}×\hfill \\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}{\left[\mathcal{G}\left({f}_{j}\left|\alpha ,\beta \right\right)\right]}^{{\sum }_{j}\delta \left({z}_{j}-1\right)}×\hfill \\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}{\left[\mathcal{G}\left(-{f}_{j}\left|\alpha ,\beta \right\right)\right]}^{{\sum }_{j}\delta \left({z}_{j}+1\right)}\hfill \\ P\left({z}_{j}=1\right)=\lambda /2,\hfill \\ P\left({z}_{j}=-1\right)=\lambda /2,\hfill \\ P\left({z}_{j}=0\right)=1-\lambda .\hfill \end{array}\right\$
(35)

This family of models are illustrated on Figure 14.

2.11 Bernoulli-Gamma (BGamma) model

As in the BG model, when we want to enforce both sparsity and positivity, we can use the BGamma model:

$p\left(\mathbit{f}\left|\lambda ,\alpha \right,\beta \right)=\prod _{j}\left[\lambda \delta \left({f}_{j}\right)+\left(1-\lambda \right)\mathcal{G}\left({f}_{j}\left|\alpha ,\beta \right\right)\right]$
(36)

or

$\left\{\begin{array}{c}\begin{array}{c}p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}p\left({f}_{j}\left|{z}_{j}\right\right)={\prod }_{j}\left[{z}_{j}\mathcal{G}\left({f}_{j}\left|\alpha ,\beta \right\right)\right]\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}{\prod }_{j}\left[\left(1-{z}_{j}\right)\delta \left({f}_{j}\right)\right]\end{array}\hfill \\ P\left({z}_{j}=1\right)=\lambda ,\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}P\left({z}_{j}=0\right)=1-\lambda \hfill \end{array}\right\$
(37)

A particular case of this model is Bernoulli-exponential (BExponential) which obtained when α = 1. These families of models are illustrated on Figure 15 and Figure 16.

2.12 Mixture of Dirichlet (MoD) model

• Mixture of Dirichlet model

$p\left(\mathbit{f}\left|\lambda ,{\alpha }_{1},{\alpha }_{2}\right\right)=\lambda \mathcal{D}\left(\mathbit{f}\left|{\alpha }_{1}\right\right)+\left(1-\lambda \right)\mathcal{D}\left(\mathbit{f}\left|{\alpha }_{2}\right\right)$
(38)

where

$\mathcal{D}\left(\mathbit{f}\left|\alpha \right\right)\propto \prod _{j}{f}_{j}^{\alpha -1}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{with}}\phantom{\rule{2.77695pt}{0ex}}{f}_{j}>0,\sum _{j}{f}_{j}=1$
(39)

is the symmetric Dirichlet distribution. We need to choose α1 > 1 for dense part and 0 < α2 < 1 for the sparse part.

2.13 Bernoulli-multinomial (BMultinomial) model

As in the BG or BGamma model, when we know that the signal is sparse and can only take one of the K discrete values {a1, ..., a K }, we can use the BMultinomial model:

$p\left(\mathbit{f}\left|\lambda ,\mathbit{a},\alpha \right\right)=\prod _{j}\lambda ℳult\left({f}_{j}\left|\mathbit{a},\alpha \right\right)+\left(1-\lambda \right)\delta \left({f}_{j}\right)$
(40)

where a= {a1, ..., a K } and α= {α1, ..., α K } with ∑ k α k = 1 and

$ℳult\left({f}_{j}\left|\mathbit{a},\alpha \right\right)=\frac{n!}{{a}_{1}!\dots {a}_{K}!}\prod _{k}{\alpha }_{k}^{{a}_{j}}$

or

$\left\{\begin{array}{c}\begin{array}{c}p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}p\left({f}_{j}\left|{z}_{j}\right\right)={\prod }_{j}\left[{z}_{j}ℳult\left({f}_{j}\left|\alpha \right\right)\right]\hfill \\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{0.3em}{0ex}}{\prod }_{j}\left[\left(1-{z}_{j}\right)\delta \left({f}_{j}\right)\right]\hfill \end{array}\\ P\left({z}_{j}=1\right)=\lambda ,\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}P\left({z}_{j}=0\right)=1-\lambda \end{array}\right\$
(41)

3 Bayesian inference with sparsity enforcing priors

The priors proposed can be used in a Bayesian approach to infer on f given the observed data g through the posterior law given in Equation (3). First let assume the error ϵ to be centered, Gaussian and white: $\epsilon ~\mathcal{N}\left(\epsilon \left|0,{v}_{\epsilon }I\right\right)$. Then, using the forward model (1) we have

$p\left(\mathbit{g}\left|\mathbit{f}\right\right)=\mathcal{N}\left(\mathbit{H}\mathbit{f},{v}_{\epsilon }\mathbit{I}\right)\propto \text{exp}\left\{\frac{1}{2{v}_{\epsilon }}{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}\right\}$
(42)

Now, we consider different priors.

3.1 Simple prior models

Given p(g|f) and any simple prior law p(f), the posterior law is written:

$p\left(\mathbit{f}\left|\mathbit{g}\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f}\right\right)p\left(\mathbit{f}\right)\propto \text{exp}\left\{J\left(\mathbit{f}\right)\right\}$
(43)

with

$J\left(\mathbit{f}\right)=\frac{1}{2{v}_{\epsilon }}{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}+\Omega \left(\mathbit{f}\right)$
(44)

where Ω(f) = -ln p(f) and so the Maximum A Posteriori (MAP) solution is expressed as the minimizer of this criterion which has two parts: the first part is due to the likelihood and the second part is due to the prior:

Thus, depending on the choice of the prior we obtain different expressions for Ω(f). For example for the GG model of (10) we get

$\Omega \left(\mathbit{f}\right)=\gamma \sum _{j}{|{f}_{j}|}^{\beta }\right).$
(45)

For the symmetric Weibull model (14) we get

$\Omega \left(\mathbit{f}\right)=-\gamma \sum _{j}{\left|{f}_{j}\right|}^{\beta }+\left(\beta -1\right)\text{log}\left|{f}_{j}\right|.$
(46)

For the Student-t model (17) we get

$\Omega \left(\mathbit{f}\right)=\frac{\nu +1}{2}\sum _{j}\text{log}\left(1+{f}_{j}^{2}/v\right).$
(47)

For the elastic net model we get

$\Omega \left(\mathbit{f}\right)=\sum _{j}\left[{\gamma }_{1}\left|{f}_{j}\right|+{\gamma }_{2}{f}_{j}^{2}\right]$
(48)

and for the Dirichlet model we get

$\Omega \left(\mathbit{f}\right)=\sum _{j}{f}_{j}^{\alpha -1},\phantom{\rule{1em}{0ex}}{f}_{j}>0,\phantom{\rule{1em}{0ex}}\sum _{j}{f}_{j}=1.$
(49)

For each of these cases, we may discuss on the unimodality and convexity of the criterion J(f) which depends mainly on its Hessian

$\begin{array}{ll}\hfill \mathbf{\Delta }J\left(\mathbit{f}\right)& =\left[\frac{{\partial }^{2}J\left(\mathbit{f}\right)}{\partial {f}_{j}\partial {f}_{i}}\right]={\mathbit{H}}^{\prime }\mathbit{H}+\left[\frac{{\partial }^{2}\Omega \left(\mathbit{f}\right)}{\partial {f}_{i}\partial {f}_{j}}\right]\phantom{\rule{2em}{0ex}}\\ ={\mathbit{H}}^{\prime }\mathbit{H}+\left[\frac{{\partial }^{2}\Omega \left(\mathbit{f}\right)}{\partial {f}_{j}^{2}}\right]\phantom{\rule{2em}{0ex}}\end{array}$
(50)

We may look at each case to examine the range of the parameters for which this Hessian matrix is positive definite.

The optimization is done iteratively:

Update operation can be additive, multiplicative or more complex. Updating steps α(k)can be fixed or computed adaptively at each step (steepest descent for example). δ f(k)can be, for example proportional to the gradient, in which case, we have

We may also consider to estimate some of these parameters by assigning them appropriate priors and then express the joint p(f, θ|g, θ0) as given in Equation (4) and then try to estimate them jointly, for example joint MAP:

or alternate optimization:

We may also want to explore this joint posterior by generating samples from it. This can be done, for example, through the following Gibbs sampling scheme:

When a great number of samples are thus generated, we may compute their means, variances or any other statistics about them.

Finally, we may try to approximate this joint posterior by a simpler one, for example by a separable q(f, θ) = q1(f) q2(θ) using the variational approximation (VA). The main idea and the main basic steps to achieve this is more detailed in the following section. Here, however, we present the result on the following scheme:

To illustrate the differences, we may consider the simple case of a linear forward model and Gaussian priors:

$\left\{\begin{array}{c}p\left(\mathbit{g}\left|\mathbit{f},{v}_{\epsilon }\right\right)=\mathcal{N}\left(\mathbit{H}\mathbit{f},{v}_{\epsilon }\mathbit{I}\right)\hfill \\ p\left(\mathbit{f}\left|{v}_{f}\right\right)=\mathcal{N}\left(0,{v}_{f}\mathbit{I}\right)\hfill \end{array}\right\$
(51)

In this case, if we know θ= (v ϵ , v f ), then

$\begin{array}{l}p\left(\mathbit{f}\left|\mathbit{g},{v}_{\epsilon },{v}_{f}\right\right)=\mathcal{N}\left(\stackrel{^}{\mu },\stackrel{^}{\Sigma }\right)\phantom{\rule{2em}{0ex}}\\ \mathsf{\text{with:}}\phantom{\rule{2em}{0ex}}\\ \stackrel{^}{\mu }={\left[{\mathbit{H}}^{\prime }\mathbit{H}+\lambda I\right]}^{-1}{\mathbit{H}}^{\prime }\mathbit{g}\phantom{\rule{2em}{0ex}}\\ \stackrel{^}{\Sigma }={\left[{\mathbit{H}}^{\prime }\mathbit{H}+\lambda \mathbit{I}\right]}^{-1}\phantom{\rule{2em}{0ex}}\end{array}$
(52)

with $\lambda =\frac{{v}_{\epsilon }}{{v}_{f}}$. So, we have $\stackrel{^}{\mathbit{f}}=\stackrel{^}{\mu }$ which can be computed by optimizing J(f) = ||g- H f||2 + λ||f||2. A gradient based algorithm is shown below:

Now putting inverse Gamma priors on v ϵ and v f , or equivalently Gamma priors on τ ϵ = 1/v ϵ and τ f = 1/v f :

$\left\{\begin{array}{c}p\left({\tau }_{\epsilon }\left|{\alpha }_{\tau 0},{\beta }_{\tau 0}\right\right)=\mathcal{G}\left({\alpha }_{\epsilon 0},{\beta }_{\epsilon 0}\right)\hfill \\ p\left({\tau }_{f}\left|{\alpha }_{f0},{\beta }_{f0}\right\right)=\mathcal{G}\left({\alpha }_{f0},{\beta }_{f0}\right)\hfill \end{array}\right\$
(53)

we have

$\left\{\begin{array}{c}p\left({\tau }_{\epsilon }\left|\mathbit{f},\mathbit{g},{\alpha }_{\tau 0},{\beta }_{\tau 0}\right\right)=\mathcal{G}\left({\stackrel{^}{\alpha }}_{\epsilon },{\stackrel{^}{\beta }}_{\epsilon }\right)\hfill \\ p\left({\tau }_{f}\left|\mathbit{f},{\alpha }_{f0},{\beta }_{f0}\right\right)=\mathcal{G}\left({\stackrel{^}{\alpha }}_{f},{\stackrel{^}{\beta }}_{f}\right)\hfill \end{array}\right\$
(54)

with

$\left\{\begin{array}{c}{\stackrel{^}{\alpha }}_{\epsilon }={\alpha }_{\epsilon 0}+1/2\hfill \\ {\stackrel{^}{\beta }}_{\epsilon }={\beta }_{\epsilon 0}+{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}/2\hfill \\ {\stackrel{^}{\tau }}_{\epsilon }={\stackrel{^}{\alpha }}_{\tau }/{\stackrel{^}{\beta }}_{\tau }=\frac{2{\alpha }_{\epsilon 0}+1}{2{\beta }_{\epsilon 0}+{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}}\hfill \\ {\stackrel{^}{\alpha }}_{f}={\alpha }_{f0}+1/2\hfill \\ {\stackrel{^}{\beta }}_{f}={\beta }_{f0}+{∥\mathbit{f}∥}^{2}/2\hfill \\ {\stackrel{^}{\tau }}_{f}={\stackrel{^}{\beta }}_{f}/{\stackrel{^}{\alpha }}_{f}=\frac{2{\alpha }_{f0}+1}{2{\beta }_{f0}+{∥\mathbit{f}∥}^{2}}\hfill \end{array}\right\$
(55)

and $\stackrel{^}{\lambda }=\frac{{\stackrel{^}{\tau }}_{f}}{{\stackrel{^}{\tau }}_{\epsilon }}$. Then, the alternate optimization of the JMAP estimate algorithm becomes

The Gibbs sampling algorithm becomes

The VBA algorithm becomes

$\left\{\begin{array}{c}q\left(\mathbit{f}\right)=\mathcal{N}\left(\stackrel{^}{\mu },\stackrel{^}{\Sigma }\right)\hfill \\ \stackrel{̃}{\Sigma }={\left[{\mathbit{H}}^{\prime }\mathbit{H}+\lambda \mathbit{I}\right]}^{-1}\hfill \\ \begin{array}{c}\stackrel{̃}{\mu }=\stackrel{̃}{\Sigma }{\mathbit{H}}^{\prime }\mathbit{g}\end{array}\hfill \\ q\left({\tau }_{\epsilon }\right)=\mathcal{G}\left({\stackrel{̃}{\alpha }}_{\epsilon },{\stackrel{̃}{\beta }}_{\epsilon }\right)\hfill \\ {\stackrel{̃}{\alpha }}_{\epsilon }={\alpha }_{\epsilon 0}+1/2\hfill \\ \begin{array}{c}{\stackrel{̃}{\beta }}_{\epsilon }={\beta }_{\epsilon 0}+{∥\mathbit{g}-\mathbit{H}<\mathbit{f}>∥}^{2}/2\end{array}\hfill \\ q\left({\tau }_{f}\right)=\mathcal{G}\left({\stackrel{̃}{\alpha }}_{f},{\stackrel{̃}{\beta }}_{f}\right)\hfill \\ {\stackrel{̃}{\alpha }}_{f}={\alpha }_{f0}+1/2\hfill \\ \begin{array}{c}{\stackrel{̃}{\beta }}_{f}={\beta }_{f0}+\frac{1}{2}∥⟨{\mathbit{f}}^{2}⟩∥={\beta }_{f0}+\frac{1}{2}{\sum }_{j}⟨{f}_{j}^{2}⟩\end{array}\hfill \\ <\mathbit{f}>=\stackrel{̃}{\mu }\hfill \\ ⟨{\mathbit{f}}^{2}⟩={\stackrel{̃}{\mu }}^{2}+\mathsf{\text{diag}}\left[\stackrel{̃}{\Sigma }\right]\hfill \end{array}\right\$
(56)

and $\stackrel{^}{\lambda }=\frac{{\stackrel{^}{\tau }}_{f}}{{\stackrel{^}{\tau }}_{\epsilon }}$:

We recently implemented these algorithms for different applications such as: synthetic aperture radar (SAR) Imaging [29], ...

3.2 Mixture models

For the mixture models, and in general for the models which can be expressed via the hidden variables, we want to estimate jointly the original unknowns f and the hidden variables: τ in Cauchy model, z in MoG2, BG or BGam models and z in MoG3 or MoGGammas. Let examine these a little in details.

3.3 Student-t and Cauchy models

In this case the joint prior law can be written as:

(57)

such that

$p\left(\mathbit{f},\tau \left|\mathbit{g}\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f}\right\right)p\left(\mathbit{f},\tau \right)\propto \text{exp}\left\{-J\left(\mathbit{f},\tau \right)\right\}$
(58)

where

$j\left(\mathbit{f},\tau \right)=\frac{1}{2{v}_{\epsilon }}{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}+\sum _{j}\frac{1}{2}{\tau }_{j}{f}_{j}^{2}-a\text{ln}{\tau }_{j}+b{\tau }_{j}$
(59)

Joint optimization of this criterion, alternatively with respect to f(with fixed τ)

$\begin{array}{ll}\hfill \stackrel{^}{\mathbit{f}}& =\text{arg}{\text{min}}_{\mathbit{f}}\left\{J\left(\mathbit{f},\tau \right)\right\}\phantom{\rule{2em}{0ex}}\\ =\text{arg}{\text{min}}_{\mathbit{f}}\left\{\frac{1}{2{v}_{\epsilon }}{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}+{\sum }_{j}\frac{1}{2}{\tau }_{j}{f}_{j}^{2}\right\}\phantom{\rule{2em}{0ex}}\end{array}$
(60)

and with respect to τ(with fixed f)

$\begin{array}{ll}\hfill \stackrel{^}{\tau }& =\text{arg}{\text{min}}_{\tau }\left\{J\left(\mathbit{f},\tau \right)\right\}\phantom{\rule{2em}{0ex}}\\ =\text{arg}{\text{min}}_{\tau }\left\{{\sum }_{j}\frac{1}{2}{\tau }_{j}{f}_{j}^{2}-a\text{ln}{\tau }_{j}+b{\tau }_{j}\right\}\phantom{\rule{2em}{0ex}}\end{array}$
(61)

results in the following iterative algorithm:

$\left\{\begin{array}{c}\stackrel{^}{\mathbit{f}}={\left[{\mathbit{H}}^{\prime }\mathbit{H}+{v}_{\epsilon }\mathbit{D}\left(\stackrel{^}{\tau }\right)\right]}^{-1}{\mathbit{H}}^{\prime }\mathbit{g}\hfill \\ {\stackrel{^}{\tau }}_{j}=\varphi \left({\stackrel{^}{\mathbit{f}}}_{j}\right)=\frac{a}{\stackrel{^}{{f}_{j}^{2}}+b}\hfill \\ \mathbit{D}\left(\stackrel{^}{\tau }\right)=\mathsf{\text{diag}}\left[1/\stackrel{^}{{\tau }_{j}},j=1,...,n\right]\hfill \end{array}\right\$
(62)

Note that, τ j is the inverse of a variance and we have $1/{\tau }_{j}=\frac{{f}_{j}^{2}+b}{a}$. We can interpret this as an iterative quadratic regularization inversion followed by the estimation of variances τ j which are used in the next iteration to define the variance matrix D(τ).

Here too, we may study the conditions on which the joint criterion is uni-modal and its alternate optimization converges to its unique solution.

We may also consider a Gibbs sampling scheme

$\left\{\begin{array}{c}\mathbit{f}~p\left(\mathbit{f}\left|\tau ,\mathbit{g}\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f}\right\right)p\left(\mathbit{f}\left|\mathbit{u}\right\right)=\mathcal{N}\left(\mathbit{f}\left|\stackrel{^}{\mathbit{f}},\stackrel{^}{\Sigma }\right\right)\hfill \\ \tau ~p\left(\tau \left|\mathbit{f},\mathbit{g}\right\right)\propto p\left(\mathbit{f}\left|\tau \right\right)p\left(\tau \right)={\prod }_{j}\mathcal{G}\left({\tau }_{j}\left|\stackrel{^}{\alpha },\stackrel{^}{\beta }\right\right)\hfill \end{array}\right\$
(63)

where

$\left\{\begin{array}{c}\stackrel{^}{\Sigma }={\left[{\mathbit{H}}^{\prime }\mathbit{H}+{v}_{\epsilon }\mathbit{D}\left(\tau \right)\right]}^{-1}\hfill \\ \stackrel{^}{\mathbit{f}}=\stackrel{^}{\Sigma }{\mathbit{H}}^{\prime }\mathbit{g}\hfill \end{array}\right\$
(64)

and

$\left\{\begin{array}{c}\stackrel{^}{\alpha }=\frac{1}{2}{\stackrel{^}{f}}_{j}+a=\frac{1}{2}{\stackrel{^}{f}}_{j}+\nu /2\hfill \\ \stackrel{^}{\beta }=b\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}=\nu /2\hfill \end{array}\right\$
(65)

For the VBA, we have

$\left\{\begin{array}{c}p\left(\mathbit{g}\left|\mathbit{f},{v}_{\epsilon }\right\right)=\mathcal{N}\left(g\left|\mathbit{H}\mathbit{f},{v}_{\epsilon }\mathbit{I}\right\right),\phantom{\rule{1em}{0ex}}{\tau }_{\epsilon }=1/{v}_{\epsilon }\hfill \\ p\left({\tau }_{\epsilon }\right)=\mathcal{G}\left({\tau }_{\epsilon }\left|{\alpha }_{\epsilon 0}\right,{\beta }_{\epsilon 0}\right)\hfill \\ p\left(\mathbit{f}\left|\mathbit{v}\right\right)={\prod }_{j}p\left({f}_{j}\left|{v}_{j}\right\right)={\prod }_{j}\mathcal{N}\left({f}_{j}\left|0,{v}_{j}\right\right)=\mathcal{N}\left(\mathbit{f}\left|0,\mathbit{V}\right\right)\hfill \\ \mathbit{V}=\mathsf{\text{diag}}\left[v\right],\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{1em}{0ex}}{\tau }_{j}=1/{v}_{j},\phantom{\rule{1em}{0ex}}\tau =\mathsf{\text{diag}}\left[\tau \right]={\mathbit{V}}^{-1}\hfill \\ p\left(\tau \right)={\prod }_{j}\mathcal{G}\left({\tau }_{j}\left|{\alpha }_{0},{\beta }_{0}\right\right)\hfill \end{array}\right\$
(66)
$\left\{\begin{array}{c}\stackrel{̃}{q}\left(\mathbit{f}\right)=\mathcal{N}\left(\mathbit{f}\left|\stackrel{̃}{\mu },\stackrel{̃}{\Sigma }\right\right)\hfill \\ \stackrel{̃}{\mu }=\stackrel{̃}{\Sigma }{\mathbit{H}}^{\prime }\mathbit{g}\hfill \\ \stackrel{̃}{\Sigma }={\left({\stackrel{̃}{\tau }}_{\epsilon }{\mathbit{H}}^{\prime }\mathbit{H}+\stackrel{̃}{\mathbit{V}}\right)}^{-1},\mathsf{\text{with}}\phantom{\rule{2.77695pt}{0ex}}\stackrel{̃}{\mathbit{V}}=\mathsf{\text{diag[}}\stackrel{̃}{v}\mathsf{\text{]}}\hfill \end{array}\right\$
(67)
$\left\{\begin{array}{c}\stackrel{̃}{q}\left({\tau }_{\epsilon }\right)=\mathcal{G}\left({\tau }_{\epsilon }\left|{\stackrel{̃}{\alpha }}_{\epsilon }\right,{\stackrel{̃}{\beta }}_{\epsilon }\right),\hfill \\ {\stackrel{̃}{\alpha }}_{\epsilon }={\alpha }_{\epsilon 0}+\left(n+1\right)/2\hfill \\ {\stackrel{̃}{\beta }}_{\epsilon }={\beta }_{\epsilon 0}+1/2\hfill \\ \stackrel{̃}{\tau }={\stackrel{̃}{\alpha }}_{\tau }/{\stackrel{̃}{\beta }}_{\tau }\hfill \\ \stackrel{̃}{q}\left({\tau }_{j}\right)=\mathcal{G}\left({\tau }_{j}\left|{\stackrel{̃}{\alpha }}_{j},{\stackrel{̃}{\beta }}_{j}\right\right)\hfill \\ {\stackrel{̃}{\alpha }}_{j}={\alpha }_{00}+1/2\hfill \\ {\stackrel{̃}{\beta }}_{j}={\beta }_{00}+<{f}_{j}^{2}>/2\hfill \\ {\stackrel{̃}{z}}_{j}={\stackrel{̃}{\beta }}_{j}/{\stackrel{̃}{\alpha }}_{j}\hfill \end{array}\right\$
(68)

3.4 Mixture of two Gaussians (MoG2) model

In this case, following the same arguments, we obtain:

$p\left(\mathbit{f},\mathbit{z}\left|g\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f}\right\right)p\left(\mathbit{f},\mathbit{z}\right)\propto \text{exp}\left\{-J\left(\mathbit{f},\mathbit{z}\right)\right\}$
(69)

where

$\begin{array}{ll}\hfill J\left(\mathbit{f},\mathbit{z}\right)=& \frac{1}{2{v}_{\epsilon }}{∥\mathbit{g}-\mathbit{H}\mathbit{f}∥}^{2}\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}+{\sum }_{j}\frac{{f}_{j}^{2}}{2{v}_{{z}_{j}}}+{z}_{j}\text{ln}\lambda +\left(1-{z}_{j}\right)\text{ln}\left(1-\lambda \right)\phantom{\rule{2em}{0ex}}\end{array}$
(70)

Again, in this case also, the optimization of this criterion, alternatively with respect to f and z results in the following iterative algorithm:

$\left\{\begin{array}{c}\stackrel{^}{\mathbit{f}}={\left[{\mathbit{H}}^{\prime }\mathbit{H}+{v}_{\epsilon }\mathbit{D}\left(\mathbit{z}\right)\right]}^{-1}{\mathbit{H}}^{\prime }\mathbit{g}\hfill \\ {\stackrel{^}{z}}_{j}=\varphi \left({f}_{j}\right)=\left\{\begin{array}{c}1,\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{if}}\phantom{\rule{2.77695pt}{0ex}}\stackrel{^}{{f}_{j}^{2}}\ge \left({v}_{1}-{v}_{0}\right)\text{ln}\frac{1-\lambda }{\lambda }\hfill \\ 0,\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{if}}\phantom{\rule{2.77695pt}{0ex}}\stackrel{^}{{f}_{j}^{2}}<\left({v}_{1}-{v}_{0}\right)\text{ln}\frac{1-\lambda }{\lambda }\hfill \end{array}\right\\hfill \\ \mathbit{D}\left(\stackrel{^}{\mathbit{z}}\right)=\mathsf{\text{diag}}\left[{v}_{\stackrel{^}{{z}_{j}}},j=1,..,n\right]\hfill \end{array}\right\$
(71)

Here too, we may also consider a Gibbs sampling scheme

$\left\{\begin{array}{c}\mathbit{f}~p\left(\mathbit{f}\left|\mathbit{z},\mathbit{g}\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f}\right\right)p\left(\mathbit{f}\left|\mathbit{u}\right\right)=\mathcal{N}\left(\mathbit{f}\left|\stackrel{^}{\mathbit{f}},\stackrel{^}{\Sigma }\right\right)\hfill \\ \mathbit{z}~p\left(\mathbit{z}\left|\mathbit{f},\mathbit{g}\right\right)\propto p\left(\mathbit{f}\left|\mathbit{z}\right\right)\phantom{\rule{2.77695pt}{0ex}}p\left(\mathbit{z}\right)\phantom{\rule{1em}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{0.3em}{0ex}}={\prod }_{j}P\left({z}_{j}=k\left|{f}_{j}\right\right)\hfill \end{array}\right\$
(72)

where

$\left\{\begin{array}{c}\stackrel{^}{\Sigma }={\left[{\mathbit{H}}^{\prime }\mathbit{H}+{v}_{\epsilon }\mathbit{D}\left(\mathbit{z}\right)\right]}^{-1}\hfill \\ \stackrel{^}{\mathbit{f}}=\stackrel{^}{\Sigma }{\mathbit{H}}^{\prime }\mathbit{g}\hfill \end{array}\right\$
(73)

and

$\left\{\begin{array}{c}P\left({z}_{j}=1\left|{f}_{j}\right\right)=1,\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{if}}\phantom{\rule{2.77695pt}{0ex}}{f}_{j}^{2}\ge \left({v}_{1}-{v}_{0}\right)\text{ln}\frac{1-\lambda }{\lambda }\hfill \\ P\left({z}_{j}=0\left|{f}_{j}\right\right)=1,\mathsf{\text{if}}\phantom{\rule{2.77695pt}{0ex}}{f}_{j}^{2}<\left({v}_{1}-{v}_{0}\right)\text{ln}\frac{1-\lambda }{\lambda }\hfill \end{array}\right\$
(74)

3.5 BG model

For the case of BG we have to be more careful, because the joint probability laws are degenerated. Two approaches are then possible:

i) Considering them as the particular case of the MoG models where the variance v0 is fixed to a small value or reduced gradually during the iterations.

ii) Trying first to integrate out f from the expression of p(f, z|g) to obtain p(z|g) and optimize it with respect to z(detection step) and then use it for the estimation step.

To go further in detail of the second approach, we may remark that for the given z, the expression of p(f, z|g) as a function of f is Gaussian and so it can be easily integrated out and we obtain:

(75)

Now writing the expression of $ℒ\left(\mathbit{z}\right)=-\text{ln}p\left(\mathbit{z}\left|\mathbit{g}\right\right)$ and keeping only all terms depending on z we obtain:

$ℒ\left(\mathbit{z}\right)=-{\mathbit{g}}^{\prime }{\mathbit{B}}^{-1}\left(\mathbit{z}\right)\mathbit{g}-\text{ln}\left|\mathbit{B}\left(\mathbit{z}\right)\right|-2n\text{ln}\frac{1-\lambda }{\lambda }$
(76)

where B(z) = H(v diag [z j , j = 1, ..., n])H' + v ϵ I. We see the complexity of this expression which needs the inversion of the matrix B and its optimization which is a combinatorial optimization needing to evaluate this expression 2ntimes.

However, we may also remark that when z obtained, the estimation of f is easy. We have:

$\stackrel{^}{\mathbit{f}}={\mathbit{H}}^{\prime }{\mathbit{B}}^{-1}\mathbit{g}.$
(77)

which needs again the inversion of the matrix B.

The exact computations of $\stackrel{^}{\mathbit{z}}$ and $\stackrel{^}{\mathbit{f}}$ are often too costly, one may try to obtain approximate solutions. Many approximations have been proposed. A good overview of these methods can be found in [30, Chap. 5] and also in [31, 32].

3.6 BGamma and MoGGammas model

In these cases, it is no more possible to integrate out f analytically as it was the case with Gaussians. One strategy here is to use the MCMC methods to generate samples from the joint posterior. The second approach is to approximate the joint posterior by a simpler one, for example by a separable one on f and the hidden variables z in the BGamma or the MoGGammas cases. Very often then we can do the computations analytically. However, it may happens that, even after these separable approximations, still we need to use the MCMC methods on some of variables. Detailed explanation of these general methods is out of focus of this article. See [30, 33, 34]. Here, we just give the details for the case of the Gaussian mixtures (MoG2 or MoG3).

4 Variational Bayesian approximation for the case of mixture laws

To start and to be complete as to propose an unsupervised method, we include also the estimation of the parameters θ and write the joint posterior law of all the unknowns:

$p\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f},\theta \right\right)p\left(\mathbit{f}\left|\mathbit{z}\right,\theta \right)p\left(\mathbit{z}\left|\theta \right\right)p\left(\theta \right)$
(78)

which can also be written as

$q\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)=p\left(\mathbit{f}\left|\mathbit{z},\theta ;\mathbit{g}\right\right)p\left(\mathbit{z}\left|\theta ;\mathbit{g}\right\right)p\left(\theta \left|\mathbit{g}\right\right)$
(79)

where

$p\left(\mathbit{f}\left|\mathbit{z}\right,\theta ;\mathbit{g}\right)=p\left(\mathbit{g}\left|\mathbit{f},\theta \right\right)p\left(\mathbit{f}\left|\mathbit{z}\right,\theta \right)/p\left(\mathbit{g}\left|\mathbit{z}\right,\theta \right)$
(80)

with

$p\left(\mathbit{g}\left|\mathbit{z},\theta \right\right)=\int p\left(\mathbit{g}\left|\mathbit{f},\theta \right\right)p\left(\mathbit{f}\left|\mathbit{z},\theta \right\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\phantom{\rule{0.3em}{0ex}}\mathbit{f}$

and

$p\left(\mathbit{z}\left|\theta ;\mathbit{g}\right\right)=p\left(\mathbit{g}\left|\mathbit{z},\theta \right\right)p\left(\mathbit{z}\left|\theta \right\right)/p\left(\mathbit{g}\left|\theta \right\right)$
(81)

with

$p\left(\mathbit{g}\left|\theta \right\right)=\int p\left(\mathbit{g}\left|\mathbit{z},\right\theta \right)p\left(\mathbit{z}\left|\theta \right\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\phantom{\rule{0.3em}{0ex}}\mathbit{z}$

or

$p\left(\mathbit{g}\left|\theta \right\right)=\sum _{z}p\left(\mathbit{g}\left|\mathbit{z},\theta \right\right)p\left(\mathbit{z}\left|\theta \right\right)$

when z are discrete valued, and finally

$p\left(\theta \left|\mathbit{g}\right\right)=p\left(\mathbit{g}\left|\theta \right\right)p\left(\theta \right)/p\left(\mathbit{g}\right)$
(82)

with

$p\left(\mathbit{g}\right)=\int p\left(\mathbit{g}\left|\theta \right\right)p\left(\theta \right)\phantom{\rule{0.3em}{0ex}}\mathsf{\text{d}}\theta$

One can also write:

$p\left(\mathbit{z}\left|\theta ,\mathbit{g}\right\right)=\int p\left(\mathbit{f},\mathbit{z}\left|\theta ,\mathbit{g}\right\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\mathbit{f}$
(83)

and

$p\left(\theta \left|\mathbit{g}\right\right)=\int \int p\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)\phantom{\rule{0.3em}{0ex}}\mathsf{\text{d}}f\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\mathbit{z}=\int p\left(\mathbit{z}\left|\theta ;\mathbit{g}\right\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\mathbit{z}$
(84)

or

$p\left(\theta \left|\mathbit{g}\right\right)=\sum _{z}\int p\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}f=\sum _{z}p\left(\mathbit{z}\left|\theta ;\mathbit{g}\right\right)$
(85)

when z are discrete valued.

We see that the first term

$p\left(\mathbit{f}\left|\mathbit{z},\theta ,\mathbit{g}\right\right)\propto p\left(\mathbit{g}\left|\mathbit{f},\theta \right\right)p\left(\mathbit{f}\left|\mathbit{z},\theta \right\right)$
(86)

will be easy to handle because it is the product of two Gaussians and so it is a multivariate Gaussian. But the two others are not.

The main idea behind the VBA is to approximate the joint posterior p(f, z, θ|g) by a separable one, for example

$q\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)={q}_{1}\left(\mathbit{f}\left|\mathbit{g}\right\right)\phantom{\rule{2.77695pt}{0ex}}{q}_{2}\left(\mathbit{z}\left|\mathbit{g}\right\right){q}_{3}\left(\theta \left|\mathbit{g}\right\right)$
(87)

illustrated here:

and where the expressions of q(f, z, θ|g) is obtained by minimizing the Kullback-Leibler divergence

$\mathsf{\text{KL}}\left(q:p\right)=\int q\text{ln}\frac{q}{p}={⟨\text{ln}\frac{q}{p}⟩}_{q}$
(88)

It is then easy to show that

$\mathsf{\text{KL}}\left(q:p\right)=\text{ln}p\left(\mathbit{g}\left|ℳ\right\right)-ℱ\left(q\right)$
(89)

where $p\left(\mathbit{g}\left|ℳ\right\right)$ is the likelihood of the model

$p\left(\mathbit{g}\left|ℳ\right\right)=\int \int \int p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\left|ℳ\right\right)\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\mathbit{f}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\mathbit{z}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{d}}\theta$
(90)

with

$p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\left|ℳ\right\right)=p\left(\mathbit{g}\left|\mathbit{f},\theta \right\right)p\left(\mathbit{f}\left|\mathbit{z},\theta \right\right)p\left(\mathbit{z}\left|\theta \right\right)p\left(\theta \right)$
(91)

and $ℱ\left(q\right)$ is the free energy associated to q defined as

$ℱ\left(q\right)={⟨\text{ln}\frac{p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\left|ℳ\right\right)}{q\left(\mathbit{f},\mathbit{z},\theta \right)}⟩}_{q}$
(92)

So, for a given model $ℳ$, minimizing KL(q : p) is equivalent to maximizing $ℱ\left(q\right)$ and when optimized, $ℱ\left({q}^{*}\right)$ gives a lower bound for $\text{ln}p\left(\mathbit{g}\left|ℳ\right\right)$.

Without any other constraint than the normalization of q, an alternate optimization of $ℱ\left(q\right)$ with respect to q1, q2, and q3 results in

$\begin{array}{c}{q}_{1}\left(\mathbit{f}\right)\propto \text{exp}\left\{-{⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\right)⟩}_{q\left(\mathbit{z}\right)q\left(\theta \right)}\right\}\\ {q}_{2}\left(\mathbit{z}\right)\propto \text{exp}\left\{-{⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\right)⟩}_{q\left(\mathbit{f}\right)q\left(\theta \right)}\right\}\\ {q}_{3}\left(\theta \right)\propto \text{exp}\left\{-{⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\right)⟩}_{q\left(\mathbit{f}\right)q\left(\mathbit{z}\right)}\right\}\end{array}$

Note that these relations represent an implicit solution for q1(f), q2(z), and q3(θ) which need, at each iteration, the expression of the expectations in the right hand of exponentials. If p(g|f, z, θ1) is a member of an exponential family and if all the priors p(f|z, θ2), p(z|θ3), p(θ1), p(θ2), and p(θ3) are conjugate priors, then it is to see that these expressions leads to standard distributions for which the required expectations are easily evaluated. In that case, we may note

$q\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)={q}_{1}\left(\mathbit{f}\left|\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\theta };\mathbit{g}\right\right){q}_{2}\left(\mathbit{z}\left|\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\theta };\mathbit{g}\right\right){q}_{3}\left(\theta \left|\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\mathbit{z}};\mathbit{g}\right\right)$
(93)

where the tilded quantities $\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\mathbit{f}}$ and $\stackrel{̃}{\theta }$ are, respectively functions of $\left(\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\theta }\right),\left(\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\theta }\right)$ and $\left(\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\mathbit{z}}\right)$:

and where the alternate optimization results to alternate updating of the parameters $\left(\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\theta }\right)$ for q1, the parameters $\left(\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\theta }\right)$ of q2 and the parameters $\left(\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\mathbit{z}}\right)$ of q3.

Finally, we may note that, to monitor the convergence of the algorithm, we may evaluate the free energy

$\begin{array}{ll}\hfill ℱ\left(q\right)& ={⟨\text{ln}\frac{p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\left|ℳ\right\right)}{q\left(\mathbit{f},\mathbit{z},\theta \right)}⟩}_{q}\phantom{\rule{2em}{0ex}}\\ ={⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,g\right)\left|ℳ\right⟩}_{q}+{⟨-\text{ln}q\left(\mathbit{f},\mathbit{z},\theta \right)⟩}_{q}\phantom{\rule{2em}{0ex}}\\ ={⟨\text{ln}p\left(\mathbit{g}\left|\mathbit{f},\mathbit{z},\theta \right\right)⟩}_{q}+{⟨\text{ln}p\left(\mathbit{f}\left|\mathbit{z},\theta \right\right)⟩}_{q}+{⟨\text{ln}p\left(\mathbit{z}\left|\theta \right\right)⟩}_{q}\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}+{⟨-\text{ln}q\left(\mathbit{f}\right)⟩}_{q}+{⟨-\text{ln}q\left(\mathbit{z}\right)⟩}_{q}+{⟨-\text{ln}q\left(\theta \right)⟩}_{q}\phantom{\rule{2em}{0ex}}\end{array}$
(94)

where all the expectations are with respect to q.

Other decompositions are also possible:

$\begin{array}{ll}\hfill q\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)& ={q}_{1}\left(\mathbit{f}\left|\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\theta };\mathbit{g}\right\right)\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}{\prod }_{j}{q}_{2j}\left({z}_{j}\left|\stackrel{̃}{\mathbit{f}},{\stackrel{̃}{\mathbit{z}}}_{\left(-j\right)},\stackrel{̃}{\theta };\mathbit{g}\right\right)\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}{\prod }_{j}{q}_{3l}\left({\theta }_{l}\left|\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\mathbit{z}},{\stackrel{̃}{\theta }}_{\left(-l\right)};\mathbit{g}\right\right)\phantom{\rule{2em}{0ex}}\end{array}$
(95)

illustrated here:

or even by:

$\begin{array}{ll}\hfill q\left(\mathbit{f},\mathbit{z},\theta \left|\mathbit{g}\right\right)& ={\prod }_{j}{q}_{1j}\left({f}_{j}\left|{\stackrel{̃}{\mathbit{f}}}_{\left(-j\right)},\stackrel{̃}{\mathbit{z}},\stackrel{̃}{\theta };\mathbit{g}\right\right)\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}{\prod }_{j}{q}_{2j}\left({z}_{j}\left|\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\mathbit{z}}\left(-j\right),\theta ;\mathbit{g}\right\right)\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}{\prod }_{l}{q}_{3l}\left({\theta }_{l}\left|\stackrel{̃}{\mathbit{f}},\stackrel{̃}{\mathbit{z}},{\stackrel{̃}{\theta }}_{\left(-l\right)};\mathbit{g}\right\right)\phantom{\rule{2em}{0ex}}\end{array}$
(96)

illustrated here:

Here, we consider the second case (Equation (95)) and give some more details on it. First to simplify the notations, we write it as:

$q\left(\mathbit{f},\mathbit{z},\theta \right)={q}_{1}\left(\mathbit{f}\right)\prod _{j}{q}_{2j}\left({z}_{j}\right)\prod _{l}{q}_{3l}\left({\theta }_{l}\right)$
(97)

where it can be shown that:

$\begin{array}{ll}\hfill \phantom{\rule{1em}{0ex}}{q}_{1}\left(\mathbit{f}\right)& \propto \text{exp}\left\{-{⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\right)⟩}_{{q}_{2}\left(\mathbit{z}\right){q}_{3}\left(\theta \right)}\right\}\phantom{\rule{2em}{0ex}}\\ \hfill {q}_{2j}\left({z}_{j}\right)& \propto \text{exp}\left\{-{⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\right)⟩}_{q1\left(\mathbit{f}\right){q}_{3}\left(\theta \right){q}_{2}\left({\mathbit{z}}_{\left(-j\right)}\right)}\right\}\phantom{\rule{2em}{0ex}}\\ \hfill \phantom{\rule{1em}{0ex}}{q}_{3l}\left({\theta }_{l}\right)& \propto \text{exp}\left\{-{⟨\text{ln}p\left(\mathbit{f},\mathbit{z},\theta ,\mathbit{g}\right)⟩}_{{q}_{1}}{\left(\mathbit{f}\right)}_{{q}_{2}}{\left(\mathbit{z}\right)}_{{q}_{3}}\left({\theta }_{\left(-l\right)}\right)\right\}\phantom{\rule{2em}{0ex}}\end{array}$

where p(f, z, θ, g) = p(g|f, θ)p(f|z, θ)p(z|θ)p(θ) and where q2(z) = Π j q2j(z j ), q3(θ) = Π l q3l(θ l ), q2(z(-j)) = Πijq2j(z j ), 〈.〉 q means expected value with respect to q.

In that case, with appropriate models for the priors (exponential families) and hyper parameters (conjugate priors), we see that q(f) is a multivariate Gaussian $g\left(\mathbit{f}\right)=\mathcal{N}\left(\mathbit{f}\left|\stackrel{̃}{\mu },\stackrel{̃}{\Sigma }\right\right)$, q(θ l ) are either Gaussians (for the means) or Inverse Gammas (for the variances) and q(z j ) are discrete distributions whose expressions can be written easily.

To illustrate this in more detail, we consider the case of the Student-t model.

4.1 Student-t model

In this case, we have the following relations for the forward model and the prior laws:

$\left\{\begin{array}{c}p\left(\mathbit{g}\left|\mathbit{f},{v}_{\epsilon }\right\right)=\mathcal{N}\left(\mathbit{g}\left|\mathbit{H}\mathbit{f},{v}_{\epsilon }\mathbit{I}\right\right),\phantom{\rule{2.77695pt}{0ex}}\phantom{\rule{1em}{0ex}}\tau =1/{v}_{\epsilon }\hfill \\ p\left(\mathbit{f}\left|\mathbit{z}\right\right)={\prod }_{j}p\left({f}_{j}\left|{z}_{j}\right\right)={\prod }_{j}\mathcal{N}\left({z}_{j}\left|0,{z}_{j}\right\right)=\mathcal{N}\left(\mathbit{f}\left|0,\mathbit{Z}\right\right)\hfill \\ \mathbit{Z}=\mathsf{\text{diag}}\left[\mathbit{z}\right],\phantom{\rule{1em}{0ex}}{a}_{j}=1/{z}_{j},\phantom{\rule{1em}{0ex}}\mathbit{A}=\mathsf{\text{diag}}\left[\mathbit{a}\right]={\mathbit{Z}}^{-1}\hfill \\ p\left(\mathbit{a}\right)={\prod }_{j}\mathcal{G}\left({a}_{j}\left|{\alpha }_{0},{\beta }_{0}\right\right)\hfill \\ p\left(\tau \right)=\mathcal{G}\left(\tau \left|{\alpha }_{\tau 0},{\beta }_{\tau 0}\right\right)\hfill \end{array}\right\$
(98)

Then, we obtain the following expressions for the VBA:

$\left\{\begin{array}{c}\stackrel{̃}{q}\left(\mathbit{f}\right)=\mathcal{N}\left(\mathbit{f}\left|\stackrel{̃}{\mu },\stackrel{̃}{\Sigma }\right\right)\hfill \\ \stackrel{̃}{\mu }=<\tau >\stackrel{̃}{\Sigma }{\mathbit{H}}^{\prime }\mathbit{g}\hfill \\ \stackrel{̃}{\Sigma }={\left(<\tau >{\mathbit{H}}^{\prime }\mathbit{H}+\stackrel{̃}{\mathbit{Z}}\right)}^{-1},\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{with}}\phantom{\rule{2.77695pt}{0ex}}\stackrel{̃}{\mathbit{Z}}={\stackrel{̃}{\mathbit{A}}}^{-1}=\mathsf{\text{diag[}}\stackrel{̃}{a}\mathsf{\text{]}}\hfill \end{array}\right\$
(99)
$\left\{\begin{array}{c}\stackrel{̃}{q}\left(\tau \right)=\mathcal{G}\left(\tau \left|{\stackrel{̃}{\alpha }}_{\tau },{\stackrel{̃}{\beta }}_{\tau }\right\right),\hfill \\ {\stackrel{̃}{\alpha }}_{\tau }={\alpha }_{\tau 0}+\left(n+1\right)/2\hfill \\ \begin{array}{c}{\stackrel{̃}{\beta }}_{\tau }={\beta }_{\tau 0}+1/2\left[{∥\mathbit{g}∥}^{2}-2<\mathbit{f}{>}^{\prime }{\mathbit{H}}^{\prime }\mathbit{g}+{\mathbit{H}}^{\prime }<\mathbit{f}{\mathbit{f}}^{\prime }>\mathbit{H}\right]\end{array}\hfill \\ \stackrel{̃}{q}\left({a}_{j}\right)=\mathcal{G}\left({a}_{j}\left|{\stackrel{̃}{\alpha }}_{j},{\stackrel{̃}{\beta }}_{j}\right\right)\hfill \\ {\stackrel{̃}{\alpha }}_{j}={\alpha }_{00}+1/2\hfill \\ {\stackrel{̃}{\beta }}_{j}={\beta }_{00}+<{f}_{j}^{2}>/2\hfill \end{array}\right\$
(100)

where the expressions of the expectations needed are:

$\left\{\begin{array}{c}<\mathbit{f}>=\stackrel{̃}{\mu }\hfill \\ <{\mathbit{ff}}^{\prime }>=\Sigma +{\mu \mu }^{\prime }\hfill \\ <{f}_{j}^{2}>={\left[\Sigma \right]}_{jj}+{\mu }_{j}^{2}\hfill \\ <\tau >=\stackrel{̃}{\tau }={\stackrel{̃}{\alpha }}_{\tau }/{\stackrel{̃}{\beta }}_{\tau }\hfill \\ <{a}_{j}>={\stackrel{̃}{a}}_{j}={\stackrel{̃}{\alpha }}_{j}/{\stackrel{̃}{\beta }}_{j}\hfill \end{array}\right\$
(101)

We can also express the free energy expression:

$\begin{array}{ll}\hfill ℱ\left(q\right)& =⟨\text{ln}\frac{p\left(\mathbit{f},\mathbit{a},\tau ,\mathbit{g}\left|ℳ\right\right)}{q\left(\mathbit{f},\mathbit{a},\tau \right)}⟩\phantom{\rule{2em}{0ex}}\\ =⟨\text{ln}p\left(\mathbit{g}\left|\mathbit{f},\mathbit{a}\right,\tau \right)⟩+⟨\text{ln}p\left(\mathbit{f}\left|\mathbit{a},\tau \right\right)⟩+⟨\text{ln}p\left(\mathbit{a}\left|\tau \right\right)⟩\phantom{\rule{2em}{0ex}}\\ \phantom{\rule{1em}{0ex}}+⟨-\text{ln}q\left(\mathbit{f}\right)⟩+⟨-\text{ln}q\left(\mathbit{a}\right)⟩+⟨-\text{ln}q\left(\tau \right)⟩\phantom{\rule{2em}{0ex}}\end{array}$
(102)

where

$\begin{array}{l}〈\mathrm{ln}p\left(\mathbit{g<}\end{array}$