gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 15:02:49 25 4
gpt4 key购买 nike

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

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

最佳答案

OK,你说的,你有实现EM算法的经验。这很容易解释。

EM算法

如您所知,EM 算法是一种寻找最大似然的迭代方法。一次迭代由两个步骤组成,即期望(E-step)和最大化步骤(M-step)。

E-step中,样本的可能性是根据之前的模型计算的。令n 为样本数,我们可以获得n 可能性。


这里,似然计算是独立进行的。所以这可以使用多处理器环境来执行。


假设我们在一台机器上有 4 个 CPU,n/4 可能性可以由每个 CPU 计算。快了 4 倍(忽略 IO 时间)

M-step中,新模型由似然推导出来。

映射减少

计算EM

  • E-step 可以扩展到 mapreduce 上的 mapper 任务,因为样本彼此独立。
    • 输入
      • 关键:任何东西
      • 值:样本
    • 输出
      • 关键:任何东西
      • 值:输入样本的可能性
  • M-step 可以扩展到 reducer 任务(这可以是多个 reducer,但我只是推荐一个 reducer)。
    • 输入
      • 关键:任何东西
      • 值:可能性
    • 输出
      • 关键:任何东西
      • 值(value):下一个模型

数据表示

  • 训练样本位于 HDFS 上的某个目录
    • 这将是 mapreduce 的输入
  • 之前的模型也位于HDFS,但与训练样本的目录不同
    • 使用分布式缓存让映射器知道模型在哪里

迭代

一个 mapreduce 任务类似于 EM 算法的一次迭代。所以需要迭代下一个mapreduce任务,直到收敛

我已经简单解释过了。在实现过程中你会遇到很多问题。

希望对您有所帮助。

关于hadoop - 使用 Mapreduce 计算期望最大化的高斯混合模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23016670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com