Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

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 regroupement K-Means est un algorithme largement utilisé dans le domaine de l'apprentissage non supervisé. l'apprentissage non supervisé, conçu pour diviser un ensemble de données en sous-groupes distincts qui ne se chevauchent pas. en sous-groupes distincts qui ne se chevauchent pas. Dans le contexte plus large de l 'apprentissage machine (ML), cette méthode est essentielle pour découvrir des modèles et des structures cachés dans des données non étiquetées. L'algorithme fonctionne en organisant les points de données dans un nombre $K$ de grappes, où chaque point appartient à la grappe dont la moyenne est la plus proche, servant de prototype du groupe. du groupe. Cette approche permet de minimiser la variance au sein de chaque grappe, en veillant à ce que les points de données d'un même groupe soient aussi similaires que possible, tout en conservant les mêmes caractéristiques. sont aussi similaires que possible tout en maintenant les différents groupes distincts.

Comment fonctionne l'algorithme

Le processus de K-Means est itératif et commence par la sélection de $K$ centroïdes initiaux, qui servent de points centraux pour les clusters. les points centraux des grappes. Ces centroïdes peuvent être choisis au hasard ou par le biais de techniques d'initialisation plus intelligentes telles que Initialisation k-means afin d'améliorer la vitesse de convergence. L'algorithme passe ensuite par deux étapes primaires jusqu'à ce que les résultats se stabilisent :

  1. Affectation: Chaque point de données dans les données d'apprentissage est assigné au centroïde le plus proche sur la base d'une métrique de distance, généralement la distance euclidienne. Cette étape permet de regrouper les données en données en $K$ clusters.
  2. Mise à jour: le nouveau centroïde de chaque grappe est calculé en calculant la moyenne de tous les points de données assignés à ce groupe spécifique.

Ce cycle se répète jusqu'à ce que les centroïdes ne se déplacent plus de manière significative, ce qui indique que l'algorithme a convergé. La détermination du nombre optimal de clusters est une partie critique du processus, souvent réalisée à l'aide de techniques telles que la méthode du coude ou en analysant le score de Silhouette pour mesurer la distance de séparation entre les grappes obtenues.

Applications de l'IA dans le monde réel

Le regroupement K-Means est polyvalent et trouve son utilité dans divers secteurs d'activité pour les tâches d'exploration et d'analyse des données. l'exploration et l'analyse des données.

  • Segmentation de la clientèle: Les entreprises utilisent le clustering pour regrouper les clients en fonction de leur comportement d'achat, de leurs données démographiques ou de leur historique de navigation. comportement d'achat, les données démographiques ou l'historique de navigation. En identifiant des groupes distincts, les entreprises peuvent adapter leurs stratégies de marketing. marketing, de la même manière que l'IA dans le commerce de détail le ciblage des clients et la gestion des stocks.
  • Compression d'images: Dans le domaine de la vision par ordinateur (CV), K-Means est utilisé pour la quantification des couleurs. Cette technique réduit le nombre de couleurs uniques dans une image en regroupant les valeurs des pixels, réalisant ainsi une réduction de la dimensionnalité tout en tout en conservant l'intégrité visuelle de l'image.
  • Détection des anomalies: En apprenant la structure des groupes de données normales, les systèmes peuvent identifier les valeurs aberrantes qui s'éloignent de tout centroïde. qui s'éloignent de tout centroïde. Cela est utile pour les applications de sécurité et la détection d'anomalies dans le trafic réseau.

K-Means dans l'histoire de la détection d'objets

Alors que les détecteurs d'objets modernes comme Ultralytics YOLO11 utilisent souvent utilisent souvent des techniques de régression avancées ou des têtes sans ancrage, K-Means a joué un rôle central dans l'évolution des modèles de détection. modèles de détection. Les itérations précédentes, telles que YOLOv2 à YOLOv5, utilisaient le regroupement K-Means sur les dimensions de la boîte de délimitation de l'ensemble de données COCO pour déterminer les modèles de détection optimaux. de l'ensemble de donnéesCOCO pour déterminer les boîtes d'ancrage optimales. optimales. Ces ancres précalculées ont fourni au modèle Ces ancres précalculées ont fourni au modèle de meilleurs antécédents pour prédire les formes des objets, améliorant ainsi de manière significative la stabilité de l'apprentissage et le rappel.

K-Means vs. K-Voisins les plus proches (KNN)

Il est courant de confondre les K-Means avec les K-voisins les plus proches (KNN), mais ils ont des objectifs fondamentalement différents.

  • K-Means est un algorithme non supervisé utilisé pour le regroupement. Il ne Il ne nécessite pas de données étiquetées et se concentre sur la recherche de la structure inhérente à l'ensemble de données.
  • KNN est un algorithme d'apprentissage supervisé utilisé pour la classification et la régression d'images. classification et la régression d'images. Il s'appuie sur des données étiquetées pour s'appuie sur des données étiquetées pour classify nouveaux points de données en fonction de la classe majoritaire de leurs voisins les plus proches.

Un autre concept apparenté est DBSCAN, qui regroupe les données en fonction de la densité plutôt que de la distance par rapport à un point central. Contrairement à K-Means, DBSCAN n'exige pas que le nombre de clusters soit spécifié au préalable et gère mieux les valeurs aberrantes. de spécifier au préalable le nombre de clusters et gère mieux les valeurs aberrantes.

Exemple de code : Quantification des couleurs

L'exemple Python suivant montre comment utiliser les K-Means pour regrouper les couleurs des pixels, une étape courante de prétraitement des données dans les tâches de vision. de pré-traitement des données dans les tâches de vision.

import numpy as np
from sklearn.cluster import KMeans

# Simulate a small image (10x10 pixels) with 3 RGB channels
# In a real scenario, you would load an image using cv2.imread()
image_data = np.random.randint(0, 255, (10, 10, 3), dtype=np.uint8)
pixels = image_data.reshape(-1, 3)

# Apply K-Means to reduce the image to 3 dominant colors (clusters)
kmeans = KMeans(n_clusters=3, n_init="auto", random_state=42).fit(pixels)

# The cluster centers represent the dominant colors
print(f"Dominant RGB Colors:\n{kmeans.cluster_centers_}")

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant