Classical ML

Gaussian Mixtures & EM

Probabilistic soft-clustering using mixtures of Gaussians optimized via Expectation-Maximization.

🔴 advanced5 min readunsupervised
Gaussian Mixture Models (GMMs) model complex data distributions as a weighted sum of K multivariate Gaussian components. Unlike k-Means which assigns hard cluster memberships (0/1), GMM provides soft probabilistic assignments P(Component k | x_i). Parameters (means μ_k, covariance matrices Σ_k, mixing weights π_k) are estimated via the Expectation-Maximization (EM) algorithm, alternating between computing responsibility probabilities (E-step) and updating Gaussian parameters (M-step).

Model Formulation

Data $x_i \in \mathbb{R}^d$ is generated from a mixture of $K$ Gaussian components:

$$P(x) = \sum_{k=1}^K \pi_k \mathcal{N}(x \mid \mu_k, \Sigma_k)$$

       k-Means Hard Clusters                 GMM Soft Elliptical Clusters
     (Spherical Voronoi Cells)                (Overlapping Probabilities)
          ┌──────┬──────┐                         . .  .   . . .
          │  *   │  *   │                      (  *  )   (   *   )  γ_ik = 0.85
          │      │      │                     . .  .   . . .
          └──────┴──────┘

The Expectation-Maximization (EM) Algorithm

EM finds local maximum of log-likelihood $\sum_{i=1}^N \ln \left( \sum_{k=1}^K \pi_k \mathcal{N}(x_i \mid \mu_k, \Sigma_k) \right)$:

1. Expectation Step (E-step): Compute Responsibilities

Compute posterior probability $\gamma_{ik}$ that point $x_i$ belongs to component $k$:

$$\gamma_{ik} = \frac{\pi_k \mathcal{N}(x_i \mid \mu_k, \Sigma_k)}{\sum_{j=1}^K \pi_j \mathcal{N}(x_i \mid \mu_j, \Sigma_j)}$$

2. Maximization Step (M-step): Re-estimate Parameters

Update parameters using weighted responsibilities:

$$N_k = \sum_{i=1}^N \gamma_{ik} \quad \text{(Effective count of points in component } k\text{)}$$

$$\mu_k^{\text{new}} = \frac{1}{N_k} \sum_{i=1}^N \gamma_{ik} x_i, \quad \Sigma_k^{\text{new}} = \frac{1}{N_k} \sum_{i=1}^N \gamma_{ik} (x_i - \mu_k^{\text{new}})(x_i - \mu_k^{\text{new}})^T, \quad \pi_k^{\text{new}} = \frac{N_k}{N}$$

Repeat E and M steps until log-likelihood converges.

Covariance Matrix Constraints in Scikit-Learn

Say this out loud

"GMM is a probabilistic clustering model representing data as a sum of K Gaussians. Unlike k-Means hard assignments, GMM outputs soft posterior probabilities P(k|x) and fits full covariance matrices Σ_k for elliptical clusters. Parameters are optimized via Expectation-Maximization: the E-step calculates component responsibilities γ_ik, and the M-step updates means, covariances, and mixing weights."

Follow-ups to expect

Check yourself

Question 1 of 3

How does Gaussian Mixture Model (GMM) clustering differ fundamentally from k-Means clustering?

More in Classical ML

See all →
Bias–Variance Tradeoff4 minOverfitting vs Underfitting3 minLinear Regression4 min