Chapitre 10 — K-Means et algorithme de Lloyd

🎯 Objectifs d'apprentissage
  • Définir l'inertie intra-cluster et l'objectif de K-Means.
  • Décrire les 4 étapes de l'algorithme de Lloyd.
  • Calculer la mise à jour d'un centroïde.
  • Connaître les avantages et limites de K-Means.

10.1 — Le problème à résoudre

La méthode K-Means (K-moyennes) est une méthode de partitionnement qui cherche à séparer un jeu de données D en K clusters fixes. On suppose que les objets sont représentés dans un espace euclidien. main_5.pdf, p. 10

💡 Intuition

Placez K drapeaux (centroïdes) au hasard au milieu d'une foule. Chaque personne se range sous le drapeau le plus proche. Puis, chaque porteur de drapeau se déplace au centre exact de son groupe. On répète jusqu'à ce que plus personne ne change de drapeau.

10.2 — Objectif : inertie intra-cluster

📘 Définition à connaître

L'objectif de K-Means est de trouver une partition (C1, C2, …, CK) de l'ensemble des observations qui minimise la variance intra-cluster globale, souvent appelée inertie :

arg⁡minC1,…,CK ∑k=1K ∑x→∈Ck ‖x→−μ→k‖ 2 2

où μ⃗k est le centroïde (centre de gravité) du cluster Ck.

main_5.pdf, p. 10
⚠️ Remarque — problème NP-difficile

Résoudre ce problème de manière exacte n'est pas possible (NP-hard). On utilise donc une heuristique qui détermine un optimum local : l'algorithme de Lloyd.

10.3 — Algorithme de Lloyd

📘 Algorithme — 4 étapes

Entrée : n observations D = {xi}i=1,…,n dans ℝp et un nombre K de clusters.

  1. Initialisation : choisir K observations p1, …, pK parmi les n pour servir de centroïdes initiaux.
  2. Affectation : affecter chaque observation xi au centroïde dont elle est la plus proche :
    ki = arg⁡mink=1,…,K ‖xi−pk‖ 2 2
  3. Mise à jour : recalculer les centroïdes de chaque cluster Ck :
    pk = 1|Ck| ∑xi∈Ck xi
  4. Convergence : répéter les étapes 2 et 3 jusqu'à ce que les affectations ne changent plus.
main_5.pdf, p. 11

10.4 — Exemple guidé

✏️ Exemple guidé — Calcul de centroïdes et d'inertie

Soient 3 points dans ℝ² : x1 = (1, 2)T, x2 = (3, 4)T, x3 = (8, 10)T.

Affectation courante : cluster C1 = {x1, x2}, cluster C2 = {x3}.

Recalcul du centroïde μ1 :

μ→1 = x1+x2 2 = (1,2)+(3,4) 2 = (2,3)

Recalcul du centroïde μ2 :

μ→2 = x3 = (8,10)

Calcul de l'inertie intra-cluster totale :

  • Distance x1 à μ1 : (1−2)² + (2−3)² = 1 + 1 = 2
  • Distance x2 à μ1 : (3−2)² + (4−3)² = 1 + 1 = 2
  • Distance x3 à μ2 : 0
  • Inertie intra-cluster = 2 + 2 + 0 = 4,0

Interprétation : l'inertie mesure la variabilité résiduelle interne des groupes. Plus elle est faible, plus les clusters sont compacts.

10.5 — Avantages et limites

AvantagesInconvénients
  • Simple à implémenter et à comprendre
  • Relativement efficace : θ(tKn), où t = nb d'itérations
  • Tend à réduire la variance intra-cluster
  • Nécessite de spécifier K à l'avance
  • Utilisable seulement quand la notion de moyenne existe (pas sur données nominales)
  • Peut rester bloqué sur un optimum local
  • Sensible au bruit et aux anomalies
  • Sensible à l'initialisation
  • Ne permet pas de définir des classes aux formes non convexes
main_5.pdf, p. 13
⚠️ Attention — données nominales

K-Means ne peut pas être appliqué directement à des données catégorielles nominales, car la notion de moyenne vectorielle n'a pas de sens sur ces données. Il faut d'abord vectoriser (par exemple par one-hot encoding) si l'on veut les traiter.

📌 À retenir
  • Objectif : minimiser l'inertie intra-cluster ∑k ∑x ∈ Ck ‖x − μk‖².
  • Problème NP-difficile → heuristique de Lloyd.
  • Algorithme de Lloyd : initialisation → affectation → mise à jour → convergence.
  • Centroïde : μk = (1/|Ck|) ∑xi ∈ Ck xi.
  • Nécessite de fixer K à l'avance ; sensible à l'initialisation.
🎯 À l'examen
  1. Citez les 4 étapes de l'algorithme de Lloyd.
  2. Définissez mathématiquement l'objectif d'inertie intra-cluster.
  3. Pour les points x1 = (0, 0) et x2 = (4, 4) dans le même cluster, calculez le centroïde et l'inertie.
  4. Pourquoi K-Means ne fonctionne-t-il pas sur des données nominales ?