EM for HMM Multivariate Gaussian processes

A fast implementation of the EM Algorithm for HMM Multivariate Gaussian Mixture
14.2K Downloads
Updated 18 May 2021

View License

em_ghmm : Expectation-Maximization algorithm for a HMM with Multivariate Gaussian measurement
Usage
-------
[logl , PI , A , M , S] = em_ghmm(Z , PI0 , A0 , M0 , S0 , [options]);
Inputs
-------
Z Measurements (m x K x n1 x ... x nl)
PI0 Initial probabilities (d x 1) : Pr(x_1 = i) , i=1,...,d. PI0 can be (d x 1 x v1 x ... x vr)
A0 Initial state transition probabilities matrix Pr(x_{k} = i| x_{k - 1} = j) such
sum_{x_k}(A0) = 1 => sum(A , 1) = 1. A0 can be (d x d x v1 x ... x vr).
M0 Initial mean vector. M0 can be (m x 1 x d x v1 x ... x vr)
S0 Initial covariance matrix. S0 can be (m x m x d x v1 x ... x vr)
options nb_ite Number of iteration (default [30])
update_PI Update PI (0/1 = no/[yes])
update_A Update PI (0/1 = no/[yes])
update_M Update M (0/1 = no/[yes])
update_S Update S (0/1 = no/[yes])
Outputs
-------
logl Final loglikelihood (n1 x ... x nl x v1 x ... x vr)
PI Estimated initial probabilities (d x 1 x n1 x ... x nl v1 x ... x vr)
A Estimated state transition probabilities matrix (d x d x n1 x ... x nl v1 x ... x vr)
M Estimated mean vector (m x 1 x d x n1 x ... x nl v1 x ... x vr)
S Estimated covariance vector (m x m x d x n1 x ... x nl v1 x ... x vr)
Please run mexme_em_ghmm to compile mex files on your platform.
Run test_em_ghmm for demo

Cite As

Sebastien PARIS (2024). EM for HMM Multivariate Gaussian processes (https://www.mathworks.com/matlabcentral/fileexchange/20712-em-for-hmm-multivariate-gaussian-processes), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.8.0.0

- Fix mxIndex for modern Matlab versions

1.7.0.0

-Fix 2 bugs (Thanks to Jonathan for reporting)

1.6.0.0

-Fixed a bug introduced in the last update

1.5.0.0

-Minor update for Linux systems

1.4.0.0

-Fixed bug with Linux64 & GCC

1.3.0.0

Correct a bug in likelihood_mvgm.c when d=1

1.2.0.0

Fixed bug in the likelihood constant computation

1.1.0.0

-add mexme_em_ghmm and compatible with LCC compiler

1.0.0.0