LDA主题模型
哈尔滨工程大学-537
一、LDA主题模型简介
LDA(Latent Dirichlet Allocation)中文翻译为:潜在狄利克雷分布。LDA主题模型是一种文档生成模型,是一种非监督机器学习技术。它认为一篇文档是有多个主题的,而每个主题又对应着不同的词。一篇文档的构造过程,首先是以一定的概率选择某个主题,然后再在这个主题下以一定的概率选出某一个词,这样就生成了这篇文档的第一个词。不断重复这个过程,就生成了整篇文章(当然这里假定词与词之间是没有顺序的,即所有词无序的堆放在一个大袋子中,称之为词袋,这种方式可以使算法相对简化一些)。
LDA的使用是上述文档生成过程的逆过程,即根据一篇得到的文档,去寻找出这篇文档的主题,以及这些主题所对应的词。
白话解释:比如document1的内容为:[自从乔布斯去世之后,iPhone再难以产生革命性的创新了]
通过上述的方法,document1将对应两个主题topic1,topic2,进而,主题topic1会对应一些词:[苹果创始人][苹果手机],主题topic2会对应一些词:[重大革新][技术突破]。于是LDA模型的好处显而易见,就是可以挖掘文档中的潜在词或者找到两篇没有相同词的文档之间的联系。
二、算法流程
(超详细,超通俗易懂,逻辑脉络超清晰)
我们以文档集合D中的文档d为例,文档d中包含单词序列 <w1,w2,...wn> < w 1 , w 2 , . . . w n > <script type="math/tex" id="MathJax-Element-59"> </script>, wi w i 表示第 i i 个单词,设d中有
个单词;
文档集合D中出现的全部词组成 Vocabulary V o c a b u l a r y ;
首先将文档d作为算法的输入,并输入主题数K,此时d对应到各个主题的概率为 θd=(pt1,pt2,...ptk) θ d = ( p t 1 , p t 2 , . . . p t k ) , pti p t i 为d对应第 i i 个主题的概率;
此时输入到算法中的只有文档d和主题数K,那么
的数值从何而来?
我们首先人为设置文档d中对应主题 t1,t2,...tk t 1 , t 2 , . . . t k 的词的个数,比如文档d中5个词对应主题 t1 t 1 ,7个词对应主题 t2 t 2 ,…,4个词对应主题 tk t k ,那么此时,我们就人为确定了一个参数向量(5,7,…4),将这个向量记作 α⃗ α → ,这个我们人为设置的参数向量称为超参数。
那么如何将超参数 α⃗ α → 转化为概率分布 θd=(pt1,pt2,...ptk) θ d = ( p t 1 , p t 2 , . . . p t k ) 呢?
这里我们引入狄利克雷分布函数: