LDA主题模型
LDA 简介
LDA模型:Latent Dirichlet Allocation是Blei 等人于2003年提出的基于概率模型的主题模型算法,它是一种非监督机器学习技术,可以用来识别大规模文档集或预料库中的潜在隐藏的主题信息。
LDA算法的核心思想:每篇文章由多个主题mix混合而成的,而每个主题可以由多个词的概率表征。该方法假设每个词是由背后的一个潜在隐藏的主题中抽取的。
而对于每篇文档:
1.对于每篇文档,从主题分布中抽取一个主题。
2.从上述抽到的主题所对应的单词分布中抽取一个单词。
3.重复上述过程直至遍历文档中的每个单词。
LDA 算法的输入
算法输入:分词后的文章集、主题数K、超参数 α 和 β
算法输出:
1.每篇文章的各个词被指定的主题编号:tassign-model.txt
2.每篇文章的主题概率分布 θ :theta-model.txt
3.每个主题下的词概率分布 ϕ :phi-model.txt
4.程序中词语word的id映射表:wordmap.txt
5.每个主题下 ϕ 概率排序从高到低top n特征词:twords.txt
必备的数学知识
Gamma函数
gamma函数其实就是阶乘的函数,比如n!=1*2*3*….n,这个阶乘形式可以更一般化,不局限于整数。而更一般的函数形式就是gamma函数:
Γ(x)=∫+∞0e−ttx−1dt(x>0)
Γ(1)=∫+∞0e−tdt=−[e−t]+∞0=1 , Γ(12)=π‾‾√ , Γ(x+1)=xΓ(x) , Γ(n)=(n−1)!
有兴趣可以证明一下,感觉复杂的记住就可以了。
二项分布(Binomial distribution)
二项分布即重复n次独立的伯努利实验。每次实验的结果只能是1或者0,每次实验相互独立,当实验次数为1时,就是伯努利分布,每次为1的概率都是相等的。
二项分布的概率公式:
P=Cknpk(1−p)n−k其中p为成功的概率,记作X~B(n,p)
beta分布(beta distribution)
beta分布是指一组定义在区间(0,1)的连续概率分布,有两个参数 α 和 β ,且 α , β >0.它是一个作为伯努利分布与二项分布的共轭先验分布的密度函数。
例:空气中的相对湿度可能符合beta分布(主要帮助大家理解). 相对湿度即现在的含水量与空气中的最大含水量(饱和含水量)的比值,显然该值只能出现于0-1之间。空气中出现某个相对湿度具有随机性。
Beta分布的概率密度函数: