来自于原文(Latent Dirichlet Allocation David M. Blei, Andrew Y. Ng, Michael I. Jordan)的定义:
Latent Dirichlet allocation (LDA) is a generative probabilistic model of a corpus. The basic idea is that 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 each document w in a corpus D:
1. Choose N ~ Poisson(ξ).
2. Choose θ ~ Dir(α).
3. For each of the N words w
n:
(a) Choose a topic z
n ~ Multinomial(θ).
(b) Choose a word w
n from p(w
n | z
n,β), a multinomial probability conditioned on the topic z
n.
1. N服从泊松分布。泊松分布是一个离散分布,主要适合于描述单位时间内随机事件发生的次数。分布图可以看
这里。这里的N就是文档的长度。论文里讲泊松分布并不是关键的,可以替换成其他离散分布。
2. θ是一个k维向量。这个k维向量服从狄利克雷分布。狄利克雷分布(Dirichlet distribution)是一个连续多随机变量分布。要理解狄利克雷分布,需要了解共轭先验。存疑。
具体性质可以看
这里。
这里的k是一个定义好的数,怎么定的不知道,反正是要生成这样一个k维向量。存疑。
3. 生成好N和θ后,开始生成文档。对于每一个单词(文档有N个单词):
(a) 生成一个主题z
n,z
n服从θ做参数的多项式分布。多项式分布是二项分布的泛化。
首先解释一下二项分布:设试验E只有两个可能结果A和非A,且P(A) = p,即A的概率是p,今将试验E独立重复地进行n次,这样的试验我们称之为n重贝努里试验(n independent Bernoulli trials),我们关心的是在这n次试验中A发生的次数。以随机变量X表示n次试验中A发生的次数,则X服从参数为n,p的二项分布,记为X~B(n, p)。它的分布律为P(X=k)=C(k,n)*p^k*q^(n-k), k=0, 1, 2, ... , n. q = 1-p
那么多项式分布就可以这样描述:
设试验E有k中可能结果A1, A2, ... . Ak,其概率为p1, p2, ... , pk. (p1+p2+...+pk = 1),今将试验E独立重复地进行n次,我们关心的是在这n次试验中A1, A2, ... . Ak发生的次数,记为向量X = (X1, X2, X3, .... , Xk),(X1+X2+...Xk=n)。则X服从参数为n, p的多项式分布。p=(p1, p2, ... , pk).其概率质量函数(probability mass function)见
这里。
这里的参数n是1(文中没写,费老大劲猜的。应该叫分类分布categorical distribution更准确),所以k维向量可能的取值:(1, 0, 0, ..., 0),(0, 1, 0, ..., 0), (0, 0, 1, ..., 0) ... (0, 0, 0, ..., 1),对应的概率就是p1, p2, p3, ... , pk.
这样就好理解了,k就是主题的数量,p1, p2, p3, ... , pk就是各个主题的概率。(p1, p2, p3, ... , pk)又服从狄利克雷分布。狄利克雷分布刚好又有x1+x2+x3+...+xk=1的性质。
(b) β是一个k*V的矩阵。k就是主题个数,V是词语个数。每个词w都表示成一个V维向量,其中只有一个元素值为1,其他都为0。β矩阵里的值β
ij表示词j在主题i中出现的概率。给定一个主题z
n和β矩阵,实际上就是取了矩阵的一行,该行的意思就是某主题下单词的分布。根据这个分布产生一个单词。