潜在狄利克雷分配(latent Dirichlet allocation,LDA),作为基于贝叶斯学习
的话题模型,是潜在语义分析、概率潜在语义分析的扩展,于2002年由Blei等提出。LDA在文本数据挖掘、图像处理、生物信息处理等领域被广泛使用。
LDA模型是文本集合的生成概率模型
文本
由话题的一个多项分布
表示
话题
由单词的一个多项分布
表示
文本的话题分布
的先验分布是狄利克雷分布
话题的单词
分布的先验分布也是狄利克雷分布
LDA的文本集合的生成过程如下:
LDA模型是含有隐变量
的概率图模型
狄利克雷分布(Dirichlet distribution)是一种多元连续随机变量的概率分布,是贝塔分布(beta distribution)的扩展。在贝叶斯学习中,狄利克雷分布常作为多项分布的先验分布使用。
定义:
LDA模型是概率图模型:
狄利克雷分布
为多项分布的先验分布利用LDA进行话题分析,就是对给定文本集合,学习到每个文本的话题分布,以及每个话题的单词分布。
狄利克雷分布
作为先验分布,而PLSA不使用先验分布
(或者说假设先验分布是均匀分布),两者对文本生成过程有不同假设LDA模型的学习与推理不能直接求解。
吉布斯抽样算法
和变分EM算法
蒙特卡罗法
,而后者是近似算法
sklearn.decomposition.LatentDirichletAllocation官网介绍
class sklearn.decomposition.LatentDirichletAllocation(n_components=10,
doc_topic_prior=None, topic_word_prior=None, learning_method='batch',
learning_decay=0.7, learning_offset=10.0, max_iter=10, batch_size=128,
evaluate_every=-1, total_samples=1000000.0, perp_tol=0.1,
mean_change_tol=0.001, max_doc_update_iter=100, n_jobs=None, verbose=0,
random_state=None)
n_components
, optional (default=10),话题数量