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函数呢?


回答:

这应该只是EM算法的直接应用,作为解决隐藏数据问题的一种方法——隐藏数据是每一步中k和l的底层值。在E步,你计算期望对数似然,考虑每对可能的(k,l)值,使用给定数据和当前参数设置的概率作为权重。在M步,你找到最大化这个期望对数似然的参数。这与将(k,l)对编码为单一索引m非常相似,只是p(k)p(l)中的结构比p(m)中的结构更多,这会对M步产生轻微的影响。

如果概率是Sigmoid函数——或者任何其他概率分布——EM算法的理由仍然成立:每一步都会增加或保持对数似然不变。然而,如果优化问题变得更难,你可能会发现M步的计算成本会增加。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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