Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

What is the conjugate prior distribution of the Dirichlet distribution?

share|improve this question
...does not list the conjugate prior. –  Neil Apr 5 '10 at 18:48
There is some discussion here: stat.columbia.edu/~cook/movabletype/archives/2009/04/… –  Douglas Zare Apr 5 '10 at 18:59
This might be better. arxiv.org/abs/cond-mat/0603120 –  Steve Huntsman Apr 5 '10 at 19:14
add comment

1 Answer

up vote 9 down vote accepted

Neil sent me an email asking:


I read your post at http://www.stat.columbia.edu/~cook/movabletype/archives/2009/04/conjugate_prior.html and I was wondering if you could expand on how to update the Dirichlet conjugate prior that you provided in your paper:

S. Lefkimmiatis, P. Maragos, and G. Papandreou, Bayesian Inference on Multiscale Models for Poisson Intensity Estimation: Applications to Photon-Limited Image Denoising, IEEE Transactions on Image Processing, vol. 18, no. 8, pp. 1724-1741, Aug. 2009

In other words, given in your paper's notation the prior hyper-parameters (vector $\mathbf{v}$, and scalar $\eta$), and $N$ Dirichlet observations (vectors $\mathbf{\theta}_n, n=1,\dots,N$), how do you update $\mathbf{v}$ and $\eta$?


Here is my response:

Conjugate pairs are so convenient because there is a standard and simple way to incorporate new data by just modifying the parameters of the prior density. One just multiplies the likelihood with its conjugate prior; the result has the same parametric form as the prior, and the new parameters can be readily "read-off" by comparing the likelihood-prior product with the prior parametric form. This is described in detail in all standard texts in Bayesian statistics such as Gelman et al. (2003) or Bernardo and Smith (2000).

In the case of the Dirichlet and its conjugate prior described in our paper and using its notation, after observing $N$ Dirichlet vectors $\mathbf{\theta}_n$, $n=1,\dots,N$, where each vector $\mathbf{\theta}_n$ is $D$ dimensional with elements $\theta_n[t]$, $t=1,\dots,D$, the $D+1$ hyper-parameters should be updated as follows:

  • $\eta_N = \eta_0 + N$
  • $v_N[t] = v_0[t] - \sum_{n=1}^N \ln \theta_n[t], \quad t=1,\dots,D$, where $\eta_0$, $\mathbf{v}_0$ and $\eta_N$, $\mathbf{v}_N$ are the initial and updated model parameters, respectively.

You can verify this in a few lines of equations by following the previously described general rule.

Hope this helps!

share|improve this answer
Thank you very much for your detailed answer! Am I right that "theta" represents categorical parameter vector observations (i.e., their components are in [0,1])? If the observations are "alpha", the parameter vectors of Dirichlet observations, then the update of v needs to be: v_N[j] = v_0[j] + sum_n [ digamma(sum_i alpha_n[i]) - digamma(alpha_n[j]) ] because that's the expected log of each component value, right? Thanks again. This was very helpful. –  Neil Apr 10 '10 at 2:25
Hi, at Level-1 we have $p(\mathbf{\theta}|\mathbf{\alpha}$, where $\theta$ is the Dirichlet observation lying on the $D$-dimensional simplex (components between 0 and 1 whose sum is 1), and $\mathbf{\alpha}$ is the Dirichlet distribution parameter vector. At Level-2 we have the conj. prior $p(\mathbf{\alpha}|\eta,\mathbf{v})$ of our paper. In this setup, one observes $\theta$ vectors and updates the hyperparameters $\eta,\mathbf{v}$ that describe the density of $\mathbf{\alpha}$, which itself is considered hidden (it thus makes no sense to measure it). Hope it is clearer now! George –  George Papandreou Apr 14 '10 at 3:17
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.