Code covered by the BSD License  

Highlights from
EM algorithm for Gaussian mixture model with background noise

5.0

5.0 | 1 rating Rate this file 68 Downloads (last 30 days) File Size: 3.07 KB File ID: #36721
image thumbnail

EM algorithm for Gaussian mixture model with background noise

by

 

16 May 2012 (Updated )

Standard EM algorithm to fit a GMM with the (optional) consideration of background noise.

| Watch this File

File Information
Description

This is the standard EM algorithm for GMMs, presented in Bishop's book "Pattern Recognition and Machine Learning", Chapter 9, with one small exception, the addition of a uniform distribution to the mixture to pick up background noise/speckle; data points which one would not want to associate with any cluster.

NOTE: This function requires the MATLAB Statistical Toolbox and, for plotting the ellipses, the function error_ellipse, available from http://www.mathworks.com/matlabcentral/fileexchange/4705. Also requires at least MATLAB 7.9 (2009b)

For a demo example simply run GM_EM();
Plotting is provided automatically for 1D/2D cases with 5 GMs or less.

Usage: % GM_EM - fit a Gaussian mixture model to N points located in n-dimensional space.
    % GM_EM(X,k) - fit a GMM to X, where X is N x n and k is the number of
    % clusters. Algorithm follows steps outlined in Bishop
    % (2009) 'Pattern Recognition and Machine Learning', Chapter 9.
   
    % Optional inputs
    % bn_noise - allow for uniform background noise term ('T' or 'F',
    % default 'T'). If 'T', relevant classification uses the
    % (k+1)th cluster
    % reps - number of repetitions with different initial conditions
    % (default = 10). Note: only the best fit (in a likelihood sense) is
    % returned.
    % max_iters - maximum iteration number for EM algorithm (default = 100)
    % tol - tolerance value (default = 0.01)
   
    % Outputs
    % idx - classification/labelling of data in X
    % mu - GM centres

Acknowledgements

Em Algorithm For Gaussian Mixture Model inspired this file.

Required Products Statistics Toolbox
MATLAB
MATLAB release MATLAB 7.9 (R2009b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
01 Oct 2012 Jin Wang

the input has to be square,right?
if my input data is not square, like 200x10, what should I do?
Thanks!

16 May 2012 peter

an "unknown" cluster, this is what we have been looking for. thanks a lot.

Updates
16 May 2012

made help file more readable

Contact us