自然语言处理之主题模型文本分类
LDA主题模型
1.主题模型(Topic Model)
主题模型是以非监督学习的方式对文集的隐含语义结构进行聚类的统计模型。主题模型主要被用于自然语言处理中的语义分析和文本挖掘问题,例如按主题对文本进行收集、分类和降维。隐含狄利克雷分布是常见的主题模型。
2.隐含狄利克雷分布LDA(Latent Dirichlet Allocation)
1)贝叶斯模型
LDA模型基于贝叶斯模型,
2)多项式分布
多项分布,是二项分布扩展到多维的情况。 多项分布是指单次试验中的随机变量的取值不再是0-1的,而是有多种离散值可能。概率密度函数为:
3)狄利克雷分布
Dirichlet的概率密度函数为:
其中,
4)共轭分布
在贝叶斯概率理论中,如果后验概率 P ( θ ∣ x ) P(θ|x) P(θ∣x)和先验概率 p ( θ ) p(θ) p(θ)满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布。狄利克雷(Dirichlet)分布是多项式分布的共轭分布。
5)LDA主题模型
假设有 M M M篇文档,对应第d个文档中有有 N d N_d Nd个词。
目标是找到每一篇文档的主题分布和每一个主题中词的分布。在LDA模型中,我们需要先假定一个主题数目 K K K,这样所有的分布就都基于 K K K个主题展开。
LDA假设文档主题的先验分布是Dirichlet分布,即对于任一文档 d d d, 其主题分布 θ d \theta_d θd为:
θ d = D i r i c h l e t ( α ⃗ ) \theta_d = Dirichlet(\vec \alpha) θd=Dirichlet(α)
其中, α \alpha α为分布的超参数,是一个 K K K维向量。
LDA假设主题中词的先验分布是Dirichlet分布,即对于任一主题 k k k, 其词分布 β k \beta_k βk为:
β k = D i r i c h l e t ( η ⃗ ) \beta_k=Dirichlet(\vec \eta) βk=Dirichlet(η)
其中, η \eta η为分布的超参数,是一个 V V V维向量。 V V V代表词汇表里所有词的个数。
对于数据中任一一篇文档 d d d中的第 n n