/cpyp

C++ library for modeling with Pitman-Yor processes

Primary LanguageC++Apache License 2.0Apache-2.0

cpyp

cpyp is a C++ library for nonparametric Bayesian modeling with Pitman-Yor process priors

Features

  • Memory-efficient histogram-based sampling scheme proposed by Blunsom et al. (2009)
  • Full range of PYP hyperparameters (0 ≤ discount < 1, strength > -discount, etc.)
  • Beta priors on discount hyperparameter
  • (Conditional, given discount) Gamma prior on strength hyperparameter
  • Tied hyperparameters
  • Slice sampling for hyperparameter inference
  • “Multifloor” Chinese Restaurant processes to perform inference in graphical Pitman-Yor processes
  • Serialization of CRPs using Boost.Serialization (optional)
  • Example implementations
    • Hierarchical Pitman-Yor process language model (Teh, 2006)
    • Domain adapting graphical Pitman-Yor process language model (Wood & Teh, 2009)
    • Latent Pitman-Yor allocation topic model (LDA with the D replaced)
    • Unsupervised “Naive Bayes” single-membership clustering, using fast Metropolis-Hastings sampling

System Requirements

This library should work with any C++ compiler that implements the C++11 standard. No other libraries are required.