Skip to main content

> ML_ALGORITHM // EXPECTATION-MAXIMIZATION-ALGORITHM_v1.0

Expectation-Maximization (EM)

Foundational iterative algorithm for finding maximum likelihood or maximum a posteriori (MAP) estimates in models with latent variables.

Latent Variable Optimizationbayesian-probabilistichigh-intrinsicmedium (1k-100k)
Back to All Algorithms
Computational Complexity
Training Complexity:O(iterations * (E_step + M_step))
Inference Complexity:O(parameter_pass)
Hardware Profile
CPU Friendly:Yes
Requires GPU:No
Memory Footprint:low
Interpretability & Data
Interpretability Tier:high-intrinsic
Training Data Needs:medium (1k-100k)

Interpretability Assessment

E-step estimates soft responsibilities while M-step updates parameter estimators in closed analytical form.

Suitable Tasks & Supported Modalities

Suitable Tasks:
clusteringlatent variable estimationimputation
Supported Modalities:
tabular

Implementing Libraries

scikit-learnscikit-learn Consortium / Inria · v1.5.2
View Spec
statsmodelsstatsmodels Developers / NumFOCUS · v0.14.4
View Spec
SciPySciPy Community / NumFOCUS · v1.14.1
View Spec

Foundational Literature

Common Pitfalls & Warnings
  • EM is only guaranteed to converge to a local maximum of the likelihood surface, sensitive to initial parameter seeds