【发布时间】:2011-01-06 17:41:03
【问题描述】:
我想使用高斯混合模型进行数据聚类(使用期望最大化 (EM) 算法,该算法为每个观察值的每个分量密度分配后验概率)。有没有实现高斯混合模型以及示例数据集和示例的 c++ 库?
【问题讨论】:
标签: c++ machine-learning classification pattern-recognition
我想使用高斯混合模型进行数据聚类(使用期望最大化 (EM) 算法,该算法为每个观察值的每个分量密度分配后验概率)。有没有实现高斯混合模型以及示例数据集和示例的 c++ 库?
【问题讨论】:
标签: c++ machine-learning classification pattern-recognition
我使用的最好的是 MLPack,
http://www.mlpack.org/doxygen.php?doc=classmlpack_1_1gmm_1_1GMM.html。
你可以在我的项目中找到一个示例实现 https://github.com/kerdemdemir/speakerFinder/blob/master/trainer.h
【讨论】:
Armadillo C++ library 具有多线程(并行)实现 k-means 和高斯混合模型 (GMM) 的期望最大化 (EM)。
有关详细信息,请参阅 gmm_diag 类。
【讨论】:
这是一个 Python 示例:http://scikit-learn.sourceforge.net/auto_examples/mixture/plot_gmm_classifier.html
检查底层实现。
【讨论】:
可能有点晚了,不过你可以看看http://itpp.sourceforge.net/current/mog.html
【讨论】:
这是一个C++ implementation。但是,如果您正在尝试学习,我建议您从头开始编码。使用一个不错的矩阵库,这很容易。我在Scythe Statistical Library 上取得了很好的成功。
很容易找到示例数据集。老faithful geyser dataset是经典。
【讨论】: