我正在寻找一个多变量 GMM 的 C++ 实现,它使用基于 Gibbs 采样的方法来拟合/分类(而不是通常的基于 EM),以便能够充分利用先验信息并添加在限制条件下。通常称为狄利克雷过程高斯混合模型或 DPGMM。
我已经在 Matlab 中实现了这个,但没有花时间转换这个代码(是的,我的代码使用内置的 matlab 编码器来转换,但它目前依赖于各种额外的 Matlab 库)。效率也很重要,我将每秒多次将 GMM 拟合到大型数据集。
因此,我很想知道是否已经有众所周知的高效代码。初步搜索并没有得到多少返回。
最佳答案
虽然不是特定于 GMM,但您可以使用 CppBugs项目以指定您自己的模型并让库运行模拟。
关于使用 Gibbs 采样器的 GMM 的 C++ 实现,即 Dirichlet 过程高斯混合模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583059/