自然语言处理之主题模型文本分类
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主题模型
假设有MMM篇文档,对应第d个文档中有有NdN_dNd个词。
目标是找到每一篇文档的主题分布和每一个主题中词的分布。在LDA模型中,我们需要先假定一个主题数目KKK,这样所有的分布就都基于KKK个主题展开。
LDA假设文档主题的先验分布是Dirichlet分布,即对于任一文档ddd, 其主题分布θd\theta_dθd为:
θd=Dirichlet(α⃗) \theta_d = Dirichlet(\vec \alpha) θd=Dirichlet(α)
其中,α\alphaα为分布的超参数,是一个KKK维向量。
LDA假设主题中词的先验分布是Dirichlet分布,即对于任一主题kkk, 其词分布βk\beta_kβk为:
βk=Dirichlet(η⃗) \beta_k=Dirichlet(\vec \eta) βk=Dirichlet(η)
其中,η\etaη为分布的超参数,是一个VVV维向量。VVV代表词汇表里所有词的个数。
对于数据中任一一篇文档ddd中的第nnn个词,我们可以从主题分布θd\theta_dθd