Be the first to rate this file! 220 downloads (last 30 days) File Size: 261.46 KB File ID: #22711

Free Split and Merge Expectation Maximization for MultiVariate Gaussian Mixture

by Sebastien Paris

 

18 Jan 2009 (Updated 05 Oct 2009)

Code covered by BSD License  

FSMEM can estimate MVGM parameters and number of conpounds via split/merge cluster moves

Download Now | Watch this File

File Information
Description

Free Split and Merge Expectation-Maximization algorithm for Multivariate Gaussian Mixtures. This algorithm is suitable to estimate mixture parameters and the number of conpounds

 Usage
 -------

 [logl , M , S , P] = fsmem_mvgm(Z , [M0] , [S0] , [P0] , [option]);

 Inputs
 -------

 Z Measurements (d x N)
 M0 Initial mean vector. M0 can be (d x 1 x K) (default [Kini random elements from Z])
 S0 Initial covariance matrix. S0 can be (d x d x K) (default [cov(Z)/40])
 P0 Initial mixture probablities (1 x 1 x K) : (default [1/Kini])
 options
Kini Initial number of compounds (default [5])
Kmax Maximum number of compounds (default [15])
                    maxite_fsmem Number of maximum iteration for the main loop of the fsmem (default [100])
maxite_fullem Number of maximum iteration for the full EM inside the main loop (default [100])
maxite_partialem Number of maximum iteration for the partial EM inside the main loop (default [100])
epsi_fullem Tolerance in loglikelihood improuvement of the Full EM (default [1e-6])
epsi_partialem Tolerance in loglikelihood improuvement of the Partial EM (default [1e-6])
lambda Covariance regularization parameter (default [0.01])
maxcands_split Maximum number of split candidate (default [5])
splitinit_epsi Split Initialisation parameter for the mean of splitted cluster (default [1])
maxcands_merge Maximum number of merge candidate (default [5])
covtype Covariance type : 0 = full , 1 = elliptical , 2 = spherical (default [0])
fail_exit Number of tentatives of split/merge operations before exit. If fail_exit = 0, then FSMEM = EM
 

 Ouputs
 -------

 logl Final loglikelihood
 M Estimated mean vector (d x 1 x Kest), where Kest is the number of estimated coupounds
 S Estimated covariance vector (d x d x Kest)
 P Estimated initial probabilities (1 x 1 x Kest)

Please run mexme_fsmem_mvgm.m in order to compiler mex-files on your own plateform

Please run test_fsmem_mvgm for the demo

MATLAB release MATLAB 7.8 (R2009a)
Other requirements A C compiler
Zip File Content  
Published M Files test_fsmem_mvgm
Other Files
fsmem_mvgm.c,
fsmem_mvgm.dll,
gene_mvgm.m,
html/test_fsmem_mvgm.png,
html/test_fsmem_mvgm_01.png,
html/test_fsmem_mvgm_02.png,
html/test_fsmem_mvgm_03.png,
html/test_fsmem_mvgm_04.png,
html/test_fsmem_mvgm_05.png,
html/test_fsmem_mvgm_06.png,
html/test_fsmem_mvgm_07.png,
html/test_fsmem_mvgm_08.png,
html/test_fsmem_mvgm_09.png,
html/test_fsmem_mvgm_10.png,
html/test_fsmem_mvgm_11.png,
init_mvgm.m,
license.txt,
likelihood_mvgm.c,
likelihood_mvgm.dll,
loglike_mvgm.c,
loglike_mvgm.dll,
mexme_fsmem_mvgm.m,
ndellipse.c,
ndellipse.dll,
pdf_mvgm.c,
pdf_mvgm.dll,
sample_mvgm.c,
sample_mvgm.dll,
spiral2d.m,
test_fsmem_mvgm.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Updates
19 Jan 2009

-Add HTML file report

04 Feb 2009

Correct a bug in likelihood_mvgm.c when d=1

01 Mar 2009

- add options.Kmin
- Update qsindex with an inproved algorithm

05 Jun 2009

Minor code cleaning and should compile on non-C99 compiler

05 Oct 2009

- Improve description and mexme_fsmem_mvgm
- Should compile on Linux

Tag Activity for this File
Tag Applied By Date/Time
mathematics Sebastien Paris 19 Jan 2009 10:48:17
optimization Sebastien Paris 19 Jan 2009 10:48:17
signal processing Sebastien Paris 19 Jan 2009 10:48:17
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com