Skip to content

Latest commit

 

History

History
53 lines (44 loc) · 3.05 KB

mdm.md

File metadata and controls

53 lines (44 loc) · 3.05 KB

mdm.jl

This unit implements the Riemannian MDM (Minimum Distance to Mean) classifier for the manifold of positive definite (PD) matrices, both real (symmetric PD) or complex (Hermitian PD) matrices. The MDM is a simple, yet efficient, deterministic and paramater-free classifier acting directly on the manifold of positive definite matrices (Barachat el al., 2012; Congedo et al., 2017a 🎓): given a number of PD matrices representing class means, the MDM classify an unknown datum (also a PD matrix) as belonging to the class whose mean is the closest to the datum. The process is illustrated in the upper part of this figure.

The MDM classifier involves only the concepts of a distance function for two PD matrices and a mean (center of mass) for a number of them. Those are defined for any given metric, a Metric enumerated type declared in PosDefManifold.

Currently supported metrics are:

metric (distance) mean estimation known also as
Euclidean arithmetic
invEuclidean harmonic
ChoEuclidean Cholesky Euclidean
logEuclidean log-Euclidean
logCholesky log-Cholesky
Fisher Fisher Cartan, Karcher, Pusz-Woronowicz, Affine-Invariant, ...
logdet0 logDet S, α, Bhattacharyya, Jensen, ...
Jeffrey Jeffrey symmetrized Kullback-Leibler
Wasserstein Wasserstein Bures, Hellinger, optimal transport, ...

Do not use the Von Neumann metric, which is also supported in PosDefManifold, since it does not allow a definition of mean. See here for details on the metrics. In order to use these metrics you need to install the PosDefManifold package.

The fit, predict and cvAcc functions for the MDM model are reported in the cv.jl unit, since those are homogeneous across all machine learning models. Here it is reported the MDMmodel abstract type, the MDM structure and the following functions, which typically you will not need to access directly, but are nonetheless provided to facilitate low-level operations with MDM classifiers:

function description
getMean compute the mean of positive definite matrices for fitting the MDM model
getDistances compute the distances of a matrix set to a set of means
MDMmodel
MDM
getMean
getDistances