# Latent Dirichlet allocation

(Redirected from Latent Dirichlet Allocation)
Not to be confused with linear discriminant analysis.

In natural language processing, latent Dirichlet allocation (LDA) is a generative statistical model that allows sets of observations to be explained by unobserved groups that explain why some parts of the data are similar. For example, if observations are words collected into documents, it posits that each document is a mixture of a small number of topics and that each word's creation is attributable to one of the document's topics. LDA is an example of a topic model and was first presented as a graphical model for topic discovery by David Blei, Andrew Ng, and Michael I. Jordan in 2003.[1] Essentially the same model was also proposed independently by J. K. Pritchard, M. Stephens, and P. Donnelly in the study of population genetics in 2000.[2] Both papers have been highly influential, with 16488 and 18170 citations respectively by December 2016.[3][4]

## Topics

In LDA, each document may be viewed as a mixture of various topics. Where each document is considered to have a set of topics that are assigned to it via LDA. This is similar to probabilistic latent semantic analysis (pLSA), except that in LDA the topic distribution is assumed to have a Dirichlet prior. In practice, this results in more reasonable mixtures of topics in a document. It has been noted, however, that the pLSA model is equivalent to the LDA model under a uniform Dirichlet prior distribution.[5]

For example, an LDA model might have topics that can be classified as CAT_related and DOG_related. A topic has probabilities of generating various words, such as milk, meow, and kitten, which can be classified and interpreted by the viewer as "CAT_related". Naturally, the word cat itself will have high probability given this topic. The DOG_related topic likewise has probabilities of generating each word: puppy, bark, and bone might have high probability. Words without special relevance, such as the (see function word), will have roughly even probability between classes (or can be placed into a separate category). A topic is not strongly defined, neither semantically nor epistemologically. It is identified on the basis of supervised labeling and (manual) pruning on the basis of their likelihood of co-occurrence. A lexical word may occur in several topics with a different probability, however, with a different typical set of neighboring words in each topic.

Each document is assumed to be characterized by a particular set of topics. This is akin to the standard bag of words model assumption, and makes the individual words exchangeable.

## Model

Plate notation representing the LDA model.

With plate notation, the dependencies among the many variables can be captured concisely. The boxes are “plates” representing replicates. The outer plate represents documents, while the inner plate represents the repeated choice of topics and words within a document. M denotes the number of documents, N the number of words in a document. Thus:

α is the parameter of the Dirichlet prior on the per-document topic distributions,
β is the parameter of the Dirichlet prior on the per-topic word distribution,
${\displaystyle \theta _{m}}$ is the topic distribution for document m,
${\displaystyle \varphi _{k}}$ is the word distribution for topic k,
${\displaystyle z_{mn}}$ is the topic for the nth word in document m, and
${\displaystyle w_{mn}}$ is the specific word.
Plate notation for smoothed LDA

The ${\displaystyle w_{ij}}$ are the only observable variables, and the other variables are latent variables. Mostly, the basic LDA model will be extended to a smoothed version to gain better results .[citation needed] The plate notation is shown on the right, where K denotes the number of topics considered in the model and:

${\displaystyle \varphi }$ is a K*V (V is the dimension of the vocabulary) Markov matrix (transition matrix), and each row of which denotes the word distribution of a topic.

### Generative Process

The generative process is as follows. Documents are represented as random mixtures over latent topics, where each topic is characterized by a distribution over words. LDA assumes the following generative process for a corpus ${\displaystyle D}$ consisting of ${\displaystyle M}$ documents each of length ${\displaystyle N_{i}}$:

1. Choose ${\displaystyle \theta _{i}\,\sim \,\mathrm {Dir} (\alpha )}$, where ${\displaystyle i\in \{1,\dots ,M\}}$ and ${\displaystyle \mathrm {Dir} (\alpha )}$ is the Dirichlet distribution for parameter ${\displaystyle \alpha }$

2. Choose ${\displaystyle \varphi _{k}\,\sim \,\mathrm {Dir} (\beta )}$, where ${\displaystyle k\in \{1,\dots ,K\}}$

3. For each of the word positions ${\displaystyle i,j}$, where ${\displaystyle j\in \{1,\dots ,N_{i}\}}$, and ${\displaystyle i\in \{1,\dots ,M\}}$

(a) Choose a topic ${\displaystyle z_{i,j}\,\sim \,\mathrm {Multinomial} (\theta _{i}).}$
(b) Choose a word ${\displaystyle w_{i,j}\,\sim \,\mathrm {Multinomial} (\varphi _{z_{i,j}})}$.

(Note that the Multinomial distribution here refers to the Multinomial with only one trial. It is formally equivalent to the categorical distribution.)

The lengths ${\displaystyle N_{i}}$ are treated as independent of all the other data generating variables (${\displaystyle w}$ and ${\displaystyle z}$). The subscript is often dropped, as in the plate diagrams shown here.

### Definition

A formal description of smoothed LDA is as follows:

Definition of variables in the model
Variable Type Meaning
${\displaystyle K}$ integer number of topics (e.g. 50)
${\displaystyle V}$ integer number of words in the vocabulary (e.g. 50,000 or 1,000,000)
${\displaystyle M}$ integer number of documents
${\displaystyle N_{d=1\dots M}}$ integer number of words in document d
${\displaystyle N}$ integer total number of words in all documents; sum of all ${\displaystyle N_{d}}$ values, i.e. ${\displaystyle N=\sum _{d=1}^{M}N_{d}}$
${\displaystyle \alpha _{k=1\dots K}}$ positive real prior weight of topic k in a document; usually the same for all topics; normally a number less than 1, e.g. 0.1, to prefer sparse topic distributions, i.e. few topics per document
${\displaystyle {\boldsymbol {\alpha }}}$ K-dimension vector of positive reals collection of all ${\displaystyle \alpha _{k}}$ values, viewed as a single vector
${\displaystyle \beta _{w=1\dots V}}$ positive real prior weight of word w in a topic; usually the same for all words; normally a number much less than 1, e.g. 0.001, to strongly prefer sparse word distributions, i.e. few words per topic
${\displaystyle {\boldsymbol {\beta }}}$ V-dimension vector of positive reals collection of all ${\displaystyle \beta _{w}}$ values, viewed as a single vector
${\displaystyle \varphi _{k=1\dots K,w=1\dots V}}$ probability (real number between 0 and 1) probability of word w occurring in topic k
${\displaystyle {\boldsymbol {\varphi }}_{k=1\dots K}}$ V-dimension vector of probabilities, which must sum to 1 distribution of words in topic k
${\displaystyle \theta _{d=1\dots M,k=1\dots K}}$ probability (real number between 0 and 1) probability of topic k occurring in document d for any given word
${\displaystyle {\boldsymbol {\theta }}_{d=1\dots M}}$ K-dimension vector of probabilities, which must sum to 1 distribution of topics in document d
${\displaystyle z_{d=1\dots M,w=1\dots N_{d}}}$ integer between 1 and K identity of topic of word w in document d
${\displaystyle \mathbf {Z} }$ N-dimension vector of integers between 1 and K identity of topic of all words in all documents
${\displaystyle w_{d=1\dots M,w=1\dots N_{d}}}$ integer between 1 and V identity of word w in document d
${\displaystyle \mathbf {W} }$ N-dimension vector of integers between 1 and V identity of all words in all documents

We can then mathematically describe the random variables as follows:

${\displaystyle {\begin{array}{lcl}{\boldsymbol {\varphi }}_{k=1\dots K}&\sim &\operatorname {Dirichlet} _{V}({\boldsymbol {\beta }})\\{\boldsymbol {\theta }}_{d=1\dots M}&\sim &\operatorname {Dirichlet} _{K}({\boldsymbol {\alpha }})\\z_{d=1\dots M,w=1\dots N_{d}}&\sim &\operatorname {Categorical} _{K}({\boldsymbol {\theta }}_{d})\\w_{d=1\dots M,w=1\dots N_{d}}&\sim &\operatorname {Categorical} _{V}({\boldsymbol {\varphi }}_{z_{dw}})\\\end{array}}}$

## Inference

Learning the various distributions (the set of topics, their associated word probabilities, the topic of each word, and the particular topic mixture of each document) is a problem of Bayesian inference. The original paper used a variational Bayes approximation of the posterior distribution;[1] alternative inference techniques use Gibbs sampling[6] and expectation propagation.[7]

Following is the derivation of the equations for collapsed Gibbs sampling, which means ${\displaystyle \varphi }$s and ${\displaystyle \theta }$s will be integrated out. For simplicity, in this derivation the documents are all assumed to have the same length ${\displaystyle N_{}}$. The derivation is equally valid if the document lengths vary.

According to the model, the total probability of the model is:

${\displaystyle P({\boldsymbol {W}},{\boldsymbol {Z}},{\boldsymbol {\theta }},{\boldsymbol {\varphi }};\alpha ,\beta )=\prod _{i=1}^{K}P(\varphi _{i};\beta )\prod _{j=1}^{M}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}|\theta _{j})P(W_{j,t}|\varphi _{Z_{j,t}}),}$

where the bold-font variables denote the vector version of the variables. First, ${\displaystyle {\boldsymbol {\varphi }}}$ and ${\displaystyle {\boldsymbol {\theta }}}$ need to be integrated out.

{\displaystyle {\begin{aligned}P({\boldsymbol {Z}},{\boldsymbol {W}};\alpha ,\beta )&=\int _{\boldsymbol {\theta }}\int _{\boldsymbol {\varphi }}P({\boldsymbol {W}},{\boldsymbol {Z}},{\boldsymbol {\theta }},{\boldsymbol {\varphi }};\alpha ,\beta )\,d{\boldsymbol {\varphi }}\,d{\boldsymbol {\theta }}\\&=\int _{\boldsymbol {\varphi }}\prod _{i=1}^{K}P(\varphi _{i};\beta )\prod _{j=1}^{M}\prod _{t=1}^{N}P(W_{j,t}\mid \varphi _{Z_{j,t}})\,d{\boldsymbol {\varphi }}\int _{\boldsymbol {\theta }}\prod _{j=1}^{M}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})\,d{\boldsymbol {\theta }}.\end{aligned}}}

All the ${\displaystyle \theta }$s are independent to each other and the same to all the ${\displaystyle \varphi }$s. So we can treat each ${\displaystyle \theta }$ and each ${\displaystyle \varphi }$ separately. We now focus only on the ${\displaystyle \theta }$ part.

${\displaystyle \int _{\boldsymbol {\theta }}\prod _{j=1}^{M}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})d{\boldsymbol {\theta }}=\prod _{j=1}^{M}\int _{\theta _{j}}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})\,d\theta _{j}.}$

We can further focus on only one ${\displaystyle \theta }$ as the following:

${\displaystyle \int _{\theta _{j}}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})\,d\theta _{j}.}$

Actually, it is the hidden part of the model for the ${\displaystyle j^{th}}$ document. Now we replace the probabilities in the above equation by the true distribution expression to write out the explicit equation.

${\displaystyle \int _{\theta _{j}}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})\,d\theta _{j}=\int _{\theta _{j}}{\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}\prod _{i=1}^{K}\theta _{j,i}^{\alpha _{i}-1}\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})\,d\theta _{j}.}$

Let ${\displaystyle n_{j,r}^{i}}$ be the number of word tokens in the ${\displaystyle j^{th}}$ document with the same word symbol (the ${\displaystyle r^{th}}$ word in the vocabulary) assigned to the ${\displaystyle i^{th}}$ topic. So, ${\displaystyle n_{j,r}^{i}}$ is three dimensional. If any of the three dimensions is not limited to a specific value, we use a parenthesized point ${\displaystyle (\cdot )}$ to denote. For example, ${\displaystyle n_{j,(\cdot )}^{i}}$ denotes the number of word tokens in the ${\displaystyle j^{th}}$ document assigned to the ${\displaystyle i^{th}}$ topic. Thus, the right most part of the above equation can be rewritten as:

${\displaystyle \prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})=\prod _{i=1}^{K}\theta _{j,i}^{n_{j,(\cdot )}^{i}}.}$

So the ${\displaystyle \theta _{j}}$ integration formula can be changed to:

${\displaystyle \int _{\theta _{j}}{\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}\prod _{i=1}^{K}\theta _{j,i}^{\alpha _{i}-1}\prod _{i=1}^{K}\theta _{j,i}^{n_{j,(\cdot )}^{i}}\,d\theta _{j}=\int _{\theta _{j}}{\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}\prod _{i=1}^{K}\theta _{j,i}^{n_{j,(\cdot )}^{i}+\alpha _{i}-1}\,d\theta _{j}.}$

Clearly, the equation inside the integration has the same form as the Dirichlet distribution. According to the Dirichlet distribution,

${\displaystyle \int _{\theta _{j}}{\frac {\Gamma \left(\sum _{i=1}^{K}n_{j,(\cdot )}^{i}+\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (n_{j,(\cdot )}^{i}+\alpha _{i})}}\prod _{i=1}^{K}\theta _{j,i}^{n_{j,(\cdot )}^{i}+\alpha _{i}-1}\,d\theta _{j}=1.}$

Thus,

{\displaystyle {\begin{aligned}\int _{\theta _{j}}P(\theta _{j};\alpha )\prod _{t=1}^{N}P(Z_{j,t}\mid \theta _{j})\,d\theta _{j}&=\int _{\theta _{j}}{\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}\prod _{i=1}^{K}\theta _{j,i}^{n_{j,(\cdot )}^{i}+\alpha _{i}-1}\,d\theta _{j}\\[8pt]&={\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}{\frac {\prod _{i=1}^{K}\Gamma (n_{j,(\cdot )}^{i}+\alpha _{i})}{\Gamma \left(\sum _{i=1}^{K}n_{j,(\cdot )}^{i}+\alpha _{i}\right)}}\int _{\theta _{j}}{\frac {\Gamma \left(\sum _{i=1}^{K}n_{j,(\cdot )}^{i}+\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (n_{j,(\cdot )}^{i}+\alpha _{i})}}\prod _{i=1}^{K}\theta _{j,i}^{n_{j,(\cdot )}^{i}+\alpha _{i}-1}\,d\theta _{j}\\[8pt]&={\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}{\frac {\prod _{i=1}^{K}\Gamma (n_{j,(\cdot )}^{i}+\alpha _{i})}{\Gamma \left(\sum _{i=1}^{K}n_{j,(\cdot )}^{i}+\alpha _{i}\right)}}.\end{aligned}}}

Now we turn our attentions to the ${\displaystyle {\boldsymbol {\varphi }}}$ part. Actually, the derivation of the ${\displaystyle {\boldsymbol {\varphi }}}$ part is very similar to the ${\displaystyle {\boldsymbol {\theta }}}$ part. Here we only list the steps of the derivation:

{\displaystyle {\begin{aligned}\int _{\boldsymbol {\varphi }}\prod _{i=1}^{K}P(\varphi _{i};\beta )\prod _{j=1}^{M}\prod _{t=1}^{N}P(W_{j,t}\mid \varphi _{Z_{j,t}})\,d{\boldsymbol {\varphi }}&=\prod _{i=1}^{K}\int _{\varphi _{i}}P(\varphi _{i};\beta )\prod _{j=1}^{M}\prod _{t=1}^{N}P(W_{j,t}\mid \varphi _{Z_{j,t}})\,d\varphi _{i}\\[8pt]&=\prod _{i=1}^{K}\int _{\varphi _{i}}{\frac {\Gamma \left(\sum _{r=1}^{V}\beta _{r}\right)}{\prod _{r=1}^{V}\Gamma (\beta _{r})}}\prod _{r=1}^{V}\varphi _{i,r}^{\beta _{r}-1}\prod _{r=1}^{V}\varphi _{i,r}^{n_{(\cdot ),r}^{i}}\,d\varphi _{i}\\[8pt]&=\prod _{i=1}^{K}\int _{\varphi _{i}}{\frac {\Gamma \left(\sum _{r=1}^{V}\beta _{r}\right)}{\prod _{r=1}^{V}\Gamma (\beta _{r})}}\prod _{r=1}^{V}\varphi _{i,r}^{n_{(\cdot ),r}^{i}+\beta _{r}-1}\,d\varphi _{i}\\[8pt]&=\prod _{i=1}^{K}{\frac {\Gamma \left(\sum _{r=1}^{V}\beta _{r}\right)}{\prod _{r=1}^{V}\Gamma (\beta _{r})}}{\frac {\prod _{r=1}^{V}\Gamma (n_{(\cdot ),r}^{i}+\beta _{r})}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i}+\beta _{r}\right)}}.\end{aligned}}}

For clarity, here we write down the final equation with both ${\displaystyle {\boldsymbol {\phi }}}$ and ${\displaystyle {\boldsymbol {\theta }}}$ integrated out:

${\displaystyle P({\boldsymbol {Z}},{\boldsymbol {W}};\alpha ,\beta )=\prod _{j=1}^{M}{\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}{\frac {\prod _{i=1}^{K}\Gamma (n_{j,(\cdot )}^{i}+\alpha _{i})}{\Gamma \left(\sum _{i=1}^{K}n_{j,(\cdot )}^{i}+\alpha _{i}\right)}}\times \prod _{i=1}^{K}{\frac {\Gamma \left(\sum _{r=1}^{V}\beta _{r}\right)}{\prod _{r=1}^{V}\Gamma (\beta _{r})}}{\frac {\prod _{r=1}^{V}\Gamma (n_{(\cdot ),r}^{i}+\beta _{r})}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i}+\beta _{r}\right)}}.}$

The goal of Gibbs Sampling here is to approximate the distribution of ${\displaystyle P({\boldsymbol {Z}}\mid {\boldsymbol {W}};\alpha ,\beta )}$. Since ${\displaystyle P({\boldsymbol {W}};\alpha ,\beta )}$ is invariable for any of Z, Gibbs Sampling equations can be derived from ${\displaystyle P({\boldsymbol {Z}},{\boldsymbol {W}};\alpha ,\beta )}$ directly. The key point is to derive the following conditional probability:

${\displaystyle P(Z_{(m,n)}\mid {\boldsymbol {Z_{-(m,n)}}},{\boldsymbol {W}};\alpha ,\beta )={\frac {P(Z_{(m,n)},{\boldsymbol {Z_{-(m,n)}}},{\boldsymbol {W}};\alpha ,\beta )}{P({\boldsymbol {Z_{-(m,n)}}},{\boldsymbol {W}};\alpha ,\beta )}},}$

where ${\displaystyle Z_{(m,n)}}$ denotes the ${\displaystyle Z}$ hidden variable of the ${\displaystyle n^{th}}$ word token in the ${\displaystyle m^{th}}$ document. And further we assume that the word symbol of it is the ${\displaystyle v^{th}}$ word in the vocabulary. ${\displaystyle {\boldsymbol {Z_{-(m,n)}}}}$ denotes all the ${\displaystyle Z}$s but ${\displaystyle Z_{(m,n)}}$. Note that Gibbs Sampling needs only to sample a value for ${\displaystyle Z_{(m,n)}}$, according to the above probability, we do not need the exact value of

${\displaystyle P\left(Z_{m,n}\mid {\boldsymbol {Z_{-(m,n)}}},{\boldsymbol {W}};\alpha ,\beta \right)}$

but the ratios among the probabilities that ${\displaystyle Z_{(m,n)}}$ can take value. So, the above equation can be simplified as:

{\displaystyle {\begin{aligned}P(&Z_{(m,n)}=k\mid {\boldsymbol {Z_{-(m,n)}}},{\boldsymbol {W}};\alpha ,\beta )\\[8pt]&\propto P(Z_{(m,n)}=k,{\boldsymbol {Z_{-(m,n)}}},{\boldsymbol {W}};\alpha ,\beta )\\[8pt]&=\left({\frac {\Gamma \left(\sum _{i=1}^{K}\alpha _{i}\right)}{\prod _{i=1}^{K}\Gamma (\alpha _{i})}}\right)^{M}\prod _{j\neq m}{\frac {\prod _{i=1}^{K}\Gamma \left(n_{j,(\cdot )}^{i}+\alpha _{i}\right)}{\Gamma \left(\sum _{i=1}^{K}n_{j,(\cdot )}^{i}+\alpha _{i}\right)}}\left({\frac {\Gamma \left(\sum _{r=1}^{V}\beta _{r}\right)}{\prod _{r=1}^{V}\Gamma (\beta _{r})}}\right)^{K}\prod _{i=1}^{K}\prod _{r\neq v}\Gamma \left(n_{(\cdot ),r}^{i}+\beta _{r}\right){\frac {\prod _{i=1}^{K}\Gamma \left(n_{m,(\cdot )}^{i}+\alpha _{i}\right)}{\Gamma \left(\sum _{i=1}^{K}n_{m,(\cdot )}^{i}+\alpha _{i}\right)}}\prod _{i=1}^{K}{\frac {\Gamma \left(n_{(\cdot ),v}^{i}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i}+\beta _{r}\right)}}\\[8pt]&\propto {\frac {\prod _{i=1}^{K}\Gamma \left(n_{m,(\cdot )}^{i}+\alpha _{i}\right)}{\Gamma \left(\sum _{i=1}^{K}n_{m,(\cdot )}^{i}+\alpha _{i}\right)}}\prod _{i=1}^{K}{\frac {\Gamma \left(n_{(\cdot ),v}^{i}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i}+\beta _{r}\right)}}\\[8pt]&\propto \prod _{i=1}^{K}\Gamma \left(n_{m,(\cdot )}^{i}+\alpha _{i}\right)\prod _{i=1}^{K}{\frac {\Gamma \left(n_{(\cdot ),v}^{i}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i}+\beta _{r}\right)}}.\end{aligned}}}

Finally, let ${\displaystyle n_{j,r}^{i,-(m,n)}}$ be the same meaning as ${\displaystyle n_{j,r}^{i}}$ but with the ${\displaystyle Z_{(m,n)}}$ excluded. The above equation can be further simplified leveraging the property of gamma function. We first split the summation and then merge it back to obtain a ${\displaystyle k}$-independent summation, which could be dropped:

{\displaystyle {\begin{aligned}&\propto \prod _{i\neq k}\Gamma \left(n_{m,(\cdot )}^{i,-(m,n)}+\alpha _{i}\right)\prod _{i\neq k}{\frac {\Gamma \left(n_{(\cdot ),v}^{i,-(m,n)}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i,-(m,n)}+\beta _{r}\right)}}\Gamma \left(n_{m,(\cdot )}^{k,-(m,n)}+\alpha _{k}+1\right){\frac {\Gamma \left(n_{(\cdot ),v}^{k,-(m,n)}+\beta _{v}+1\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{k,-(m,n)}+\beta _{r}+1\right)}}\\[8pt]&=\prod _{i\neq k}\Gamma \left(n_{m,(\cdot )}^{i,-(m,n)}+\alpha _{i}\right)\prod _{i\neq k}{\frac {\Gamma \left(n_{(\cdot ),v}^{i,-(m,n)}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i,-(m,n)}+\beta _{r}\right)}}\Gamma \left(n_{m,(\cdot )}^{k,-(m,n)}+\alpha _{k}\right){\frac {\Gamma \left(n_{(\cdot ),v}^{k,-(m,n)}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{k,-(m,n)}+\beta _{r}\right)}}\left(n_{m,(\cdot )}^{k,-(m,n)}+\alpha _{k}\right){\frac {n_{(\cdot ),v}^{k,-(m,n)}+\beta _{v}}{\sum _{r=1}^{V}n_{(\cdot ),r}^{k,-(m,n)}+\beta _{r}}}\\[8pt]&=\prod _{i}\Gamma \left(n_{m,(\cdot )}^{i,-(m,n)}+\alpha _{i}\right)\prod _{i}{\frac {\Gamma \left(n_{(\cdot ),v}^{i,-(m,n)}+\beta _{v}\right)}{\Gamma \left(\sum _{r=1}^{V}n_{(\cdot ),r}^{i,-(m,n)}+\beta _{r}\right)}}\left(n_{m,(\cdot )}^{k,-(m,n)}+\alpha _{k}\right){\frac {n_{(\cdot ),v}^{k,-(m,n)}+\beta _{v}}{\sum _{r=1}^{V}n_{(\cdot ),r}^{k,-(m,n)}+\beta _{r}}}\\[8pt]&\propto \left(n_{m,(\cdot )}^{k,-(m,n)}+\alpha _{k}\right){\frac {n_{(\cdot ),v}^{k,-(m,n)}+\beta _{v}}{\sum _{r=1}^{V}n_{(\cdot ),r}^{k,-(m,n)}+\beta _{r}}}\end{aligned}}}

Note that the same formula is derived in the article on the Dirichlet-multinomial distribution, as part of a more general discussion of integrating Dirichlet distribution priors out of a Bayesian network.

## Faster sampling

Recent research has been focused on speeding up the inference of latent Dirichlet Allocation to support capture of a massive number of topics in large number of documents. The update equation of the collapsed Gibbs sampler mentioned in the earlier section has a natural sparsity within it that can be taken advantage of. Intuitively, since each document only contains a subset of topics ${\displaystyle K_{d}}$, and a word also only appears in a subset of topics ${\displaystyle K_{w}}$, the above update equation could be rewritten to take advantage of this sparsity.[8]

${\displaystyle p(Z_{d,n}=k)\propto {\frac {\alpha \beta }{C_{k}^{\neg n}+V\beta }}+{\frac {C_{k}^{d}\beta }{C_{k}^{\neg n}+V\beta }}+{\frac {C_{k}^{w}(\alpha +C_{k}^{d})}{C_{k}^{\neg n}+V\beta }}}$

In this equation, we have three terms, out of which two of them are sparse, and the other is small. We call these terms ${\displaystyle a,b}$ and ${\displaystyle c}$ respectively. Now, if we normalize each term by summing over all the topics, we get:

${\displaystyle A=\sum _{k=1}^{K}{\frac {\alpha \beta }{C_{k}^{\neg n}+V\beta }}}$

${\displaystyle B=\sum _{k=1}^{K}{\frac {C_{k}^{d}\beta }{C_{k}^{\neg n}+V\beta }}}$

${\displaystyle C=\sum _{k=1}^{K}{\frac {C_{k}^{w}(\alpha +C_{k}^{d})}{C_{k}^{\neg n}+V\beta }}}$

Here, we can see that ${\displaystyle B}$ is a summation of the topics that appear in document ${\displaystyle d}$, and ${\displaystyle C}$ is also a sparse summation of the topics that a word ${\displaystyle w}$ has been observed by in the whole corpus. ${\displaystyle A}$ on the other hand, is dense but because of the small values of ${\displaystyle \alpha }$ & ${\displaystyle \beta }$, the value is very small compared to the two other terms.

Now, while sampling a topic, if we sample a random variable uniformly from ${\displaystyle s\sim U(s|A+B+C)}$, we can check which bucket our sample lands in. Since ${\displaystyle A}$ is small, we are very unlikely to fall into this bucket; however, if we do fall into this bucket, sampling a topic takes O(K) time (same as the original Collapsed Gibbs Sampler). However, if we fall into the other two buckets, we only need to check a subset of topics if we keep record of the sparse topics. A topic can be sampled from the ${\displaystyle B}$ bucket in ${\displaystyle O(K_{d})}$ time, and a topic can be sampled in ${\displaystyle O(K_{w}+K_{d})}$ time.

Notice that after sampling each topic, updating these buckets are all basic ${\displaystyle O(1)}$ arithmetic operations.

## Applications, extensions and similar techniques

Topic modeling is a classic problem in information retrieval. Related models and techniques are, among others, latent semantic indexing, independent component analysis, probabilistic latent semantic indexing, non-negative matrix factorization, and Gamma-Poisson distribution.

The LDA model is highly modular and can therefore be easily extended. The main field of interest is modeling relations between topics. This is achieved by using another distribution on the simplex instead of the Dirichlet. The Correlated Topic Model[9] follows this approach, inducing a correlation structure between topics by using the logistic normal distribution instead of the Dirichlet. Another extension is the hierarchical LDA (hLDA),[10] where topics are joined together in a hierarchy by using the nested Chinese restaurant process. LDA can also be extended to a corpus in which a document includes two types of information (e.g., words and names), as in the LDA-dual model.[11] Nonparametric extensions of LDA include the hierarchical Dirichlet process mixture model, which allows the number of topics to be unbounded and learnt from data and the nested Chinese restaurant process which allows topics to be arranged in a hierarchy whose structure is learnt from data.

As noted earlier, pLSA is similar to LDA. The LDA model is essentially the Bayesian version of pLSA model. The Bayesian formulation tends to perform better on small datasets because Bayesian methods can avoid overfitting the data. For very large datasets, the results of the two models tend to converge. One difference is that pLSA uses a variable ${\displaystyle d}$ to represent a document in the training set. So in pLSA, when presented with a document the model hasn't seen before, we fix ${\displaystyle \Pr(w\mid z)}$—the probability of words under topics—to be that learned from the training set and use the same EM algorithm to infer ${\displaystyle \Pr(z\mid d)}$—the topic distribution under ${\displaystyle d}$. Blei argues that this step is cheating because you are essentially refitting the model to the new data.

Variations on LDA have been used to automatically put natural images into categories, such as "bedroom" or "forest", by treating an image as a document, and small patches of the image as words;[12] one of the variations is called Spatial Latent Dirichlet Allocation.[13]

Recently, LDA has been also applied to bioinformatics context.[14]

LDA is often prone to creating topics that are not easily interpretable by humans. Recent extensions include generating topics from a user-defined seed set of keywords.[15]

## Notes

1. ^ a b Blei, David M.; Ng, Andrew Y.; Jordan, Michael I (January 2003). Lafferty, John, ed. "Latent Dirichlet Allocation". Journal of Machine Learning Research. 3 (4–5): pp. 993–1022. doi:10.1162/jmlr.2003.3.4-5.993.
2. ^ Pritchard, J. K.; Stephens, M.; Donnelly, P. (June 2000). "Inference of population structure using multilocus genotype data.". Genetics. 155 (2): pp. 945–959. ISSN 0016-6731.