Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

DBSCAN (Density-Based Spatial Clustering of Applications with Noise - Regroupement spatial d'applications basé sur la densité avec bruit)

Découvrez DBSCAN pour le regroupement basé sur la densité et la détection des anomalies. Apprenez comment il identifie les formes arbitraires et le bruit dans les ensembles de données avec Ultralytics .

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) est un puissant algorithme d'apprentissage non supervisé utilisé pour identifier des groupes distincts dans des données en fonction de leur densité. Contrairement aux méthodes de regroupement traditionnelles qui supposent des clusters sphériques ou nécessitent un nombre prédéterminé de groupes, DBSCAN localise des régions à haute densité séparées par des zones à faible densité. Cette capacité lui permet de découvrir des clusters de formes et de tailles arbitraires, ce qui le rend exceptionnellement efficace pour analyser des ensembles de données complexes du monde réel dont la structure sous-jacente est inconnue. L'un des principaux avantages de cet algorithme est sa fonction intégrée de détection des anomalies, car il classe automatiquement les points situés dans des régions à faible densité comme du bruit plutôt que de les forcer à entrer dans un cluster.

Concepts fondamentaux et paramètres

L'algorithme fonctionne en définissant un voisinage autour de chaque point de données et en comptant combien d'autres points se trouvent dans ce voisinage. Deux hyperparamètres principaux contrôlent ce processus, ce qui nécessite un réglage minutieux des hyperparamètres pour correspondre aux caractéristiques spécifiques des données :

  • Epsilon (eps) : ce paramètre spécifie le rayon maximal autour d'un point pour rechercher des voisins. Il définit la distance « d'accessibilité ».
  • Points minimums (minPts) : cette option définit le nombre minimum de points de données requis dans le rayon Epsilon pour former une région dense ou un « noyau ».

Sur la base de ces paramètres, DBSCAN classe chaque point de l'ensemble de données dans l'une des trois catégories suivantes :

  1. Points centraux : Points qui ont au moins minPts voisins au sein de la eps rayon. Ces points forment l'intérieur d'un cluster.
  2. Points frontières : Points qui se trouvent dans la eps rayon d'un point central mais ont moins de que minPts les voisins eux-mêmes. Ceux-ci forment les bords d'un cluster.
  3. Points bruités : points qui ne sont ni des points centraux ni des points frontaliers. Ils sont traités comme des valeurs aberrantes, ce qui est utile pour des tâches telles que la détection des valeurs aberrantes.

DBSCAN vs. K-Means Clustering

Bien que les deux soient fondamentaux pour l' apprentissage automatique (ML), DBSCAN offre des avantages distincts par rapport au clustering K-Means dans des scénarios spécifiques . K-Means s'appuie sur les centroïdes et la distance euclidienne, en supposant souvent que les clusters sont convexes ou sphériques. Cela peut entraîner de mauvaises performances sur des données allongées ou en forme de croissant. En revanche, l'approche basée sur la densité de DBSCAN lui permet de suivre les contours naturels de la distribution des données.

Une autre différence significative réside dans l'initialisation. K-Means exige que l'utilisateur spécifie à l'avance le nombre de clusters (k), ce qui peut s'avérer difficile sans connaissances préalables. DBSCAN déduit naturellement le nombre de clusters à partir de la densité des données. De plus, K-Means est sensible aux valeurs aberrantes, car il force chaque point à entrer dans un groupe, ce qui peut fausser les centres des clusters. La capacité de DBSCAN à étiqueter les points comme du bruit empêche les anomalies des données de contaminer les clusters valides, garantissant ainsi des résultats plus propres pour les tâches en aval telles que la modélisation prédictive.

Applications concrètes

DBSCAN est largement utilisé dans les secteurs qui nécessitent une analyse spatiale et une gestion robuste du bruit.

  • Analyse géospatiale : dans le domaine de l'urbanisme et de la logistique, les analystes utilisent DBSCAN pour regrouper les coordonnées GPS des flottes de livraison ou des services de covoiturage. En identifiant les zones de livraison à forte densité, les entreprises peuvent optimiser la planification des itinéraires et l'emplacement des entrepôts. Par exemple, l'IA dans le domaine de la logistique implique souvent le regroupement des arrêts de livraison afin d'améliorer l'efficacité.
  • Détection des anomalies par la vision : dans le secteur manufacturier, les systèmes d'inspection visuelle alimentés par des modèles tels que YOLO26 peuvent detect les défauts detect . DBSCAN peut regrouper les coordonnées de ces défauts sur une carte du produit. Les détections isolées peuvent être considérées comme du bruit de capteur, tandis que les regroupements denses indiquent un défaut de fabrication systématique, déclenchant une alerte pour l' inspection de la qualité.

Exemple de code : centroid de détection de regroupement

Dans les flux de travail liés à la vision par ordinateur, les développeurs utilisent souvent le Plate-forme Ultralytics pour former des détecteurs d'objets, puis post-traiter les résultats. L'exemple suivant montre comment utiliser la fonction sklearn bibliothèque pour regrouper les centroïdes des objets détectés. Cela permet de regrouper les détections qui sont spatialement liées, en fusionnant potentiellement plusieurs boîtes englobantes pour le même objet ou pour identifier des groupes d'objets.

import numpy as np
from sklearn.cluster import DBSCAN

# Simulated centroids of objects detected by YOLO26
# [x, y] coordinates representing object locations
centroids = np.array(
    [
        [100, 100],
        [102, 104],
        [101, 102],  # Cluster 1 (Dense group)
        [200, 200],
        [205, 202],  # Cluster 2 (Another group)
        [500, 500],  # Noise (Outlier)
    ]
)

# Initialize DBSCAN with a radius (eps) of 10 and min_samples of 2
# This groups points close to each other
clustering = DBSCAN(eps=10, min_samples=2).fit(centroids)

# Labels: 0, 1 are cluster IDs; -1 represents noise
print(f"Cluster Labels: {clustering.labels_}")
# Output: [ 0  0  0  1  1 -1]

Intégration avec l'apprentissage profond

Bien que DBSCAN soit un algorithme classique, il s'associe efficacement au deep learning moderne. Par exemple, les caractéristiques à haute dimension extraites d'un réseau neuronal convolutif (CNN) peuvent être réduites à l'aide de techniques de réduction de dimensionnalité telles que PCA ou t-SNE avant d'appliquer DBSCAN. Cette approche hybride permet de regrouper des données d'images complexes en fonction de leur similarité sémantique plutôt que de leur simple emplacement en pixels. Cela s'avère particulièrement utile dans les scénarios d'apprentissage non superviséles données d'entraînement étiquetées sont rares, aidant les chercheurs à organiser efficacement de vastes archives d'images non étiquetées.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant