在典型的聚类问题中,数据点x的概率是p(x) = sum_k p(k)p(x|k)
,其中k
是指定x所属聚类的潜在变量。我们可以使用EM算法来最大化训练数据集的目标函数的对数似然性:
我想知道EM算法是否能解决两组潜在变量的问题,即。sum_n log (sum_k p(k)(p(x|k)))
如果是,我们怎么做?
如果所有的概率分布都是sigmoid函数呢?
最佳答案
这应该只是em算法作为解决隐藏数据问题的一种方法的直接应用-隐藏数据是每个步骤中k和l的潜在值。在e步骤中,考虑到对的每个可能值(k,l),使用此概率,将数据和当前参数设置作为权重,计算出预期的对数似然。在M状态中,你可以找到最大化这个预期对数似然的参数。这与将对(k,l)编码为单个索引m非常相似,只是p(k)p(l)中的结构比p(m)中的结构多,这将对m步的影响非常小。
如果概率是乙状分布——任何其他概率分布——em算法的理由仍然成立:每一步都增加或保持对数似然不变。然而,如果优化问题变得更加困难,您可能会发现M-step变得更加昂贵。
关于algorithm - 两组潜在变量的EM算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20623250/