Hierarchical Dirichlet process

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In statistics and machine learning, the hierarchical Dirichlet process (HDP) is a nonparametric Bayesian approach to clustering grouped data.[1][2] It uses a Dirichlet process for each group of data, with the Dirichlet processes for all groups sharing a base distribution which is itself drawn from a Dirichlet process. This method allows groups to share statistical strength via sharing of clusters across groups. The base distribution being drawn from a Dirichlet process is important, because draws from a Dirichlet process are atomic probability measures, and the atoms will appear in all group-level Dirichlet processes. Since each atom corresponds to a cluster, clusters are shared across all groups. It was developed by Yee Whye Teh, Michael I. Jordan, Matthew J. Beal and David Blei and published in the Journal of the American Statistical Association in 2006.[1]


This model description is sourced from.[1] The HDP is a model for grouped data. What this means is that the data items come in multiple distinct groups. For example, in a topic model words are organized into documents, with each document formed by a bag (group) of words (data items). Indexing groups by j=1,...J, suppose each group consist of data items x_{j1},...x_{jn}.

The HDP is parameterized by a base distribution H which governs the a priori distribution over data items, and a number of concentration parameters which govern the a priori number of clusters and amount of sharing across groups. The jth group is associated with a random probability measure G_j which has distribution given by a Dirichlet process:

G_j|G_0 &\sim \operatorname{DP}(\alpha_j,G_0)

where \alpha_j is the concentration parameter associated with the group, and G_0 is the base distribution shared across all groups. In turn, the common base distribution is Dirichlet process distributed:

G_0 &\sim \operatorname{DP}(\alpha_0,H)

with concentration parameter \alpha_0 and base distribution H. Finally, to relate the Dirichlet processes back with the observed data, each data item x_{ji} is associated with a latent parameter \theta_{ji}:

\theta_{ji}|G_j &\sim G_j \\
x_{ji}|\theta_{ji} &\sim F(\theta_{ji})

The first line states that each parameter has a prior distribution given by G_j, while the second line states that each data item has a distribution F(\theta_{ji}) parameterized by its associated parameter. The resulting model above is called a HDP mixture model, with the HDP referring to the hierarchically linked set of Dirichlet processes, and the mixture model referring to the way the Dirichlet processes are related to the data items.

To understand how the HDP implements a clustering model, and how clusters become shared across groups, recall that draws from a Dirichlet process are atomic probability measures with probability one. This means that the common base distribution G_0 has a form which can be written as:

G_0 &= \sum_{k=1}^\infty \pi_{0k}\delta_{\theta^*_k}

where there are an infinite number of atoms, \theta^*_k, k=1,2,..., assuming that the overall base distribution H has infinite support. Each atom is associated with a mass \pi_{0k}. The masses have to sum to one since G_0 is a probability measure. Since G_0 is itself the base distribution for the group specific Dirichlet processes, each G_j will have atoms given by the atoms of G_0, and can itself be written in the form:

G_j &= \sum_{k=1}^\infty \pi_{jk}\delta_{\theta^*_k}

Thus the set of atoms is shared across all groups, with each group having its own group-specific atom masses. Relating this representation back to the observed data, we see that each data item is described by a mixture model:

x_{ji}|G_j &\sim \sum_{k=1}^\infty \pi_{jk} F(\theta^*_k)

where the atoms \theta^*_k play the role of the mixture component parameters, while the masses \pi_{jk} play the role of the mixing proportions. In conclusion, each group of data is modeled using a mixture model, with mixture components shared across all groups but mixing proportions being group-specific. In clustering terms, we can interpret each mixture component as modeling a cluster of data items, with clusters shared across all groups, and each group, having its own mixing proportions, composed of different combinations of clusters.


The HDP mixture model is a natural nonparametric generalization of Latent Dirichlet allocation, where the number of topics can be unbounded and learnt from data.[1] Here each group is a document consisting of a bag of words, each cluster is a topic, and each document is a mixture of topics. The HDP is also a core component of the infinite hidden Markov model,[1] which is a nonparametric generalization of the hidden Markov model allowing the number of states to be unbounded and learnt from data.


The HDP can be generalized in a number of directions. The Dirichlet processes can be replaced by Pitman-Yor processes, resulting in the Hierarchical Pitman-Yor process. The hierarchy can be deeper, with multiple levels of groups arranged in a hierarchy. Such an arrangement has been exploited in the sequence memoizer, a Bayesian nonparametric model for sequences which has a multi-level hierarchy of Pitman-Yor processes.


  1. ^ a b c d e Teh, Y. W.; Jordan, M. I.; Beal, M. J.; Blei, D. M. (2006). "Hierarchical Dirichlet Processes" (PDF). Journal of the American Statistical Association 101: pp. 1566–1581. doi:10.1198/016214506000000302. 
  2. ^ Teh, Y. W.; Jordan, M. I. (2010). "Hierarchical Bayesian Nonparametric Models with Applications" (PDF). Bayesian Nonparametrics (Cambridge University Press).