【问题标题】:EM algorithm for two sets of latent variables两组潜在变量的 EM 算法
【发布时间】:2014-01-04 13:43:03
【问题描述】:

在典型的聚类问题中,数据点 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 函数怎么办?

【问题讨论】:

    标签: algorithm variables machine-learning expectation-maximization


    【解决方案1】:

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

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

    【讨论】:

    • 您好 mcdowella,非常感谢您的回答。那么你的意思是把p(k)p(l)组合成p(k,l),把p(k,l)当成一个隐藏数据?
    • 您可以通过组合 k 和 l 并将 (k,l) 视为单个隐藏数据来简化问题。如果您这样做,您可以选择将 p(k,l) 拟合为任意概率集合 - 在这种情况下,估计将与单参数情况完全相同 - 或 p(k,l)=p(k) p(l) 在这种情况下,您需要拟合的参数较少,估计会略有不同,但应该相当简单。对 EM 的一个很好的检查是检查可能性是否随着每次迭代而增加,直到收敛。您还可以在您知道正确答案的虚构数据上对其进行测试。
    猜你喜欢
    • 2018-02-22
    • 2021-06-07
    • 2013-12-15
    • 2018-05-02
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 2014-04-11
    相关资源
    最近更新 更多