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 xi∈Rdx_i \in \mathbb{R}^d is generated from a mixture of KK Gaussian components:

P(x)=∑k=1KπkN(x∣μk,Σk)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 ∑i=1Nln⁡(∑k=1KπkN(xi∣μk,Σk))\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 γik\gamma_{ik} that point xix_i belongs to component kk:

γik=πkN(xi∣μk,Σk)∑j=1KπjN(xi∣μj,Σj)\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:

Nk=∑i=1Nγik(Effective count of points in component k)N_k = \sum_{i=1}^N \gamma_{ik} \quad \text{(Effective count of points in component } k\text{)} μknew=1Nk∑i=1Nγikxi,Σknew=1Nk∑i=1Nγik(xi−μknew)(xi−μknew)T,πknew=NkN\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