GMMBAYES - Bayesian Classifier and Gaussian Mixture Model ToolBox


This package contains Matlab m-files for learning finite Gaussian mixtures from sample data and performing data classification with Mahalanobis distance or Bayesian classifiers. Each class in training set is learned individually with one of the three variations of the Expectation Maximization algorithm: the basic EM algorithm with covariance fixing, the Figueiredo-Jain clustering algorithm and the greedy EM algorithm.

The basic EM and FJ algorithms can handle complex valued data directly, the greedy EM algorithm cannot.

Versions 0.3 and 1.0 contain probability density quantile code that can be used for outlier detection and trash class classification.


Joni Kämäräinen and Pekka Paalanen.


The GMMBayes Toolbox is Copyright (C) 2003 by Joni Kämäräinen and Pekka Paalanen except the gmmbvl_*.m files and cmvnpdf.m which are copyrighted by their respective authors.

The software package is free software; you can redistribute it and/or modify it under terms of GNU General Public License as published by the Free Software Foundation; either version 2 of the license, or any later version. For more details see licenses at

The software package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

As stated in the GNU General Public License it is not possible to include this software library or even parts of it in a proprietary program without written permission from the owners of the copyright. If you wish to obtain such permission, you can reach us by mail:

      Department of Information Processing
      Lappeenranta University of Technology
      P.O. Box 20 FIN-53851 Lappeenranta

and by e-mail:


Please, if you find any bugs contact authors.


The readme.txt file contains a full changelog between all released versions.

The HTML documentation for GMMBayes Toolbox V1.0 is also included in the respective package.

The HTML documentation for GMMBayes Toolbox V0.3 is also included in the respective package.

The HTML documentation for GMMBayes Toolbox V0.2 is also included in the respective package.


If you have any problems or suggestions concerning this software package contact Pekka Paalanen. The Toolbox was developed under Matlab R13 in Gnu/Linux environment. Different Matlab distributions were tested by running the gmmb_demo01 script.

VersionTested Matlab DistributionTested OS FileFile size
V0.1R13Unix (Linux) gmmbayestb-v0.1.tar.gz21kB
V0.2R13, R12Unix (Linux) gmmbayestb-v0.2.tar.gz105kB
V0.3R12, R13, R13SP1, R14SP1Unix (Linux) gmmbayestb-v0.3.tar.gz116kB
V1.0see V0.3Unix (Linux) gmmbayestb-v1.0.tar.gz120kB


A flaw was found in the gmmb_covfixer routine. The test for detecting an invalid covariance matrix was insufficient, leading later to division-by-zeros and NaNs more often than necessary. The methods 'EM' and 'FJ' are affected. The following file has a stricter check based on SVD, it is recommended that you replace the gmmb_covfixer.m file you got from the v1.0 package with this file: gmmb_covfixer.m.

Links to other resources