image thumbnail

Free Split and Merge Expectation Maximization for MultiVaria

version 2.1 (214 KB) by Sebastien PARIS
FSMEM can estimate MVGM parameters and number of conpounds via split/merge cluster moves

4.8K Downloads

Updated 24 Jan 2020

View License

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
------

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

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
-------

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)
logl Final loglikelihood

Please run mexme_fsmem_mvgm.m in order to compile mex-files on your own plateform (Be sure than "mex -setup" have been previously)

Please run test_fsmem_mvgm for the demo

Cite As

Sebastien PARIS (2021). Free Split and Merge Expectation Maximization for MultiVaria (https://www.mathworks.com/matlabcentral/fileexchange/22711-free-split-and-merge-expectation-maximization-for-multivaria), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!