# Hierarchical Dirichlet process

In statistics and machine learning, the hierarchical Dirichlet process (HDP) is a nonparametric Bayesian approach to clustering grouped data. 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, as a formalization and generalization of the infinite hidden Markov model published in 2002.

## Model

This model description is sourced from. 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$ that governs the a priori distribution over data items, and a number of concentration parameters that govern the a priori number of clusters and amount of sharing across groups. The $j$th group is associated with a random probability measure $G_{j}$ which has distribution given by a Dirichlet process:
    ${\begin{aligned}G_{j}|G_{0}&\sim \operatorname {DP} (\alpha _{j},G_{0})\end{aligned}}$
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:
    ${\begin{aligned}G_{0}&\sim \operatorname {DP} (\alpha _{0},H)\end{aligned}}$
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}$:
    ${\begin{aligned}\theta _{ji}|G_{j}&\sim G_{j}\\x_{ji}|\theta _{ji}&\sim F(\theta _{ji})\end{aligned}}$
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:
    ${\begin{aligned}G_{0}&=\sum _{k=1}^{\infty }\pi _{0k}\delta _{\theta _{k}^{*}}\end{aligned}}$
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:
    ${\begin{aligned}G_{j}&=\sum _{k=1}^{\infty }\pi _{jk}\delta _{\theta _{k}^{*}}\end{aligned}}$
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:
    ${\begin{aligned}x_{ji}|G_{j}&\sim \sum _{k=1}^{\infty }\pi _{jk}F(\theta _{k}^{*})\end{aligned}}$
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.

## Applications

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. 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, which is a nonparametric generalization of the hidden Markov model allowing the number of states to be unbounded and learnt from data.

## Generalizations

The HDP can be generalized in a number of directions. The Dirichlet processes can be replaced by Pitman-Yor processes and Gamma processes, resulting in the Hierarchical Pitman-Yor process and Hierarchical Gamma 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. In addition, Bayesian Multi-Domain Learning (BMDL) model derives domain-dependent latent representations of overdispersed count data based on hierarchical negative binomial factorization for accurate cancer subtyping even if the number of samples for a specific cancer type is small.