我试图在伯努利分布混合的情况下写下EM的MAP更新。
我知道对于ML估计,我们有:
E-step: compute P(Z|X,p,t)
M-Step: (p,t)<-argmax sum(over Z): p(Z|X,p,t)log p(X,Z|p,t)
其中p是每个类的向量参数(K个,每个大小为D,其中K是类的数量,D是特征的数量),t是每个类的多项参数。
但我如何获得MAP估算? p(X)会是什么......?
答案 0 :(得分:0)
根据Kevin P. Murphy的“机器学习 - 概率论视角”第350页:
在M步骤中,我们针对theta优化Q函数(辅助函数):
theta^t = argmax_theta Q(theta,theta^{t-1})
这是ML,并且为了执行MAP估计,我们修改M步骤如下
theta^t = argmax_theta Q(theta,theta^{t-1})+log(p(theta))
theta是参数,theta ^ {t-1}是先前的参数近似值,而t ^ t是当前的。
Q在哪里
Q(theta,theta^{t-1}) = E[logL(theta)|Data,theta^{t-1}]
E步骤保持不变
因此,基本上ML和MAP之间的区别在于你在argmax中添加了log(p(theta)),argmax是参数的日志优先级。
对于先前的p(theta)是beta(alpha,beta)分布的具体示例,我可以参考最后的分配答案:assignment
应该直接使用您的先前或一般事先保留。