K-means

K moyennes.

Motivation

Identifier des groupes (clusters) dans un ensemble de données.

Analyse

L'algorithme des K-moyennes est un algorithme de ML non supervisé qui va associer à chaque point de `X` un groupe `{1..K}`.

Conception

3 points tirés au hasard se sont progressivement déplacés pour minimiser la moyenne de leur distances aux 3 groupes de valeurs
3 points tirés au hasard se sont progressivement déplacés pour minimiser la moyenne de leur distances      aux 3 groupes de valeurs

L'algorithme des K-moyennes consiste à associer des points à des groupes en fonction de leur distance à leurs barycentres (centroids) :

  1. tirer K points au hasard
  2. répéter jusqu'à convergence
    1. affecter des points aux groupes
    2. déplacer les barycentres des groupes

Affectation aux groupes

Pour déterminer le groupe (cluster) appartient (en attendant la convergence) chaque point `x^((i))` (avec `i` de 1 à `m`), on va chercher de quel barycentre `μ_k` il est le plus proche. On affectera alors à `c^((i))` l'indice du `k` groupe trouvé (par conséquent `μ_(c^((i)))` représente le barycentre auquel `x^((i))` est affecté).

Mathématiquement, cette opération revient à minimiser la fonction de coût suivante (dite "fonction de distorsion") sans changer les `μ_k` :

`J(c^((1)),…,c^((m)),μ_1,…,μ_K) = 1/m sum_(i=1)^m norm(x^((i))-μ_(c^((i))))^2`

Déplacement des barycentres

Déterminer pour chacun des K groupes `μ_k` qui est la moyenne des points (le nouveau barycentre) affectés au groupe `k` :

`μ_k:= 1/abs(Ck) sum_(i∈C_k)x^((i))` où `C_k` est l'ensemble de points affectés au barycentre `k`

Mathématiquement, cette opération revient à minimiser `J` par rapport aux `μ_k`.

Notes

Exemples

Des exemples d'application de K-Means sont :