BNPy: Bayesian Nonparametrics in Python

Python implementations of scalable variational learning algorithms, and some MCMC methods, for Bayesian nonparametric clustering models. Current focus is on hierarchical Dirichlet process hidden Markov models, topic models, mixture models, and relational models.

Motion-Based 3D Object Segmentation

Matlab code which implements Monte Carlo learning algorithms for the distance dependent Chinese restaurant process, using motion-based likelihoods to model aligned three-dimensional meshes. See our 2012 NIPS paper.

Correlated Nonparametric Topic Models

Matlab code which implements Monte Carlo learning algorithms for the Doubly Correlated Nonparametric Topic Model, as described in our 2011 NIPS paper.

Transformed Dirichlet Process Image Models

Matlab code which implements learning algorithms for the models in our 2008 IJCV paper, Describing Visual Scenes using Transformed Objects and Parts.

Nonparametric Bayesian Hidden Markov Models

Matlab code which implements the blocked Gibbs sampling learning and inference algorithms for our 2008 ICML paper, An HDP-HMM for Systems with State Persistence; our 2008 NIPS paper, Nonparametric Bayesian Learning of Switching Linear Dynamical Systems; and our 2009 NIPS paper, Sharing Features among Dynamical Systems with Beta Processes.

Nonparametric Belief Propagation

Matlab and C++ code which implements the efficient KD-Tree algorithms from our 2003 NIPS paper, Efficient Multiscale Sampling from Products of Gaussian Mixtures. This provides a good starting point for adapting NBP to new application domains.