混合模型的MAP期望最大化算法

我正在尝试为伯努利分布混合情况下的EM算法编写MAP更新公式。

我知道对于最大似然估计,我们有以下步骤:

E-step: 计算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)会是什么…?


回答:

根据Kevin P. Murphy的《机器学习 – 概率视角》第350页:

在M步,我们针对theta优化Q函数(辅助函数):

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)分布,我可以参考这里的最后一个作业答案:作业

使用你的先验或保持一般先验应该很简单。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注