版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qilixuening/article/details/76472696
考虑有
K
个状态的问题。
我们用一个
K
维的向量
(x1,…,xK)
来表示这些状态,第
k
个状态用
xk=1,xj=0,∀j≠k
表示。
例如
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
,且满足
μk≥0,∑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=1N∏k=1Kμxnkk=∏k=1Kμ(∑nxnk)k=∏k=1Kμmkk
其中
mk=∑nxnk
表示出现
xk=1
的次数,这些也是这个分布的充分统计量。
在
∑Kk=1μk=1
的约束条件下,为了最大化对数似然,我们考虑它的拉格朗日函数:
∑k=1Kmklnμk+λ(∑k=1Kμk−1)
对
μk
的偏导设为
0
,有:
μk=−mkλ
带入约束条件得到:
μMLk=mkN
即
xk=1
在观测数据中所占的比例。
如果只考虑
m1,…,mK
,那么我们可以定义多项分布(multinomial distribution
):
Mult(m1,m2,…,mk|μ,N)=(Nm1m2…mk)∏k=1Kμmkk
其中:
(Nm1m2…mk)≡N!m1!m2!⋯K!
以及
N=∑k=1Kmk
狄利克雷分布
与二元分布类似,我们要给多元分布引入一个先验分布。考虑多元分布的形式,为了满足共轭性,先验分布应该满足这样的形式:
p(μ|α)∝∏k=1Kμαk−1k
其中
0≤μk≤1,∑kμk=1
,
α=(α1,…,αK)T
是先验分布的参数。
事实上,
μk
的分布是一个
K−1
的单纯形。
归一化这个分布,我们可以得到
Dir(μ|α)=Γ(α0)Γ(α1)…Γ(αK)∏k=1Kμαk−1k
其中
α0=∑k=1Kαk
这个分布叫做狄利克雷分布(Dirichlet distribution
)。
使用狄利克雷分布作为先验,后验分布为:
p(μ|D,α)∝p(D|α)p(μ|α)∝∏k=1Kμαk+mk−1k
由共轭性,我们可以得到后验分布也是个狄利克雷分布:
p(μ|D,α)=Dir(μ|α+m)=Γ(α0+N)Γ(α1+m1)…Γ(αK+mK)∏k=1Kμαk+mk−1k
其中
m=(m1,…,mK)T
。
与二项分布类似,我们也可以将
ak
看成
xk=1
的一个有效观测次数。
二项分布可以看出是多项分布
K=2
的特殊情况。