Estimating Mixture Models via Mixtures of Polynomials

Sida I. Wang, Arun Tejasvi Chaganty, Percy Liang
3/28/2016
stat.MLcs.LG

Official code: sidaw/mompy (16 stars, MIT, last commit 2015-12-14). 1 more implementation below.

Abstract

Mixture modeling is a general technique for making any simple model more expressive through weighted combination. This generality and simplicity in part explains the success of the Expectation Maximization (EM) algorithm, in which updates are easy to derive for a wide class of mixture models. However, the likelihood of a mixture model is non-convex, so EM has no known global convergence guarantees. Recently, method of moments approaches offer global guarantees for some mixture models, but they do not extend easily to the range of mixture models that exist. In this work, we present Polymom, an unifying framework based on method of moments in which estimation procedures are easily derivable, just as in EM. Polymom is applicable when the moments of a single mixture component are polynomials of the parameters. Our key observation is that the moments of the mixture model are a mixture of these polynomials, which allows us to cast estimation as a Generalized Moment Problem. We solve its relaxations using semidefinite optimization, and then extract parameters using ideas from computer algebra. This framework allows us to draw insights and apply tools from convex optimization, computer algebra and the theory of moments to study problems in statistical estimation.

View on arXivView PDF

Code Implementations(2)

sidaw/mompyOfficial100%
MIT

solve polynomial optimization and generalized moment problem

167Python, Jupyter NotebookDec 7, 201510 years agoMIT
sidaw/polymomOfficial100%

fitting mixture models using mixture of polynomials

44Python, MakefileDec 6, 201510 years ago

Similar Papers

Cite this paper

@article{wang2016estimating,
  title  = {Estimating Mixture Models via Mixtures of Polynomials},
  author = {Sida I. Wang and Arun Tejasvi Chaganty and Percy Liang},
  year   = {2016},
  eprint = {1603.08482},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1603.08482}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1603.08482.svg)](https://codeofpaper.com/paper/1603.08482)

Discussion