天天看点

LDA主题模型之基础数学知识

二项分布和Beta分布

二项分布

随机变量 X X 服从二项分布,写作X∼Bin(n,p)X∼Bin(n,p),它的概率质量函数为:

P(X=k)=(nk)pk(1−p)n−k P ( X = k ) = ( n k ) p k ( 1 − p ) n − k

例如有一位NBA球员,他的命中率是0.55,现在他投了6次,那么他命中2次的概率是 (62)0.552(1−0.55)6−2=0.19 ( 6 2 ) 0.55 2 ( 1 − 0.55 ) 6 − 2 = 0.19 。

Beta分布

Beta分布被用来描述概率的概率。

X∼Beta(α,β) X ∼ B e t a ( α , β ) :

f(x)=xα−1(1−x)β−1∫10uα−1(1−u)β−1du,x∈[0,1] f ( x ) = x α − 1 ( 1 − x ) β − 1 ∫ 0 1 u α − 1 ( 1 − u ) β − 1 d u , x ∈ [ 0 , 1 ]

期望 E(X)=αα+β E ( X ) = α α + β 。

假如我们这个NBA球员上一赛季的命中率是0.55,我们想预测他当前赛季的命中率。本来命中率就是一个概率,现在我们把它当做自变量,这也就是为什么Beta分布描述的是概率的概率。

现在赛季刚开始,他投了3个球,然后都没中,如果我们直接预测他的命中率 p=0/3=0 p = 0 / 3 = 0 ,这貌似就有点不太合理了,比较合理的是利用他上一赛季的命中率信息(这在统计学中也叫做先验)。

这里就可以用到Beta分布了,设 α=55,β=45 α = 55 , β = 45 ,求得期望 E(X)=0.55 E ( X ) = 0.55 ,这样就用到了他上一赛季的信息,这样一开始他的命中率大概是0.55。

当他投了3个球,0中,那就是 α+0=55,β+3=48 α + 0 = 55 , β + 3 = 48 ,求得期望 E(X)=0.53 E ( X ) = 0.53 ,现在就可以预测他的命中率大概是0.53。

当他投了100个球,60中,那就是 α+60=115,β+40=85 α + 60 = 115 , β + 40 = 85 ,求得期望 E(X)=0.575 E ( X ) = 0.575 ,现在就可以预测他的命中率大概是0.575了。

可以发现,利用了Beta分布之后,可以随着比赛进行,不断更新他的命中率预测。

多项式分布和Dirichlet分布

多项式分布

多项式分布是二项分布从二维向多维的拓展, X∼Mul(n,p1,p2,...,pm) X ∼ M u l ( n , p 1 , p 2 , . . . , p m ) :

P(X1=k1,...,Xm=km)=n!k1!⋯km!pk11⋯pkmm,∑i=1mki=n P ( X 1 = k 1 , . . . , X m = k m ) = n ! k 1 ! ⋯ k m ! p 1 k 1 ⋯ p m k m , ∑ i = 1 m k i = n

还是那个NBA球员的例子,如果他的投篮命中率是0.55,打铁率0.25,空炮率0.2(这里可能女生有点没概念,打铁也就是碰到篮筐但没中,空炮也就是Air Ball,篮筐、篮板、篮网都没碰到,我们这里将命中打铁之外的都当做空炮),他投了6次,那其中2次命中,3次打铁,1次空炮的概率是: 6!2!⋅3!⋅1!⋅0.552⋅0.253⋅0.21=0.06 6 ! 2 ! ⋅ 3 ! ⋅ 1 ! ⋅ 0.55 2 ⋅ 0.25 3 ⋅ 0.2 1 = 0.06 。

狄利克雷分布

狄利克雷分布是Beta分布从二维向多维的拓展, X∼Dir(α1,⋯,αm) X ∼ D i r ( α 1 , ⋯ , α m ) :

f(x1,⋯,xm)=∏mi=1xαi−1i∫10⋯∫10∏mi=1uαi−1idu1⋯dum f ( x 1 , ⋯ , x m ) = ∏ i = 1 m x i α i − 1 ∫ 0 1 ⋯ ∫ 0 1 ∏ i = 1 m u i α i − 1 d u 1 ⋯ d u m

其中分母是一个多重积分, ∀xi∈[0,1] ∀ x i ∈ [ 0 , 1 ] , ∑mi=1xi=1 ∑ i = 1 m x i = 1 。

期望 E(X)=(α1∑mi=1αi,αi∑mi=1αi,⋯,αm∑mi=1αi) E ( X ) = ( α 1 ∑ i = 1 m α i , α i ∑ i = 1 m α i , ⋯ , α m ∑ i = 1 m α i ) 。

我们可以发现,狄利克雷分布的概率密度函数是一个多元函数,每个自变量的取值范围都是[0,1]。

还是以那个NBA球星作为例子,假设他上一个赛季出手投篮共100次(命中55次,打铁25次,空炮20次),我们设 α1=55,α2=25,α3=20 α 1 = 55 , α 2 = 25 , α 3 = 20 。

他投了10次(命中8,打铁1,空炮1),预测他的命中率,打铁率,空炮率分别为:

x1=55+8(55+8)+(25+1)+(20+1)=0.57x2=25+1(55+8)+(25+1)+(20+1)=0.23x3=20+1(55+8)+(25+1)+(20+1)=0.20 x 1 = 55 + 8 ( 55 + 8 ) + ( 25 + 1 ) + ( 20 + 1 ) = 0.57 x 2 = 25 + 1 ( 55 + 8 ) + ( 25 + 1 ) + ( 20 + 1 ) = 0.23 x 3 = 20 + 1 ( 55 + 8 ) + ( 25 + 1 ) + ( 20 + 1 ) = 0.20

Gibbs Sampling

继续阅读