An Open Source C++ Implementation of Multi-Threaded Gaussian Mixture Models, k-Means and Expectation Maximisation

07/28/2017
by   Conrad Sanderson, et al.
0

Modelling of multivariate densities is a core component in many signal processing, pattern recognition and machine learning applications. The modelling is often done via Gaussian mixture models (GMMs), which use computationally expensive and potentially unstable training algorithms. We provide an overview of a fast and robust implementation of GMMs in the C++ language, employing multi-threaded versions of the Expectation Maximisation (EM) and k-means training algorithms. Multi-threading is achieved through reformulation of the EM and k-means algorithms into a MapReduce-like framework. Furthermore, the implementation uses several techniques to improve numerical stability and modelling accuracy. We demonstrate that the multi-threaded implementation achieves a speedup of an order of magnitude on a recent 16 core machine, and that it can achieve higher modelling accuracy than a previously well-established publically accessible implementation. The multi-threaded implementation is included as a user-friendly class in recent releases of the open source Armadillo C++ linear algebra library. The library is provided under the permissive Apache 2.0 license, allowing unencumbered use in commercial products.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/19/2019

Quantum Expectation-Maximization Algorithm

Clustering algorithms are a cornerstone of machine learning applications...
research
05/14/2020

Multi-Node EM Algorithm for Finite Mixture Models

Finite mixture models are powerful tools for modelling and analyzing het...
research
04/30/2021

A Riemannian Newton Trust-Region Method for Fitting Gaussian Mixture Models

Gaussian Mixture Models are a powerful tool in Data Science and Statisti...
research
04/16/2017

k-Means is a Variational EM Approximation of Gaussian Mixture Models

We show that k-means (Lloyd's algorithm) is equivalent to a variational ...
research
09/26/2020

An Adaptive EM Accelerator for Unsupervised Learning of Gaussian Mixture Models

We propose an Anderson Acceleration (AA) scheme for the adaptive Expecta...
research
11/03/2022

Using Signal Processing in Tandem With Adapted Mixture Models for Classifying Genomic Signals

Genomic signal processing has been used successfully in bioinformatics t...
research
05/17/2017

Robust Registration of Gaussian Mixtures for Colour Transfer

We present a flexible approach to colour transfer inspired by techniques...

Please sign up or login with your details

Forgot password? Click here to reset