我试图记录混合伯努利分布的EM算法中MAP更新的过程。
我知道对于极大似然估计,我们有:
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)会是什么呢...?
我试图记录混合伯努利分布的EM算法中MAP更新的过程。
我知道对于极大似然估计,我们有:
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)会是什么呢...?
theta^t = argmax_theta Q(theta,theta^{t-1})
这是机器学习中的内容,为了执行MAP估计,我们将M步骤修改如下
theta^t = argmax_theta Q(theta,theta^{t-1})+log(p(theta))
theta是参数,而theta^{t-1}是参数的先前近似值,theta^t是当前值。
其中Q为
Q(theta,theta^{t-1}) = E[logL(theta)|Data,theta^{t-1}]
E步骤保持不变。
因此,最大似然(ML)和最大后验概率(MAP)之间的区别在于,在argmax中添加了参数的对数先验log(p(theta))。
例如,如果先验分布p(theta)是beta(alpha,beta)分布,则可以参考上一次作业答案:assignment。
使用您自己的先验或将其保留为通用先验应该很简单。