ref:

(详细推导见该链接)


LDA模型中用到的数学知识:

  1. 一个函数:gamma函数
  2. 四个分布:二项分布、多项分布、beta分布、Dirichlet分布
  3. 一个概念和一个理念:共轭先验和贝叶斯框架
  4. 两个模型:pLSA、LDA
  5. 一个采样:Gibbs采样

      


      gamma函数和几个分布如下:


  • gamma函数,阶乘在实数域上的推广

                   

伽马分布python代码不用库函数 伽马函数的分布函数_概率密度函数




                   


伽马分布python代码不用库函数 伽马函数的分布函数_二项分布_02


  • 二项分布(Binomial distribution)

    二项分布是从伯努利分布推进的。伯努利分布,又称两点分布或0-1分布,是一个离散型的随机分布,其中的随机变量只有两类取值,非正即负{+,-}。而二项分布即重复n次的伯努利试验,记为 

伽马分布python代码不用库函数 伽马函数的分布函数_伽马分布python代码不用库函数_03

。简言之,只做一次实验,是伯努利分布,重复做了n次,是二项分布。二项分布的概率密度函数为:




    

    对于k = 0, 1, 2, ..., n,其中的

伽马分布python代码不用库函数 伽马函数的分布函数_取值_04

是二项式系数(这就是二项分布的名称的由来),又记为


伽马分布python代码不用库函数 伽马函数的分布函数_取值_05

。回想起高中所学的那丁点概率知识了么:想必你当年一定死记过这个二项式系数


伽马分布python代码不用库函数 伽马函数的分布函数_取值_05

就是


伽马分布python代码不用库函数 伽马函数的分布函数_概率密度函数_07



  • 多项分布,是二项分布扩展到多维的情况




伽马分布python代码不用库函数 伽马函数的分布函数_取值_08



    多项分布的概率密度函数为:


伽马分布python代码不用库函数 伽马函数的分布函数_概率密度函数_09


  • Beta分布,二项分布的共轭先验分布


    给定参数

伽马分布python代码不用库函数 伽马函数的分布函数_伽马分布python代码不用库函数_10


伽马分布python代码不用库函数 伽马函数的分布函数_伽马分布python代码不用库函数_11

,取值范围为[0,1]的随机变量 x 的概率密度函数 :


伽马分布python代码不用库函数 伽马函数的分布函数_伽马分布python代码不用库函数_12




伽马分布python代码不用库函数 伽马函数的分布函数_取值_13

伽马分布python代码不用库函数 伽马函数的分布函数_取值_14

。 


   注:

伽马分布python代码不用库函数 伽马函数的分布函数_二项分布_15

便是所谓的gamma函数,下文会具体阐述。

  • Dirichlet分布,是beta分布在高维度上的推广




伽马分布python代码不用库函数 伽马函数的分布函数_二项分布_16



    其中


伽马分布python代码不用库函数 伽马函数的分布函数_概率密度函数_17



    


    至此,我们可以看到 二项分布和多项分布很相似, Beta分布和Dirichlet 分布很相似,而至于 Beta分布是二项式分布的共轭先验概率分布,而狄利克雷分布 (Dirichlet分布)是多项式分布的共轭先验概率分布