主题模型LDA

多项分布和狄利克雷分布

多项分布

某随机实验如果有k个可能结局A1、A2、…、Ak,分别将他们的出现次数记为随机变量X1、X2、…、Xk,它们的概率分布分别是p1,p2,…,pk,那么在n次采样的总结果中,A1出现n1次、A2出现n2次、…、Ak出现nk次的这种事件的出现概率P有下面公式:

P(X1=n1,...,Xk=nk)={n!n1!...nk!pn11...pnkk0,ki=1ni=n;,otherwise

另一种形式写为:
P(X1=n1,...,Xk=nk)=n!i=1kpniini!0,ki=1ni=n;,otherwise

多项分布可以看作时候二项分布推广到多维的形式

狄利克雷分布

dirichlet distribution就是由2种结果bernoulli trial导出的beta distribution外推到k种的generalization
K阶段狄利克雷分布的概率密度函数如下:
f(x1,...,xK;a1,...,aK)=1B(a)Kk=1pak1k,pk[0,1]
简记为
Dir(p|a)=1B(a)Kk=1pak1k,其中
B(a)=k=1KΓ(ak)Γ(k=1Kak)
期望
E(pi)=aik=1Kak
协方差
Cov(pi,pj)=aia0[i=j]aiaja20(a0+1)
a0=Kk=1ak

对称狄利克雷分布

在对称狄利克雷分布中所有ai的取值相同,所以分布可以由唯一的ak和阶数K确定。
Dir(p|a,K)=1BK(a)k=1Kpa1k
其中
Bk(a)=ΓK(ak)Γ(Ka)
对称狄利克雷分布性质

  • a=1,退化为均匀分布(类比Beta(1,1))
  • a>1时,p1=p2=...=pk的概率增加(更偏向于各分量取值相同)
  • a<1时,pi=1,pi=0的概率增大,(偏向于某分量取值更大)

共轭性质

类比于二项分布的共轭先验是Beta分布,多项分布的共轭先验是狄利克雷分布。
假设参数x=(x1,x2,...,xk)有先验分布Dir(K,a1,...,ak),即
p(x;a1,...,ak)=1B(a)i=1kxai1i
另有似然函数
p(y|x)Multi(x)
则后验概率
p(x|y)1Zi=1kxai+ni1i
与Dirichlet分布形式一致。
主题模型LDA

主题模型

主题模型是一族生成式有向图模型,主要用于处理离散型的数据(如文本集合)。LDA是主题模型的典型代表。

基本概念

词word是待处理数据的基本离散单元。
文档document是待处理的数据对象,由一组词组成,这些词在文档是不计顺序的。
话题topic表示一个概念,表示为一系列相关的词,以及它们在该概念下出现的概率。

LDA中的两个关键要素

  • 一系列关于词语的分布(topics)
  • 每个文档有一个话题的分布

LDA生成过程

  • 生成每个话题,就是一个词语的分布
    βkDirichlet(γ),k=1,...,K
  • 对于每一个文档,生成一个关于话题的分布
    θdDirichelet(a),d=1,...,D
  • 对于第d篇文档中的第n各词语xdn
    1. 将其分配给一个主题
      cdnDiscrete(θd)
    2. 从选择的话题中生成词语
      xdnDisccrete(βcdn)

LDA和矩阵分解

对于一篇特定的文档d,如何计算P(xdn=i|β,θd)?
通过将话题的簇分配积分得到。

P(xdn=i|β,θ)=k=1KP(xdn=i,cdn=k|β,θd)=k=1KP(xdn=i|β,cdn=k)P(cdn=k|θd)=k=1Kβkiθdk

现在令B=[β1,...,βK]Θ=[θ1,...,θD],则P(xdn=i|β,θ)=(BΘ)id
换句话说,我们可以通过一个由两个含有非负项的矩阵相乘得到的矩阵得到。