PRML:多元变量分布

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qilixuening/article/details/76472696

考虑有 K 个状态的问题。

我们用一个 K 维的向量 (x1,,xK) 来表示这些状态,第 k 个状态用 xk=1,xj=0,jk 表示。

例如 x=(0,0,1,0,0,0)T 表示 K=6 的第 3 个状态。

这些向量都满足 Kk=1xk=1

假设 xk=1 的概率为 μk ,则 x 的分布为:

p(x | μ)=k=1Kμxkk

其中 μ=(μ1,,μK)T ,且满足 μk0,jμk=1

这可以看成是伯努利分布的一般化表示。为了验证它是概率分布,我们有

xp(x | μ)=k=1Kμk=1

均值为

E[x|μ]=xxp(x | μ)=(μ1,,μK)T=μ

最大似然估计

考虑一组 i.i.d. 的观测数据 D=(x1,,xN) ,其似然函数为

p(D|μ)=n=1Nk=1Kμxnkk=k=1Kμ(nxnk)k=k=1Kμmkk

其中

mk=nxnk

表示出现 xk=1 的次数,这些也是这个分布的充分统计量。

Kk=1μk=1 的约束条件下,为了最大化对数似然,我们考虑它的拉格朗日函数:

k=1Kmklnμk+λ(k=1Kμk1)

μk 的偏导设为 0 ,有:

μk=mkλ

带入约束条件得到:

μMLk=mkN

xk=1 在观测数据中所占的比例。

如果只考虑 m1,,mK ,那么我们可以定义多项分布(multinomial distribution):

Mult(m1,m2,,mk|μ,N)=(Nm1m2mk)k=1Kμmkk

其中:

(Nm1m2mk)N!m1!m2!K!

以及

N=k=1Kmk

狄利克雷分布

与二元分布类似,我们要给多元分布引入一个先验分布。考虑多元分布的形式,为了满足共轭性,先验分布应该满足这样的形式:

p(μ|α)k=1Kμαk1k

其中 0μk1,kμk=1 α=(α1,,αK)T 是先验分布的参数。

事实上, μk 的分布是一个 K1 的单纯形。

归一化这个分布,我们可以得到

Dir(μ|α)=Γ(α0)Γ(α1)Γ(αK)k=1Kμαk1k

其中

α0=k=1Kαk

这个分布叫做狄利克雷分布(Dirichlet distribution)。

使用狄利克雷分布作为先验,后验分布为:

p(μ|D,α)p(D|α)p(μ|α)k=1Kμαk+mk1k

由共轭性,我们可以得到后验分布也是个狄利克雷分布:

p(μ|D,α)=Dir(μ|α+m)=Γ(α0+N)Γ(α1+m1)Γ(αK+mK)k=1Kμαk+mk1k

其中 m=(m1,,mK)T

与二项分布类似,我们也可以将 ak 看成 xk=1 的一个有效观测次数。

二项分布可以看出是多项分布 K=2 的特殊情况。

猜你喜欢

转载自blog.csdn.net/qilixuening/article/details/76472696