Latent Dirichlet Allocation 记要

   最近一段时间一直在学习LDA模型以及相关变体,从graphic model到gibbs sampling,再到variational inference,这其中涉及较多数学知识,而且概念较为抽象。在这里写一篇关于LDA的完整理解。

1  两种重要的概率分布

          想要理解LDA,不得不熟悉两种概率分布:多项式分布和dirichlet分布。

      1.1 Dirichlet分布

               Dirichlet分布是一种多变量的概率分布,参数为K维的α,记为Dir(α)。

               概率密度函数为:

                                 Dir(x;α)  =                                  (1)

                                        其中:

                                                                        

            Dirichlet分布变量为K维的向量x,参数alpha描述了K维向量x的分布。

    1.2 多项式分布

            自然语言处理中多项式分布往往指的是Categorical distribution,而不是Multinomial Distribution。

            Categorical distribution 描述的是 有K个事件,每个事件发生的概率为p1,p2,...,pk, 求某个事件发生的概率。

            那么它的概率密度函数就为:


                                                                (2)

                      其中,p为各个事件发生的K维概率向量,和为1。X为K维的indicator vetor。例如:X= [0,0,0,1,0...0]表示第四个事件发生。


2  Bayes inference

            贝叶斯推断的基础是贝叶斯定理。假设模型M的参数为 ϑ,观测数据为规模为N的向量X = {x1,x2,x3,...,xN}。

            那么我们有:

                                                            P(X|ϑ)*P(ϑ)

                                          P(ϑ|X) = ------------------------                       (3)

                                                                P(X)

                 可以简单记为:

                                                              Likelyhood*Prior

                                       Posterior =  ---------------------------

                                                                 Evidence

           应用这个公式,产生了两种模型参数估计方法。

           2.1  最大似然估计(MLE)

                    MLE仅仅使用式3中的likelyhood:P(X|ϑ) 来估计参数ϑ。这个方法在大学概率课本中很常见。

                                          ϑ =  arg max{P(X|ϑ) }                       (4)

                 将观测值代入式(4)中,求使得式(4)取得极大值的ϑ值。该ϑ值最好地解释了当前的观测值X。

         2.2   最大后验估计(MAP)

                    MAP比MLE更近一步,直接最大化式(3),求ϑ值。由于evidence是常量,所以并不影响最大化的求值,所以

                                       ϑ =  arg max{ P(X|ϑ*P(ϑ)) }              (5)


3   共轭概率分布

          共轭概率分布是指两种概率分布具有相似的概率密度函数,两种概率密度函数的乘积也可以表示为其中一种概率密度函数。例如Dirichlet 和 多项式分布就是一对共轭分布:

                                            Dir(p;α) * Multi(x;p) = Dir(p;x+α)        (6)

         其中式(6),Multi(x;p)可以看做式(3)中的likelyhood,即向量X为观测数据,p为产生该观测数据的模型的参数。而 Dir(p;α)可以看做prior了,即先验概率,那么Dir(p;x+α)为后验概率了。

         在统计学中,针对piror存在两种学派之争:频率学派和贝叶斯学派。而上式中假设prior服从参数为α的分布,是典型的贝叶斯学派的做法。

         LDA中使用dirichlet和多项式分布这对共轭分布,极大地方便了运算。可以根据先验参数和观测数据,轻易地写出模型参数的后验概率,即Dir(p;x+α)。


4 LDA模型

          模型的贝叶斯网络图:

                                        

         LDA是一个生成模型,即定义了生成过程来产生数据。使用LDA生成语料库的过程如下:

                       

                     

        生成过程可描述如下:

                  1   对每一个主题:

                                  使用V维向量β作为dirichlet参数,抽样一个V维的多项式分布的参数向量(词分布变量)。

                  2

                      对每篇文档:

                                  使用K维向量α作为dirichlet参数,抽样K维的多项式分布的参数向量(主题分布变量)

                                   对每个词:

                                              利用多项式分布的参数向量,抽样一个主题z

                                              利用主题z和V维的多项式分布的参数向量,抽样一个词w


  

                       








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值