使用 Java 中的狄利克雷过程混合模型进行聚类

在之前的文章中,我们详细讨论了狄利克雷过程混合模型及其在聚类分析中的应用。在本文中,我们将介绍两种不同 DPMM 模型的 Java 实现:可用于聚类高斯数据的 Dirichlet 多元正态混合模型和 Dirichlet-多项式混合模型 […]

来源:DatumBox - 机器学习、统计和软件开发博客

在之前的文章中,我们详细讨论了狄利克雷过程混合模型及其在聚类分析中的应用。在本文中,我们将介绍两种不同 DPMM 模型的 Java 实现:可用于聚类高斯数据的狄利克雷多元正态混合模型和用于聚类文档的狄利克雷多项式混合模型。Java 代码在 GPL v3 许可下开源,可从 Github 免费下载。

狄利克雷过程混合模型 两种不同的 DPMM 模型 Github

更新:Datumbox 机器学习框架现已开源,可免费下载。查看包 com.datumbox.framework.machinelearning.clustering 以查看 Java 中狄利克雷过程混合模型的实现。

更新:Datumbox 机器学习框架现已开源,可免费下载。查看包 com.datumbox.framework.machinelearning.clustering 以查看 Dirichlet 过程混合模型在 Java 中的实现。 下载

Dirichlet 过程混合模型在 Java 中的实现

该代码使用 Gibbs Sampler 实现 Dirichlet 过程混合模型,并使用 Apache Commons Math 3.3 作为矩阵库。它根据 GPLv3 获得许可,因此请随意使用、修改和重新分发它,您可以从 Github 下载 Java 实现。请注意,您可以在前 5 篇文章中找到聚类方法的所有理论部分,并在源代码中找到实现的详细 Javadoc 注释。

Github

下面我们列出了代码的高级描述:

1. DPMM 类

中餐馆流程 折叠吉布斯采样器

2. GaussianDPMM 类

GaussianDPMM 是狄利克雷多元正态混合模型的实现,并扩展了 DPMM 类。它包含在高斯假设下估计概率所需的所有方法。此外,它还包含静态嵌套类 Cluster,该类实现了 DPMM.Cluster 类的所有抽象方法。