使用 Gibbs 采样器的 GMM 的 C++ 实现,即 Dirichlet 过程高斯混合模型

标签 c++ model gaussian mixture-model

我正在寻找一个多变量 GMM 的 C++ 实现,它使用基于 Gibbs 采样的方法来拟合/分类(而不是通常的基于 EM),以便能够充分利用先验信息并添加在限制条件下。通常称为狄利克雷过程高斯混合模型或 DPGMM。

我已经在 Matlab 中实现了这个,但没有花时间转换这个代码(是的,我的代码使用内置的 matlab 编码器来转换,但它目前依赖于各种额外的 Matlab 库)。效率也很重要,我将每秒多次将 GMM 拟合到大型数据集。

因此,我很想知道是否已经有众所周知的高效代码。初步搜索并没有得到多少返回。

最佳答案

虽然不是特定于 GMM,但您可以使用 CppBugs项目以指定您自己的模型并让库运行模拟。

关于使用 Gibbs 采样器的 GMM 的 C++ 实现,即 Dirichlet 过程高斯混合模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583059/

相关文章:

c++ - unique_ptr vector 的迭代器的访问成员

c++ - 这种情况下虚拟继承的行为

c++ - freebsd 上的 SQLite3 - 第一个程序的编译

c++ - 类继承保护访问

ember.js - Ember.js 是否支持应用程序路由模型?

python - 强化学习如何通过高斯策略进行连续控制?

machine-learning - 使用球形核的多元 Parzen 窗贝叶斯分类

ruby-on-rails - rails : "is not a module" error

javascript - 如何汇总所有显示的交易?

python - 如何应用内核峰值为 1 的 3D 高斯滤波器?