作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在一个典型的聚类问题中,数据点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)
?如果可以,我们该怎么做?
如果所有概率分布都是 S 型函数怎么办?
最佳答案
这应该只是 EM 算法作为解决隐藏数据问题的一种方法的直接应用——隐藏数据是每一步中 k 和 l 的基础值。在 E 步骤中,您计算出预期的对数似然,考虑对 (k,l) 的每个可能值,使用它的概率,给定数据和当前参数设置作为权重。在 M 状态下,您可以找到使该预期对数似然最大化的参数。这与将 (k,l) 对编码为单个索引 m 非常相似,只是 p(k)p(l) 中的结构比 p(m) 中的结构多,这将影响 M非常轻微的一步。
如果概率是 S 型 - 任何其他概率分布 - EM 算法的理由仍然成立:每一步增加或保持对数似然不变。但是,如果优化问题变得更难,您可能会发现 M 步变得更加昂贵。
关于algorithm - 两组潜在变量的 EM 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623250/
我是一名优秀的程序员,十分优秀!