Clustering K-Means
Découvrez le clustering K-Means, un algorithme clé d'apprentissage non supervisé pour le regroupement de données en clusters. Explorez son processus, ses applications et ses comparaisons !
Le clustering K-Means est un algorithme fondamental et largement utilisé dans le domaine de l'
apprentissage non supervisé, conçu pour mettre au jour les
structures cachées dans les données non étiquetées. Son objectif principal
est de partitionner un ensemble de données en sous-groupes distincts, appelés clusters, de manière à ce que les points de données d'un même
groupe soient aussi similaires que possible, tandis que ceux de groupes différents soient distincts. En tant que pierre angulaire de l'
exploration de données et de l'analyse exploratoire, K-Means permet aux
data scientists d'organiser automatiquement des informations complexes en catégories gérables sans avoir besoin d'
étiquettes prédéfinies ou de supervision humaine.
Comment fonctionne l'algorithme
Le fonctionnement de K-Means est itératif et s'appuie sur des mesures de distance pour déterminer le regroupement optimal des
données d'apprentissage. L'algorithme fonctionne en organisant les
éléments en K clusters, chaque élément appartenant au cluster dont la moyenne, ou centroïde, est la plus proche. Ce
processus minimise la variance au sein de chaque groupe. Le flux de travail
suit généralement les étapes suivantes :
-
Initialisation : l'algorithme sélectionne K points initiaux comme centroïdes. Ceux-ci peuvent être choisis
au hasard ou via des méthodes optimisées telles que k-means++ afin d'accélérer la
convergence.
-
Affectation : chaque point de données dans l'ensemble de données est affecté au centroïde le plus proche sur la base d'une
métrique de distance spécifique, le plus souvent la
distance euclidienne.
-
Mise à jour : les centroïdes sont recalculés en prenant la moyenne de tous les points de données attribués à
ce cluster.
-
Itération : les étapes 2 et 3 sont répétées jusqu'à ce que les centroïdes ne bougent plus de manière significative ou qu'un nombre maximal
d'itérations soit atteint.
Déterminer le nombre correct de clusters (K) est un aspect essentiel de l'utilisation de cet algorithme. Les praticiens
utilisent souvent des techniques telles que la méthode Elbow ou
analysent le
score Silhouette
pour évaluer le degré de séparation des clusters obtenus.
Applications de l'IA dans le monde réel
Le regroupement par la méthode des k-moyennes est très polyvalent et trouve son utilité dans divers secteurs pour la simplification et le
prétraitement des données.
-
Compression d'images et quantification des couleurs : en
vision par ordinateur (CV), K-Means permet de réduire la
taille des fichiers image en regroupant les couleurs des pixels. En regroupant des milliers de couleurs en un ensemble plus restreint de couleurs dominantes
, l'algorithme effectue efficacement une
réduction de la dimensionnalité tout en
préservant la structure visuelle de l'image. Cette technique est souvent utilisée avant l'entraînement de modèles avancés de
détection d'objets afin de normaliser les données d'entrée.
-
Segmentation de la clientèle : les entreprises utilisent le regroupement pour classer les clients en fonction de leur historique d'achat,
de leurs données démographiques ou de leur comportement sur le site web. Cela permet de mettre en place des stratégies marketing ciblées, un élément clé de l'
IA dans les solutions de vente au détail. En identifiant les acheteurs à forte valeur ajoutée
ou les risques de perte de clientèle, les entreprises peuvent adapter efficacement leur communication.
-
Détection des anomalies : en apprenant la structure des clusters de données « normaux », les systèmes peuvent
identifier les valeurs aberrantes qui s'éloignent considérablement de tout centroïde. Cela est
précieux pour la détection des fraudes dans le domaine financier et la
détection des anomalies dans la sécurité des réseaux, car cela permet de
signaler les activités suspectes qui s'écartent des modèles standard.
-
Génération de boîtes d'ancrage : historiquement, les détecteurs d'objets tels que YOLO anciennes YOLO utilisaient la méthode K-Means pour
calculer les boîtes d'ancrage optimales à partir d'ensembles de données d'entraînement
. Alors que les modèles modernes tels que YOLO26 utilisent des méthodes avancées
sans ancrage, la compréhension de la méthode K-Means reste pertinente pour l'évolution des architectures de détection.
Exemple de mise en œuvre
Alors que les frameworks d'apprentissage profond tels que la Ultralytics gèrent des
pipelines d'entraînement complexes, K-Means est souvent utilisé pour analyser les statistiques des ensembles de données. Python suivant
montre comment regrouper des coordonnées 2D (simulant les centroïdes d'objets) à l'aide de la célèbre
bibliothèque Scikit-learn.
import numpy as np
from sklearn.cluster import KMeans
# Simulated coordinates of detected objects (e.g., from YOLO26 inference)
points = np.array([[10, 10], [12, 11], [100, 100], [102, 101], [10, 12], [101, 102]])
# Initialize K-Means to find 2 distinct groups (clusters)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto").fit(points)
# Output the cluster labels (0 or 1) for each point
print(f"Cluster Labels: {kmeans.labels_}")
# Output: [1 1 0 0 1 0] -> Points near (10,10) are Cluster 1, near (100,100) are Cluster 0
Comparaison avec des algorithmes apparentés
Il est important de distinguer K-Means des autres algorithmes ayant des noms ou des fonctions similaires afin de s'assurer que l'
outil choisi pour un projet est le bon.
-
K-Means vs. K-Nearest Neighbors (KNN) : ces deux algorithmes sont souvent confondus en raison de la lettre « K » dans leur
nom. K-Means est un algorithme non supervisé utilisé pour regrouper des données non étiquetées. En revanche,
K-Nearest Neighbors (KNN) est un
algorithme d'apprentissage supervisé utilisé pour la
classification et la régression d'images, qui s'appuie
sur des données étiquetées pour faire des prédictions basées sur la classe majoritaire des voisins.
-
K-Means vs. DBSCAN : Bien que les deux méthodes regroupent les données, K-Means suppose que les clusters sont sphériques et nécessite que
le nombre de clusters soit défini au préalable.
DBSCAN
regroupe les données en fonction de leur densité, peut trouver des clusters de formes arbitraires et gère mieux le bruit. Cela rend DBSCAN
supérieur pour les données spatiales complexes présentes dans les ensembles de données avec des
structures irrégulières où le nombre de clusters est inconnu.