C library for mixtures of exponential families (fork of oschwand's libmef)

root

           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
             LIBMEF – A LIBRARY FOR MIXTURES OF EXPONENTIAL
                                FAMILIES


                           Olivier Schwander
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━





1 Description
═════════════

  `libmef' is a C library allowing to manipulate, learn, simplify and
  compare mixtures of exponential families. It is designed to ease the
  use of various exponential families in mixture models.

  See also [jMEF] for a Java implementation of the same kind of library
  and [pyMEF] for a Python version.

  The C implementation allows to build easily bindings to other language
  and thus to put mixtures of exponential families into /your/
  application.


  [jMEF] http://www.lix.polytechnique.fr/~nielsen/MEF/

  [pyMEF] http://www.lix.polytechnique.fr/~schwander/pyMEF/


2 What are exponential families?
════════════════════════════════

  An exponential family is a generic set of probability distributions
  that admit the following canonical distribution:

  \[ p_F(x; \theta) = \exp \left( \langle t(x) | \theta \rangle -
    F(\theta) + k(x) \right) \]

  Exponential families are characterized by the log normalizer function
  F, and include the following well-known distributions: Gaussian
  (generic, isotropic Gaussian, diagonal Gaussian, rectified Gaussian or
  Wald distributions, lognormal), Poisson, Bernoulli, binomial,
  multinomial, Laplacian, Gamma (incl. chi-squared), Beta, exponential,
  Wishart, Dirichlet, Rayleigh, probability simplex, negative binomial
  distribution, Weibull, von Mises, Pareto distributions, skew logistic,
  etc.

  Mixtures of exponential families provide a generic framework for
  handling Gaussian mixture models (GMMs also called MoGs for mixture of
  Gaussians), mixture of Poisson distributions, and Laplacian mixture
  models as well.


3 Documentation
═══════════════

3.1 Algorithms
──────────────

  • Bregman Soft Clustering
  • Bregman Hard Clustering (soon)
  • Kernel Density Estimator (soon)
  • $k$-MLE
  • $k$-MLE for Gamma mixtures
  • $k$-MLE for generalized Gaussian mixtures


3.2 Families
────────────

  • Univariate Gaussian
  • Gamma
  • Generalized Gaussian

  Do not hesitate to contribute with your own family (tutorial to come)


3.3 Examples
────────────

  See the `examples/' sub-directory inside the sources.


4 Downloads
═══════════

  • [file:libmef-0.1.tar.gz] (as used in the SIMBAD 2013 paper)


4.1 Darcs repository
────────────────────

  • Get: `darcs get
    http://www.lix.polytechnique.fr/~schwander/darcs/libmef/'
  • Browse: [http://hub.darcs.net/oschwand/libmef]


4.2 Installation
────────────────

  You will need [cmake] and the [GNU Scientific Library] in order to
  compile `libmef'.

  ╭────
  │ cmake .
  │ make
  │ cd examples; make # for the examples
  ╰────


  [cmake] http://cmake.org/

  [GNU Scientific Library] http://www.gnu.org/software/gsl/


5 Bibliography
══════════════

  • Olivier Schwander and Frank Nielsen, *Fast learning of Gamma mixture
    models with k-MLE*, SIMBAD 2013

  • Olivier Schwander, Frank Nielsen, Aurélien Schutz and Yannick
    Berthoumieu, *k-MLE for mixtures of generalized Gaussians*, , ICPR
    2012

  • Olivier Schwander and Frank Nielsen, *Learning Mixtures by
    Simplifying Kernel Density Estimators*, in [Matrix Information
    Geometry], Springer, 2012

  • Olivier Schwander and Frank Nielsen, *pyMEF - A framework for
    Exponential Families in Python*, in *Proceedings of the 2011 IEEE
    Workshop on Statistical Signal Processing*

  • Vincent Garcia, Frank Nielsen, and Richard Nock, *Levels of details
    for Gaussian mixture models*, in *Proceedings of the Asian
    Conference on Computer Vision, Xi'an, China, September 2009*

  • Frank Nielsen and Vincent Garcia, *Statistical exponential families:
    A digest with flash cards*, arXiV, [http://arxiv.org/abs/0911.4863],
    November 2009

  • Frank Nielsen and Richard Nock, *Sided and symmetrized Bregman
    centroids*, in *IEEE Transactions on Information Theory, 2009, 55,
    2048-2059*

  • Frank Nielsen, Jean-Daniel Boissonnat and Richard Nock, *On Bregman
    Voronoi diagrams*, in *ACM-SIAM Symposium on Data Mining, 2007,
    746-755*

  • A. Banerjee, S. Merugu, I. Dhillon, and J. Ghosh, *Clustering with
    Bregman divergences*, in *Journal of Machine Learning Research,
    2005, 6, 234-245*


  [Matrix Information Geometry]
  http://www.springer.com/engineering/signals/book/978-3-642-30231-2


6 Contacts
══════════

  Please send any comment or bug report to [Olivier Schwander].


  [Olivier Schwander] mailto:schwander@lix.polytechnique.fr