DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
Esplora DBSCAN per il clustering basato sulla densità e il rilevamento delle anomalie. Impara come identifica forme arbitrarie e rumore nei set di dati insieme a Ultralytics YOLO26.
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) è un potente algoritmo di apprendimento non supervisionato utilizzato per identificare gruppi distinti all'interno dei dati basandosi sulla densità. A differenza dei metodi di clustering tradizionali che presuppongono cluster sferici o richiedono un numero predeterminato di gruppi, DBSCAN individua regioni ad alta densità separate da aree a bassa densità. Questa capacità gli permette di scoprire cluster di forme e dimensioni arbitrarie, rendendolo eccezionalmente efficace per l'analisi di complessi dataset del mondo reale in cui la struttura sottostante è sconosciuta. Un vantaggio chiave di questo algoritmo è il suo sistema integrato di rilevamento di anomalie, poiché classifica automaticamente i punti nelle regioni a bassa densità come rumore invece di forzarli all'interno di un cluster.
Link to this sectionConcetti fondamentali e parametri#
L'algoritmo opera definendo un vicinato attorno a ciascun punto dati e contando quanti altri punti ricadono in tale prossimità. Due iperparametri principali controllano questo processo, richiedendo un'attenta ottimizzazione degli iperparametri per adattarsi alle caratteristiche specifiche dei dati:
- Epsilon (eps): Questo parametro specifica il raggio massimo attorno a un punto per cercare i vicini. Definisce la distanza di "raggiungibilità".
- Punti minimi (minPts): Questo imposta il numero minimo di punti dati richiesti all'interno del raggio Epsilon per formare una regione densa o "nucleo".
Basandosi su questi parametri, DBSCAN classifica ogni punto nel dataset in uno di tre tipi:
-
Punti nucleo (Core Points): Punti che hanno almeno
minPtsvicini entro il raggioeps. Questi punti formano l'interno di un cluster. -
Punti di confine (Border Points): Punti che si trovano entro il raggio
epsdi un punto nucleo ma che hanno meno diminPtsvicini. Questi formano i bordi di un cluster. -
Punti di rumore (Noise Points): Punti che non sono né punti nucleo né punti di confine. Questi sono trattati efficacemente come outlier, il che è utile per attività come il rilevamento di outlier.
Link to this sectionDBSCAN vs. Clustering K-Means#
Sebbene entrambi siano fondamentali per l'apprendimento automatico (ML), DBSCAN offre vantaggi distinti rispetto al Clustering K-Means in scenari specifici. K-Means si basa su centroidi e distanza euclidea, ipotizzando spesso che i cluster siano convessi o sferici. Ciò può portare a scarse prestazioni su dati allungati o a forma di mezzaluna. Al contrario, l'approccio basato sulla densità di DBSCAN gli permette di seguire i contorni naturali della distribuzione dei dati.
Un'altra differenza significativa risiede nell'inizializzazione. K-Means richiede all'utente di specificare il numero di cluster (k) in anticipo, il che può essere difficile senza una conoscenza preliminare. DBSCAN deduce il numero di cluster naturalmente dalla densità dei dati. Inoltre, K-Means è sensibile agli outlier perché forza ogni punto in un gruppo, potenzialmente distorcendo i centri dei cluster. La capacità di DBSCAN di etichettare i punti come rumore impedisce alle anomalie dei dati di contaminare cluster validi, garantendo risultati più puliti per attività a valle come la modellazione predittiva.
Link to this sectionApplicazioni nel mondo reale#
DBSCAN è ampiamente applicato in settori che richiedono analisi spaziale e una gestione robusta del rumore.
- Analisi geospaziale: Nella pianificazione urbana e nella logistica, gli analisti utilizzano DBSCAN per raggruppare coordinate GPS provenienti da flotte di consegna o servizi di ride-sharing. Identificando zone di rilascio ad alta densità, le aziende possono ottimizzare la pianificazione dei percorsi e la posizione dei magazzini. Ad esempio, l'IA nella logistica spesso comporta il clustering delle fermate di consegna per migliorare l'efficienza.
- Rilevamento di anomalie basato sulla visione: Nella produzione, i sistemi di ispezione visiva alimentati da modelli come YOLO26 potrebbero rilevare difetti superficiali. DBSCAN può raggruppare le coordinate di questi difetti su una mappa del prodotto. I rilevamenti isolati potrebbero essere scartati come rumore del sensore, mentre cluster densi indicano un difetto di produzione sistematico, attivando un avviso per l'ispezione di qualità.
Link to this sectionEsempio di codice: Clustering dei centroidi di rilevamento#
Nei flussi di lavoro di computer vision, gli sviluppatori utilizzano spesso la Piattaforma Ultralytics per addestrare rilevatori di oggetti e quindi post-elaborare i risultati. L'esempio seguente dimostra come utilizzare la libreria sklearn per raggruppare i centroidi degli oggetti rilevati. Questo aiuta a raggruppare rilevamenti spazialmente correlati, fondendo potenzialmente più bounding box per lo stesso oggetto o identificando gruppi di oggetti.
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]Link to this sectionIntegrazione con il deep learning#
Sebbene DBSCAN sia un algoritmo classico, si abbina efficacemente al moderno deep learning. Ad esempio, le caratteristiche ad alta dimensione estratte da una rete neurale convoluzionale (CNN) possono essere ridotte utilizzando tecniche di riduzione della dimensionalità come PCA o t-SNE prima di applicare DBSCAN. Questo approccio ibrido consente di raggruppare dati di immagini complessi basandosi sulla similarità semantica piuttosto che solo sulla posizione dei pixel. Ciò è particolarmente utile in scenari di apprendimento non supervisionato in cui i dati di addestramento etichettati sono scarsi, aiutando i ricercatori a organizzare in modo efficiente vasti archivi di immagini non etichettate.






