【问题标题】:How can I write GMM (Gaussian Mixture Model) in Java?如何用 Java 编写 GMM(高斯混合模型)?
【发布时间】:2011-09-07 09:04:00
【问题描述】:

如何用 Java 编写 GMM (Gaussian mixture model)? MATLAB 中有一些实现,但我正在寻找一些关于它的文档和 Java 中的示例代码。

PS:如果可能,我如何在我的代码中采用 Weka 实现?

PS 2:我找到了http://www.lix.polytechnique.fr/~nielsen/MEF/ GMM 的源代码在哪里,所以我可以在我的代码中采用它?

PS 3: 找到的其他代码是:http://www.dii.unisi.it/~freno/JProGraM.html,但是如何采用还是有问题。我应该给出我的输入列表并从算法中获取所有分类元素列表。

【问题讨论】:

  • 两个链接都(有效地)损坏了(第一个手动 GitHub 链接(两个相同的 URL)重定向到 404,第二个导致 “禁止访问。您没有访问权限这个资源。”)

标签: java algorithm cluster-analysis gaussian mixture-model


【解决方案1】:

Weka 是可以进行 GMM 的 Java 数据挖掘软件。它还有一个不错的 GUI,您可以在其中进行一些初步建模,然后再使用 Java 进行所有操作。

【讨论】:

  • 你可以下载 WEKA 的源 jars 并在你自己的代码中使用不同的模型:)
  • 你能找到GMM Weka包的链接吗?
  • 您想使用 EM 生成 GMM,所以:weka.sourceforge.net/doc/weka/clusterers/EM.html
  • 这是一个让您入门的示例:weka.wikispaces.com/Programmatic+Use。请注意,现在不推荐使用 FastVector,因此对于此示例,您宁愿使用 java.util.ArrayList。此外,由于 Instance 现在是一个接口,因此您必须使用一些实现类(如 DenseInstance 或 SparseInstance)进行实例化。该示例需要更新:p
【解决方案2】:

您可以使用"MATLAB Builder JA" 从“MATLAB 中的实现”中获取“.JAR”文件和源代码。像这样,您可以将结果合并到您的 Java 应用程序中。

【讨论】:

    【解决方案3】:

    我是 jMEF 的作者 :) jMEF 将允许您创建、处理和管理指数族的混合物,当然包括 GMM。您基本上必须创建基于高斯分布的混合模型。我写了一堆教程来帮助理解如何正确使用它。这很简单。好处是您可以使用 EM 算法从样本中估计您的混合物。

    【讨论】:

    • 它的新网址是什么?在 GitHub 还是其他地方?
    猜你喜欢
    • 2012-05-21
    • 2014-08-02
    • 2015-02-20
    • 2015-03-30
    • 2019-02-12
    • 1970-01-01
    • 2021-09-30
    • 2018-05-07
    • 2016-07-25
    相关资源
    最近更新 更多