LDA主题模型笔记
LDA图模型
每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。如下图:
K为主题个数,M为文档总数,是第m个文档的单词总数。 是每个Topic下词的多项分布的Dirichlet先验参数, 是每个文档下Topic的多项分布的Dirichlet先验参数。是第m个文档中第n个词的主题,是m个文档中的第n个词。剩下来的两个隐含变量和分别表示第m个文档下的Topic分布和第k个Topic下词的分布,前者是k维(k为Topic总数)向量,后者是v维向量(v为词典中term总数)。
gipps采样过程:
- Gibbs Sampling算法的运行方式是每次选取概率向量的一个维度,给定其他维度的变量值采样当前维度的值。不断迭代直到收敛输出待估计的参数。
- 初始时随机给文本中的每个词分配主题,然后统计每个主题z下出现词t的数量以及每个文档m下出现主题z的数量,每一轮计算,即排除当前词的主题分布:根据其他所有词的主题分布估计当前词分配各个主题的概率。
- 当得到当前词属于所有主题z的概率分布后,根据这个概率分布为该词采样一个新的主题。
- 用同样的方法更新下一个词的主题,直到发现每个文档的主题分布和每个主题的词分布收敛,算法停止,输出待估计的参数θ和φ,同时每个单词的主题也可同时得出。
- 实际应用中会设置最大迭代次数。每一次计算的公式称为Gibbs updating rule。
各个标识符含义:
:第m篇文档的一个n维词向量《向量\分布》,:第m篇文档中第n个词对应的词编号《数值\词》。
:第m篇文档的一个n维主题向量《向量\分布》,:第m篇文档中第n个词对应的主题编号《数值\主题》。
:第m篇文档的一个k维主题分布《向量\分布》。
:K个主题对应的词分布《K个(向量\分布)》,:编号的主题对应的词分布,n维向量《向量\分布》。
:文档的主题先验概率分布,k维向量《M个(向量\分布)》,一般为数值,取1/topicNum《数值\小于1》。
:主题词的先验概率分布,n维向量《K个(向量\分布)》,一般为数值,取0.01《数值\小于1》。
第m篇文章的联合概率分布:
第m篇文章中的第n个词的概率分布:
整个文档集合的似然函数为:
联合分布:
,第z个主题对应的V维词分布向量,,第z个主题对应的V维向量中词t出现的次数。
,第m篇文档对应的K维主题分布向量,,第m篇文档对对应的K维向量中主题k出现的次数。
其中:
, ,
Gibbs updating rule
评价(困惑度,perplexity)
参考:
1、邹博老师的LDA和采样PPT
2、LDA数学八卦
3、Latent Dirichlet Allocation,http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
4、https://blog.****.net/jiaqiang_ruan/article/details/77989459?locationNum=2&fps=1