DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
Explora DBSCAN para la agrupación basada en densidad y la detección de anomalías. Aprende cómo identifica formas arbitrarias y ruido en los conjuntos de datos junto con Ultralytics YOLO26.
DBSCAN (Agrupación espacial basada en densidad de aplicaciones con ruido) es un potente algoritmo de aprendizaje no supervisado que se utiliza para identificar grupos diferenciados dentro de los datos según su densidad. A diferencia de los métodos de agrupación tradicionales, que asumen que los grupos son esféricos o requieren un número de grupos predeterminado, DBSCAN localiza regiones de alta densidad separadas por áreas de baja densidad. Esta capacidad le permite descubrir grupos de formas y tamaños arbitrarios, lo que lo hace especialmente eficaz para analizar conjuntos de datos del mundo real cuya estructura subyacente se desconoce. Una ventaja clave de este algoritmo es su detección de anomalías integrada, ya que clasifica automáticamente como ruido los puntos de las regiones de baja densidad en lugar de forzarlos a pertenecer a un grupo.
Conceptos principales y parámetros#
El algoritmo funciona definiendo un vecindario alrededor de cada punto de datos y contando cuántos puntos adicionales se encuentran dentro de esa zona. Dos hiperparámetros principales controlan este proceso, por lo que es necesario realizar un ajuste de hiperparámetros cuidadoso para adaptarlo a las características específicas de los datos:
- Epsilon (eps): Este parámetro especifica el radio máximo alrededor de un punto en el que se buscan vecinos. Define la distancia de «alcanzabilidad».
- Puntos mínimos (minPts): Establece el número mínimo de puntos de datos necesarios dentro del radio Epsilon para formar una región densa o «núcleo».
Según estos parámetros, DBSCAN categoriza cada punto del conjunto de datos en uno de tres tipos:
-
Puntos núcleo: Puntos que tienen al menos
minPtsvecinos dentro del radioeps. Estos puntos forman el interior de un grupo. -
Puntos frontera: Puntos que se encuentran dentro del radio
epsde un punto núcleo, pero que tienen menos deminPtsvecinos. Estos forman los bordes de un grupo. -
Puntos de ruido: Puntos que no son ni puntos núcleo ni puntos frontera. Se tratan como valores atípicos, lo que resulta útil para tareas como la detección de valores atípicos.
DBSCAN frente a la agrupación K-Means#
Aunque ambos son fundamentales para el aprendizaje automático (ML), DBSCAN ofrece ventajas diferenciadas frente a la agrupación K-Means en situaciones concretas. K-Means se basa en centroides y en la distancia euclídea, y suele asumir que los grupos son convexos o esféricos. Esto puede provocar un rendimiento deficiente con datos alargados o con forma de media luna. En cambio, el enfoque basado en la densidad de DBSCAN le permite seguir los contornos naturales de la distribución de los datos.
Otra diferencia importante está en la inicialización. K-Means requiere que especifiques de antemano el número de grupos (k), lo que puede resultar complicado sin conocimientos previos. DBSCAN infiere de forma natural el número de grupos a partir de la densidad de los datos. Además, K-Means es sensible a los valores atípicos porque fuerza la inclusión de cada punto en un grupo, lo que puede desviar los centros de los grupos. La capacidad de DBSCAN para etiquetar puntos como ruido evita que las anomalías de los datos contaminen los grupos válidos, garantizando resultados más limpios para tareas posteriores como el modelado predictivo.
Aplicaciones en el mundo real#
DBSCAN se utiliza ampliamente en sectores que requieren análisis espacial y una gestión sólida del ruido.
- Análisis geoespacial: En planificación urbana y logística, los analistas utilizan DBSCAN para agrupar coordenadas GPS de flotas de reparto o servicios de transporte compartido. Al identificar zonas de alta densidad de entregas, las empresas pueden optimizar la planificación de rutas y la ubicación de los almacenes. Por ejemplo, la IA en logística suele implicar la agrupación de paradas de reparto para mejorar la eficiencia.
- Detección de anomalías basada en visión: En la fabricación, los sistemas de inspección visual basados en modelos como YOLO26 pueden detectar defectos superficiales. DBSCAN puede agrupar las coordenadas de estos defectos en un mapa del producto. Las detecciones aisladas pueden descartarse como ruido del sensor, mientras que los grupos densos indican un defecto de fabricación sistemático y activan una alerta para la inspección de calidad.
Ejemplo de código: agrupación de centroides de detecciones#
En los flujos de trabajo de visión por computador, los desarrolladores suelen utilizar la Ultralytics Platform para entrenar detectores de objetos y, posteriormente, procesar los resultados. El siguiente ejemplo muestra cómo utilizar la biblioteca sklearn para agrupar los centroides de los objetos detectados. Esto ayuda a agrupar detecciones relacionadas espacialmente, lo que puede permitir fusionar varios cuadros delimitadores del mismo objeto o identificar grupos de objetos.
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]Integración con el aprendizaje profundo#
Aunque DBSCAN es un algoritmo clásico, combina eficazmente con el aprendizaje profundo moderno. Por ejemplo, las características de alta dimensionalidad extraídas de una red neuronal convolucional (CNN) pueden reducirse mediante técnicas de reducción de dimensionalidad como PCA o t-SNE antes de aplicar DBSCAN. Este enfoque híbrido permite agrupar datos de imágenes complejos según la similitud semántica, en lugar de hacerlo únicamente según la ubicación de los píxeles. Resulta especialmente útil en escenarios de aprendizaje no supervisado en los que escasean los datos de entrenamiento etiquetados, ya que ayuda a los investigadores a organizar de forma eficiente grandes archivos de imágenes sin etiquetar.









