Algoritmo de agrupamiento DBSCAN
DBSCAN (agrupación espacial basada en densidad de aplicaciones con ruido, un método de agrupación basada en densidad con ruido) es un algoritmo de agrupación de densidad muy típico. Generalmente, solo se aplica a K-Means y BIRCH. Al agrupar conjuntos de muestras convexas, DBSCAN se puede aplicar tanto a conjuntos de muestras convexas como a conjuntos de muestras no convexas. Las ventajas significativas del algoritmo DBSCAN son su rápida velocidad de agrupación y su capacidad para manejar eficazmente puntos de ruido y descubrir agrupaciones espaciales de formas arbitrarias.
Este algoritmo utiliza el concepto de agrupación basada en densidad, que requiere que el número de objetos (puntos u otros objetos espaciales) contenidos en una determinada área del espacio de agrupación no sea inferior a un umbral determinado. Filtre áreas de baja densidad y encuentre puntos de muestra de densidad densa. Las muestras de la misma categoría están estrechamente relacionadas, es decir, debe haber muestras de la misma categoría no muy lejos de cualquier muestra de la categoría.
Definición de densidad de DBSCAN: DBSCAN se basa en un conjunto de vecindades para describir la cercanía del conjunto de muestras. El parámetro (?, MinPts)? . Entre ellos, ? describe el umbral de distancia de vecindad de una determinada muestra y MinPts? describe el umbral del número de muestras en la vecindad donde la distancia de una determinada muestra es ?.
Es fácil entender la definición anterior a partir de la figura anterior. En la figura, MinPts = 5, los puntos rojos son todos objetos centrales, porque su vecindario? tiene al menos 5 muestras. Las muestras negras son objetos secundarios. Todas las muestras con densidad directa del objeto central están dentro de la hiperesfera centrada en el objeto central rojo. Si no están dentro de la hiperesfera, no pueden tener densidad directa. Los objetos centrales conectados por flechas verdes en la figura forman una secuencia de muestra con una densidad alcanzable. Todas las muestras en la vecindad ? de estas secuencias de muestras alcanzables por densidad están conectadas entre sí por densidad.
El conjunto de muestras conectadas de densidad máxima derivado de la relación de accesibilidad de densidad es una categoría, o un grupo, de nuestro agrupamiento final. Puede haber uno o más objetos principales en este clúster DBSCAN. Si solo hay un objeto principal, entonces todas las demás muestras de objetos no principales en el clúster están en la vecindad ? de este objeto principal; si hay varios objetos principales, entonces debe haber vecindades ? de cualquier objeto principal en el; otro objeto principal; de lo contrario, los dos objetos principales no pueden ser alcanzables de manera densa. El conjunto de todas las muestras en la vecindad ? de estos objetos centrales forma un grupo DBSCAN.
1. ¿El proceso de descubrimiento de clústeres por DBSCAN?
Inicialmente, todos los objetos en el conjunto de datos dado D se marcan como "no visitados" y DBSCAN selecciona aleatoriamente un objeto p no visitado. Marque p como "visitado" y verifique si el campo ? de p contiene al menos objetos MinPts. En caso contrario, p se marca como punto de ruido. De lo contrario, cree un nuevo grupo C para p y coloque todos los objetos en el dominio ?- de p en el conjunto candidato N. DBSCAN agrega iterativamente objetos en N que no pertenecen a otros grupos a C. Durante este proceso, correspondiente al objeto P'? marcado como "no visitado" en N, DBSCAN lo marca como "visitado" y verifica su campo?- Si el campo?- de P' contiene al menos objetos MinPts, entonces P'. ?- Los objetos en el campo se agregan a N. DBSCAN continúa agregando objetos a C hasta que C no se puede extender, es decir, hasta que N esté vacío. En este punto, se genera y genera el grupo C.
Para encontrar el siguiente grupo, DBSCAN selecciona aleatoriamente un objeto no visitado entre los objetos restantes. El proceso de agrupación continúa hasta que se hayan visitado todos los objetos.
Se deben considerar tres cuestiones:
La primera son algunos puntos de muestra anormales o una pequeña cantidad de puntos de muestra que están fuera del grupo. Estos puntos no están alrededor de ningún objeto central. En DBSCAN, generalmente etiquetamos estos puntos de muestra como puntos de ruido. El algoritmo DBSCAN detecta fácilmente valores atípicos.
El segundo es el problema de la medición de la distancia, es decir, cómo calcular la distancia entre una determinada muestra y la muestra del objeto central.
En DBSCAN, generalmente se usa la idea del vecino más cercano y se usa una determinada métrica de distancia para medir la distancia de muestra, como la distancia euclidiana. Esto es exactamente lo mismo que la idea del vecino más cercano del algoritmo de clasificación KNN. Correspondiente a una pequeña cantidad de muestras, encontrar el vecino más cercano puede calcular directamente la distancia de todas las muestras. Si el tamaño de la muestra es grande, generalmente se usa el árbol KD o el árbol de bolas para buscar rápidamente el vecino más cercano.
El tercer problema es que la distancia entre algunas muestras y los dos objetos centrales puede ser menor que ?, pero los dos objetos centrales no están conectados directamente por densidad y no pertenecen al mismo grupo. definimos ¿Cuál es la categoría de esta muestra? En términos generales, DBSCAN adopta un enfoque por orden de llegada en este momento, y el grupo de categorías que se agrupa primero marcará la muestra como su categoría. En otras palabras, el algoritmo BDSCAN no es un algoritmo completamente estable.
2. Proceso del algoritmo DBSCAN
Ventajas:
En comparación con el algoritmo K-Means tradicional, la mayor diferencia de DBSCAN es que no necesita ingresar el número de categorías k, por supuesto, su mayor ventaja es que puede descubrir grupos de cualquier forma, a diferencia de K-Means, que generalmente solo se usa para agrupaciones de conjuntos de muestras convexas. Al mismo tiempo, también puede encontrar valores atípicos durante la agrupación y es insensible a los valores atípicos en el conjunto de datos. En términos generales, si el conjunto de datos es denso y no es convexo, entonces usar DBSCAN funcionará mucho mejor que la agrupación en clústeres de K-Means. Si el conjunto de datos no es denso, no se recomienda DBSCAN para agrupación.
Desventajas:
1. Si la densidad del conjunto de muestras es desigual y el espaciado de los grupos es muy diferente, la calidad de la agrupación será deficiente. En este caso, la agrupación DBSCAN generalmente es deficiente. no adecuado.
2. El ajuste de parámetros es un poco más complicado que los algoritmos de agrupación tradicionales como K-Means. Principalmente necesita ajustar conjuntamente el umbral de distancia y el umbral del número de muestra de vecindad. Diferentes combinaciones de parámetros tienen diferentes efectos en. el resultado final tiene un mayor impacto en el efecto de agrupamiento. Generalmente, la determinación de estos dos parámetros se basa en valores empíricos. Si cree que los resultados de la agrupación de valores empíricos no son satisfactorios, puede ajustar adecuadamente los valores de? y MinPts, y seleccionar los valores de parámetros más apropiados después de múltiples cálculos y comparaciones iterativos. Si MinPts permanece sin cambios y el valor de ? es demasiado grande, la mayoría de los puntos se reunirán en el mismo grupo. Si ? es demasiado pequeño, se dividirá un grupo. , se encontrará una gran cantidad de puntos centrales.
3. No es adecuado para datos de alta dimensión, puede realizar la operación de reducción de dimensionalidad primero.
4. La eficiencia en Sklearn es muy lenta, puede implementar la estrategia de reducción de datos primero
URL de demostración de visualización
Artículo de referencia
Liu Jianping