EM算法用于两组潜在变量

时间:2013-12-16 23:43:32

标签: algorithm variables machine-learning em

在典型的聚类问题中,数据点x的概率为p(x) = sum_k p(k)p(x|k),其中k是指定x所属的聚类的潜在变量。我们可以使用EM算法来最大化训练数据集的目标函数的对数似然性:sum_n log (sum_k p(k)(p(x|k)))

我想知道EM算法是否可以解决两组潜在变量的问题,即 p(x) = sum_k sum_l p(x|k, l)p(k)p(l)?如果是这样,我们怎么做?

如果所有概率分布都是sigmoid函数怎么办?

1 个答案:

答案 0 :(得分:0)

这应该只是EM算法的直接应用,作为解决隐藏数据问题的一种方法 - 隐藏数据是每一步的k和l的基础值。在E步骤中,在给定数据和当前参数设置作为权重的情况下,使用此概率考虑该对(k,l)的每个可能值,计算出预期的对数似然。在M状态中,您可以找到最大化此预期对数似然的参数。这非常类似于将对(k,l)编码为单个索引m,除了p(k)p(l)中的结构多于p(m)中的结构,这将影响M非常轻微。

如果概率是sigmoid - 任何其他概率分布 - EM算法的理由仍然成立:每一步增加或保持对数似然不变。但是,如果优化问题变得更难,您可能会发现M步骤变得更加昂贵。