Gaussian Mixture Model (GMM) - Gaussian Mixture Regression (GMR)

Encoding of data in Gaussian Mixture Model and retrieval through Gaussian Mixture Regression

You are now following this Submission

GMM-GMR is a set of Matlab functions to train a Gaussian Mixture Model (GMM) and retrieve generalized data through Gaussian Mixture Regression (GMR). It allows to encode efficiently any dataset in Gaussian Mixture Model (GMM) through the use of an Expectation-Maximization (EM) iterative learning algorithms. By using this model, Gaussian Mixture Regression (GMR) can then be used to retrieve partial output data by specifying the desired inputs. It then acts as a generalization process that computes conditional probability with respect to partially observed data.

A sample is provided to load a dataset containing several trajectory data [t,x] where t is a temporal value and x is a position in 3D. The joint probability p(t,x) is then encoded in GMM, and GMR is used to retrieve p(x|t), namely the expected position at each time step. This is used to retrieve a smooth generalized version of the trajectories provided.

The source codes are implementations of the algorithms described in the book "Robot Programming by Demonstration: A Probabilistic Approach", EPFL/CRC Press. More information on http://programming-by-demonstration.org/book/

Cite As

Sylvain Calinon (2026). Gaussian Mixture Model (GMM) - Gaussian Mixture Regression (GMR) (https://www.mathworks.com/matlabcentral/fileexchange/19630-gaussian-mixture-model-gmm-gaussian-mixture-regression-gmr), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

Updated source code files

1.1.0.0

Notation updated to match the algorithms described in the book "Robot Programming by Demonstration: A Probabilistic Approach", EPFL/CRC Press (more information on http://programming-by-demonstration.org/book/)

1.0.0.0