问题标签 [expectation-maximization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
304 浏览

c++ - opencv中的期望最大化

我的问题是:我必须用两分量高斯模型的混合来近似分布。特别是我需要两个高斯分布的两个方差。在 openCv 中,我可以使用 EM 类;问题是我只能获得两个协方差矩阵,但不能获得方差。有没有办法找到方差值?

0 投票
1 回答
750 浏览

algorithm - 两组潜在变量的 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 函数呢?

0 投票
2 回答
517 浏览

opencv - GMM 中的权重参数和期望最大化

我正在使用 EM 对 GMM 进行编程。我遇到了以下问题。正如您将在本网站中看到的,有一个参数“pi”,即权重或概率值。

我的问题是这是如何计算的?还是在实际编码中被忽略?

0 投票
1 回答
740 浏览

c++ - 期望最大化opencv-Log似然值

我正在使用 EM 估计 GMM 的参数,

当我使用我的 Matlab 脚本并运行 EM 代码时,我得到一个“对数似然”值。

然而,在 opencv 中,EM.train的输出给出了一个矩阵,其中包含每个样本的对数似然值

如何获得单个对数似然值?我需要取所有样本的所有对数似然值中的最小值还是所有对数似然值的总和?

0 投票
1 回答
1290 浏览

hadoop - 使用 Mapreduce 计算期望最大化的高斯混合模型

在哪里可以找到使用 EM 计算 GMM 的 Mapreduce 实现(或教程)?
使用mapreduce框架真的可行吗?

我找到了这个讲座链接,但它不包含详细描述,如果我的数据(均值和方差)很大,那么我如何将它从映射器传递到减速器?

0 投票
2 回答
218 浏览

algorithm - 修改各向同性扩散的高斯混合模型的期望最大化算法?

我的模型系统:一个各向同性扩散粒子,它在各种扩散系数(D1 <-> D2 <-> D3 <-> ...)之间进行随机切换。

由于可以根据高斯分布对沿该假设粒子轨迹的位移进行建模,因此使用高斯+模型选择的混合似乎很自然,以提取有关不同“状态”数量或存在的扩散系数的信息,这将表现为混合物中的不同成分。

似乎有很多代码可以在协方差矩阵不受约束的 GMM 上执行 EM。然而,在我的特定应用中,各向同性扩散意味着我的矩阵不仅是对角线,而且对角线的所有分量对于每个混合分量都是相等的,这意味着在 x、y、z 方向上的扩散速率是相同的。

任何人都可以就这种特殊情况下的期望和最大化步骤将如何变化提供指导吗?

0 投票
1 回答
913 浏览

opencv - EM::read() 在 OpenCV 中保存模型后得到不同的 EM::predict() 结果

我是 OpenCV 和 C++ 的新手,我正在尝试在 OpenCV 中使用高斯混合模型构建分类器。我弄清楚了它是如何工作的,并让它发挥了作用……也许吧。我现在得到了这样的东西:

如果我在模型被训练和保存之后对训练样本进行分类,我得到了我想要的结果。但是当我使用read()重新分类我的训练数据时,其中一个集群丢失了,这意味着我从同一个 GMM 模型得到了不同的集群结果。我现在不明白,因为我想要的集群已经消失了,在我使用相同的数据重新训练模型之前,我无法再次重现分类。我检查了运行时的代码和Vec2d 中的结果返回的predict()从未分配给 1(我设置了 3 个集群)。

也许有一个错误或者我做错了什么?

ps 我在 VS2013 中使用的是 2.4.8

我的程序是这样的:

火车部分

保存/加载模型

预测部分

0 投票
1 回答
1189 浏览

opencv - OPENCV中基于EM聚类的背景前景分割

我尝试使用下面的代码执行基于 EM 的背景前景分割......我也在 Stackoverflow 中找到了......但似乎在某处有一些错误,因为我没有看到要执行的第二个 printf 语句......。基本上它永远不会达到代码的分类/聚类部分..代码如下..有人可以帮我吗?

0 投票
1 回答
422 浏览

algorithm - 如何计算具有 n 维的期望最大化的方差?

我一直在研究论文中回顾期望最大化(EM),例如:

http://pdf.aminer.org/000/221/588/fuzzy_k_means_clustering_with_crisp_regions.pdf

我有一些疑问,我还没有弄清楚。例如,如果每个数据点有很多维度,会发生什么?

例如,我有以下具有 6 个数据点和 4 个维度的数据集:

这意味着为了计算期望步骤,我是否需要计算 4 个标准差(每个维度一个)?

假设k = 3,我是否还必须计算每个集群的方差(不知道是否有必要根据论文中的公式......)或者只是每个维度的方差(4个属性)?

0 投票
1 回答
129 浏览

r - 一个比较期望最大化时间性能的框架

我根据以下论文http://pdf.aminer.org/000/221/588/fuzzy_k_means_clustering_with_crisp_regions.pdf我有自己的期望最大化(EM)算法实现我想将性能与另一个实现进行比较。对于测试,我使用 K 个质心和 1 Gb 的 txt 数据,我只是测量在 1 次迭代中计算新质心所需的时间。我尝试在 R 中使用 EM 实现,但我做不到,因为结果被绘制在图表中并且被大量的 txt 数据卡住了。我正在关注以下示例:http ://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Clustering/Expectation_Maximization_%28EM%29

有人知道 EM 的实现来衡量性能或如何使用 R 来实现吗?