Sparse LDA
LDA
p(zdi=k|rest)∝(n−dikd+αk)(n−dikw+βw)n−dik+β¯
其中, w 表示
Sparse LDA算法
LDA模型中的
n−dikd
和
n−dikw
在实际应用中往往非常稀疏,基于这样的一个事实,我们对LDA的采样公式做如下变换:
p(zdi=k|rest)∝(n−dikd+αk)(n−dikw+βw)n−dik+β¯=n−dikw(n−dikd+αk)n−dik+β¯+n−dikdβwn−dik+β¯+βwαkn−dik+β¯
对上式求和:
Q=∑kp(zdi=k|rest)∝∑k(n−dikd+αk)(n−dikw+βw)n−dik+β¯=∑kn−dikw(n−dikd+αk)n−dik+β¯+∑kn−dikdβwn−dik+β¯+∑kβwαkn−dik+β¯=E+F+G=∑ke(k)+∑kf(k)+∑kg(k)
其中,
c(z=k)=n−dikd+αkn−dik+β¯e(z=k)=n−dikwc(k)f(z=k)=n−dikdβwn−dik+β¯g(z=k)=βwαkn−dik+β¯
其中,
E
包含
采样词的主题时,首先计算
Q=E+F+G
,然后生成一个随机变量
U∼Uniform(0,Q)
,根据
U
的值决定在三个桶里哪个进行采样:
- 如果
- 如果
U<E+F
,主题落在“document topic”桶内;
- 否则主题落在平滑桶里。
对于每次迭代中的一篇文档来说,
F
项对于该文档中的每个词都一样,因此只需要计算一遍,而且计算的大小为
伪代码
参考文献
- Yao, L., Mimno, D., & Mccallum, A. (2009). Efficient methods for topic model inference on streaming document collections. (pp.937-946).