de mi “Calendario de Adviento” de aprendizaje automático. Me gustaría agradecerles por su apoyo.
He estado creando estos archivos de Google Sheet durante años. Fueron evolucionando poco a poco. Pero cuando llega el momento de publicarlos, siempre necesito horas para reorganizarlo todo, limpiar el diseño y hacerlos agradables de leer.
Hoy pasamos a DBSCAN.
DBSCAN no aprende un modelo paramétrico
Al igual que LOF, DBSCAN no es un modelo paramétrico. No hay fórmulas para almacenar, ni reglas, ni centroides, ni nada compacto para reutilizar más adelante.
Debemos conservar todo el conjunto de datos porque la estructura de densidad depende de todos los puntos.
Su nombre completo es Agrupación espacial de aplicaciones con ruido basada en densidad.
Pero cuidado: esta “densidad” no es una densidad gaussiana.
Es una noción de densidad basada en el recuento. Simplemente “cuántos vecinos viven cerca de mí”.
Por qué DBSCAN es especial
Como su nombre indica, DBSCAN hace dos cosas al mismo tiempo:
encuentra clusters marca anomalías (los puntos que no pertenecen a ningún cluster)
Es exactamente por eso que presento los algoritmos en este orden:
k-means y GMM son modelos de agrupación. Generan un objeto compacto: centroides para k-medias, medias y varianzas para GMM. Isolation Forest y LOF son modelos puros de detección de anomalías. Su único objetivo es encontrar puntos inusuales. DBSCAN se encuentra en el medio. Realiza tanto agrupamiento como detección de anomalías, basándose únicamente en la noción de densidad de vecindario.
Un pequeño conjunto de datos para mantener las cosas intuitivas
Nos quedamos con el mismo pequeño conjunto de datos que usamos para LOF: 1, 2, 3, 7, 8, 12
Si observa estos números, ya verá dos grupos compactos:
uno alrededor de 1, 2 o 3 años, otro alrededor de 7 a 8 años y 12 que viven solos.
DBSCAN captura exactamente esta intuición.
Resumen en 3 pasos
DBSCAN hace tres preguntas sencillas para cada punto:
¿Cuántos vecinos tienes dentro de un radio pequeño (eps)? ¿Tiene suficientes vecinos para convertirse en un punto central (minPts)? Una vez que conocemos los puntos Core, ¿a qué grupo conectado perteneces?
Aquí está el resumen del algoritmo DBSCAN en 3 pasos:
Comencemos paso a paso.
DBSCAN en 3 pasos
Ahora que entendemos la idea de densidad y vecindarios, DBSCAN resulta muy fácil de describir.
Todo lo que hace el algoritmo se resume en tres sencillos pasos.
Paso 1 – Cuente los vecinos
El objetivo es comprobar cuántos vecinos tiene cada punto.
Tomamos un radio pequeño llamado eps.
Para cada punto, miramos todos los demás puntos y marcamos aquellos cuya distancia es menor que eps.
Estos son los vecinos.
Esto nos da la primera idea de densidad:
un punto con muchos vecinos está en una región densa,
un punto con pocos vecinos vive en una región dispersa.
Para un ejemplo de juguete unidimensional como el nuestro, una elección común es:
pasos = 2
Dibujamos un pequeño intervalo de radio 2 alrededor de cada punto.
¿Por qué se llama eps?
El nombre eps proviene de la letra griega ε (épsilon), que se utiliza tradicionalmente en matemáticas para representar una pequeña cantidad o un pequeño radio alrededor de un punto.
Entonces, en DBSCAN, eps es literalmente “el radio de vecindario pequeño”.
Responde a la pregunta:
¿Hasta dónde miramos alrededor de cada punto?
Entonces, en Excel, el primer paso es calcular la matriz de distancias por pares y luego contar cuántos vecinos tiene cada punto dentro de eps.
Paso 2: puntos centrales y conectividad de densidad
Ahora que conocemos a los vecinos del Paso 1, aplicamos minPts para decidir qué puntos son Core.
minPts significa aquí el número mínimo de puntos.
Es el número más pequeño de vecinos que debe tener un punto (dentro del radio de eps) para ser considerado un punto central.
Un punto es Core si tiene al menos minPts vecinos dentro de eps.
De lo contrario, puede convertirse en Borde o Ruido.
Con eps = 2 y minPts = 2, tenemos 12 que no es Core.
Una vez que se conocen los puntos centrales, simplemente verificamos qué puntos son alcanzables en densidad desde ellos. Si se puede llegar a un punto moviéndose de un punto central a otro dentro de eps, pertenece al mismo grupo.
En Excel, podemos representar esto como una tabla de conectividad simple que muestra qué puntos están vinculados a través de vecinos centrales.
Esta conectividad es lo que utiliza DBSCAN para formar grupos en el Paso 3.
Paso 3: asignar etiquetas de grupo
El objetivo es convertir la conectividad en verdaderos clusters.
Una vez lista la matriz de conectividad, los clusters aparecen de forma natural.
DBSCAN simplemente agrupa todos los puntos conectados.
Para darle a cada grupo un nombre sencillo y reproducible, utilizamos una regla muy intuitiva:
La etiqueta del grupo es el punto más pequeño del grupo conectado.
Por ejemplo:
El grupo {1, 2, 3} se convierte en el grupo 1. El grupo {7, 8} se convierte en el grupo 7. Un punto como 12 sin vecinos centrales se convierte en ruido.
Esto es exactamente lo que mostraremos en Excel usando fórmulas.
Pensamientos finales
DBSCAN es perfecto para enseñar la idea de densidad local.
No hay probabilidad, ni fórmula gaussiana, ni paso de estimación.
Sólo distancias, vecinos y un radio pequeño.
Pero esta sencillez también la limita.
Debido a que DBSCAN utiliza un radio fijo para todos, no puede adaptarse cuando el conjunto de datos contiene grupos de diferentes escalas.
HDBSCAN mantiene la misma intuición, pero analiza todos los radios y mantiene lo que permanece estable.
Es mucho más robusto y mucho más cercano a cómo los humanos ven naturalmente los cúmulos.