3

在伯努利分布混合的情况下,我正在尝试写下 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) 会是什么...?

4

1 回答 1

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} 是参数的先前近似值,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

使用您的优先级或将其保留在一般优先级应该是直截了当的。

于 2012-12-27T10:28:48.443 回答