stringtranslate.com

Algoritmo ÓPTICO

Ordenar puntos para identificar la estructura de agrupación ( OPTICS ) es un algoritmo para encontrar agrupaciones basadas en densidad [1] en datos espaciales. Fue presentado por Mihael Ankerst, Markus M. Breunig, Hans-Peter Kriegel y Jörg Sander. [2] Su idea básica es similar a DBSCAN , [3] pero aborda una de las principales debilidades de DBSCAN: el problema de detectar grupos significativos en datos de densidad variable. Para ello, los puntos de la base de datos se ordenan (linealmente) de modo que los puntos espacialmente más cercanos se conviertan en vecinos en el orden. Además, para cada punto se almacena una distancia especial que representa la densidad que se debe aceptar para un cluster para que ambos puntos pertenezcan al mismo cluster. Esto se representa como un dendograma .

Idea básica

Al igual que DBSCAN , OPTICS requiere dos parámetros: ε , que describe la distancia máxima (radio) a considerar, y MinPts , que describe el número de puntos necesarios para formar un grupo. Un punto p es un punto central si se encuentran al menos puntos MinPts dentro de su ε -vecindad (incluido el propio punto p ). A diferencia de DBSCAN , OPTICS también considera puntos que son parte de un grupo más denso, por lo que a cada punto se le asigna una distancia central que describe la distancia al punto más cercano de MinPts :

La distancia de accesibilidad de otro punto o desde un punto p es la distancia entre o y p , o la distancia central de p , lo que sea mayor:

Si p y o son vecinos más cercanos, debemos suponer que p y o pertenecen al mismo grupo.

Tanto la distancia central como la distancia de accesibilidad no están definidas si no hay un grupo suficientemente denso (wrt ε ) disponible. Dado un ε suficientemente grande , esto nunca sucede, pero luego cada consulta de ε -vecindario devuelve la base de datos completa, lo que resulta en tiempo de ejecución. Por lo tanto, se requiere el parámetro ε para cortar la densidad de grupos que ya no son interesantes y acelerar el algoritmo.

El parámetro ε , estrictamente hablando, no es necesario. Simplemente se puede establecer al valor máximo posible. Sin embargo, cuando un índice espacial está disponible, juega un papel práctico con respecto a la complejidad. OPTICS se abstrae de DBSCAN eliminando este parámetro, al menos hasta el punto de tener que dar solo el valor máximo.

Pseudocódigo

El enfoque básico de OPTICS es similar a DBSCAN , pero en lugar de mantener miembros del clúster conocidos, pero hasta ahora sin procesar, en un conjunto, se mantienen en una cola de prioridad (por ejemplo, usando un montón indexado ).

La función OPTICS(DB, ε, MinPts) es  para cada punto p de DB . p.distancia-alcancebilidad = INDEFINIDO para cada punto p sin procesar de DB hacer N = obtenerVecinos(p, ε) marcar p como procesado salida p a la lista ordenada si distancia central (p, ε, MinPts)! = INDEFINIDO entonces Semillas = cola de prioridad vacía actualizar(N, p, Semillas, ε, MinPts) para cada siguiente q en Seeds hazlo N' = obtenerVecinos(q, ε) marcar q como procesado salida q a la lista ordenada si distancia central (q, ε, MinPts)! = INDEFINIDO hacer actualizar(N', q, Semillas, ε, MinPts)

En update(), la cola de prioridad Seeds se actualiza con el vecindario de y , respectivamente:

actualización de función (N, p, Seeds, ε, MinPts) es coredist = distancia-núcleo(p, ε, MinPts) para cada o en N si o no se procesa entonces nuevo-alcance-dist = max(coredist, dist(p,o)) si o.reachability-distance == UNDEFINED entonces // o no está en Seeds o.distancia-alcance = nueva-distancia-alcance Seeds.insert(o, nuevo-alcance-dist) else // o en Seeds, verifique si hay mejoras si new-reach-dist < o.reachability-distance entonces o.distancia-alcance = nueva-distancia-alcance Seeds.move-up(o, nuevo-alcance-dist)

Por lo tanto, OPTICS genera los puntos en un orden particular, anotado con su distancia de alcance más pequeña (en el algoritmo original, la distancia central también se exporta, pero esto no es necesario para un procesamiento posterior).

Extrayendo los clusters

Utilizando un gráfico de accesibilidad (un tipo especial de dendrograma ), la estructura jerárquica de los grupos se puede obtener fácilmente. Es un gráfico 2D, con el orden de los puntos procesados ​​por OPTICS en el eje x y la distancia de alcanzabilidad en el eje y. Dado que los puntos que pertenecen a un grupo tienen una distancia de accesibilidad baja con respecto a su vecino más cercano, los grupos aparecen como valles en el gráfico de accesibilidad. Cuanto más profundo es el valle, más denso es el grupo.

La imagen de arriba ilustra este concepto. En su área superior izquierda, se muestra un conjunto de datos de ejemplo sintético. La parte superior derecha visualiza el árbol de expansión producido por OPTICS y la parte inferior muestra el gráfico de accesibilidad calculado por OPTICS. Los colores en este gráfico son etiquetas y el algoritmo no los calcula; pero es bien visible cómo los valles en el gráfico corresponden a los grupos en el conjunto de datos anterior. Los puntos amarillos en esta imagen se consideran ruido y no se encuentra ningún valle en su gráfico de accesibilidad. Por lo general, no se asignan a grupos, excepto al omnipresente grupo "todos los datos" en un resultado jerárquico.

La extracción de grupos de este gráfico se puede realizar manualmente seleccionando rangos en el eje x después de la inspección visual, seleccionando un umbral en el eje y (el resultado es similar al resultado de agrupamiento de DBSCAN con los mismos parámetros y minPts; aquí un un valor de 0,1 puede dar buenos resultados), o mediante diferentes algoritmos que intentan detectar los valles mediante inclinación, detección de rodillas o máximos locales. Un tramo de la parcela que comienza con un fuerte descenso y termina con un fuerte ascenso se considera un valle, y corresponde a un área contigua de alta densidad. Se debe tener especial cuidado en los últimos puntos de un valle para asignarlos al grupo interior o exterior; esto se puede lograr considerando el predecesor. [4] Las agrupaciones obtenidas de esta manera generalmente son jerárquicas y no se pueden lograr mediante una sola ejecución de DBSCAN.

Complejidad

Al igual que DBSCAN , OPTICS procesa cada punto una vez y realiza una consulta de vecindario durante este procesamiento. Dado un índice espacial que concede una consulta de vecindad en tiempo de ejecución, se obtiene un tiempo de ejecución general de . Sin embargo, el peor de los casos es , como ocurre con DBSCAN. Los autores del artículo original de OPTICS informan de un factor de desaceleración constante real de 1,6 en comparación con DBSCAN. Tenga en cuenta que el valor de podría influir en gran medida en el costo del algoritmo, ya que un valor demasiado grande podría elevar el costo de una consulta de vecindad a una complejidad lineal.

En particular, es posible elegir (una distancia mayor que la distancia máxima en el conjunto de datos), pero conduce a una complejidad cuadrática, ya que cada consulta de vecindad devuelve el conjunto de datos completo. Incluso cuando no hay ningún índice espacial disponible, esto supone un coste adicional en la gestión del montón. Por lo tanto, se debe elegir la adecuada para el conjunto de datos.

Extensiones

OPTICS-OF [5] es un algoritmo de detección de valores atípicos basado en OPTICS. El uso principal es la extracción de valores atípicos de una ejecución existente de OPTICS a bajo costo en comparación con el uso de un método de detección de valores atípicos diferente. La versión más conocida LOF se basa en los mismos conceptos.

DeLi-Clu, [6] Density-Link-Clustering combina ideas de agrupación de enlace único y OPTICS, eliminando el parámetro y ofreciendo mejoras de rendimiento sobre OPTICS.

HiSC [7] es un método de agrupación subespacial jerárquica (ejes paralelos) basado en OPTICS.

HiCO [8] es un algoritmo de agrupamiento de correlación jerárquica basado en OPTICS.

DiSH [9] es una mejora con respecto a HiSC que puede encontrar jerarquías más complejas.

FOPTICS [10] es una implementación más rápida que utiliza proyecciones aleatorias.

HDBSCAN* [11] se basa en un refinamiento de DBSCAN, excluyendo los puntos fronterizos de los grupos y, por lo tanto, siguiendo más estrictamente la definición básica de niveles de densidad de Hartigan. [12]

Disponibilidad

Las implementaciones Java de OPTICS, OPTICS-OF, DeLi-Clu, HiSC, HiCO y DiSH están disponibles en el marco de minería de datos ELKI (con aceleración de índice para varias funciones de distancia y con extracción automática de clústeres utilizando el método de extracción ξ). Otras implementaciones de Java incluyen la extensión Weka (sin soporte para la extracción de ξ cluster).

El paquete R "dbscan" incluye una implementación C++ de OPTICS (con extracción tradicional tipo dbscan y de clúster ξ) utilizando un árbol kd para aceleración de índice solo para distancia euclidiana.

Las implementaciones Python de OPTICS están disponibles en la biblioteca PyClustering y en scikit-learn . HDBSCAN* está disponible en la biblioteca hdbscan.

Referencias

  1. ^ Kriegel, Hans-Peter; Kröger, Peer; Sander, Jörg; Zimek, Arthur (mayo de 2011). "Agrupación basada en densidad". Revisiones interdisciplinarias de Wiley: minería de datos y descubrimiento de conocimientos . 1 (3): 231–240. doi :10.1002/widm.30. S2CID  36920706.
  2. ^ Mihaël Ankerst; Markus M. Breunig; Hans-Peter Kriegel ; Jörg Sander (1999). ÓPTICA: Ordenar puntos para identificar la estructura de agrupación . Conferencia internacional ACM SIGMOD sobre Gestión de datos. Prensa ACM . págs. 49–60. CiteSeerX 10.1.1.129.6542 . 
  3. ^ Martín Ester ; Hans-Peter Kriegel ; Jörg Sander; Xiaowei Xu (1996). Evangelos Simoudis; Jiawei Han; Usama M. Fayyad (eds.). "Un algoritmo basado en densidad para descubrir grupos en grandes bases de datos espaciales con ruido" . Actas de la Segunda Conferencia Internacional sobre Descubrimiento de Conocimiento y Minería de Datos (KDD-96). Prensa AAAI . págs. 226-231. CiteSeerX 10.1.1.71.1980 . ISBN  1-57735-004-9.
  4. ^ Schubert, Erich; Gertz, Michael (22 de agosto de 2018). Mejora de la estructura del clúster extraída de gráficos OPTICS (PDF) . Lernen, Wissen, Daten, Analysen (LWDA 2018). vol. CEUR-WS 2191. págs. 318–329 - vía CEUR-WS.
  5. ^ Markus M. Breunig; Hans-Peter Kriegel ; Raymond T. Ng; Jörg Sander (1999). "ÓPTICA DE: Identificación de valores atípicos locales". Principios de minería de datos y descubrimiento de conocimiento. Apuntes de conferencias sobre informática. vol. 1704. Springer-Verlag . págs. 262-270. doi :10.1007/b72280. ISBN 978-3-540-66490-1. S2CID  27352458.
  6. ^ Achtert, Elke; Böhm, Christian; Kröger, Peer (2006). "DeLi-Clu: impulsar la robustez, la integridad, la usabilidad y la eficiencia de la agrupación jerárquica mediante una clasificación de par más cercano". En Ng, Wee Keong; Kitsuregawa, Masaru; Li, Jianzhong; Chang, Kuiyu (eds.). Advances in Knowledge Discovery and Data Mining, Décima Conferencia Pacífico-Asia, PAKDD 2006, Singapur, 9 al 12 de abril de 2006, Actas . Apuntes de conferencias sobre informática. vol. 3918. Saltador. págs. 119-128. doi :10.1007/11731139_16.
  7. ^ Achtert, Elke; Böhm, Christian; Kriegel, Hans-Peter; Kröger, Peer; Müller-Gorman, Ina; Zimek, Arthur (2006). "Encontrar jerarquías de grupos subespaciales". En Fürnkranz, Johannes; Scheffer, Tobías; Spiliopoulou, Myra (eds.). Descubrimiento de conocimientos en bases de datos: PKDD 2006, Décima Conferencia europea sobre principios y práctica del descubrimiento de conocimientos en bases de datos, Berlín, Alemania, 18 al 22 de septiembre de 2006, Actas . Apuntes de conferencias sobre informática. vol. 4213. Saltador. págs. 446–453. doi : 10.1007/11871637_42 .
  8. ^ Achtert, E.; Böhm, C.; Kröger, P.; Zimek, A. (2006). "Jerarquías mineras de clústeres de correlación". XVIII Congreso Internacional sobre Gestión de Bases de Datos Científicas y Estadísticas (SSDBM'06) . págs. 119-128. CiteSeerX 10.1.1.707.7872 . doi :10.1109/SSDBM.2006.35. ISBN  978-0-7695-2590-7. S2CID  2679909.
  9. ^ Achtert, Elke; Böhm, Christian; Kriegel, Hans-Peter; Kröger, Peer; Müller-Gorman, Ina; Zimek, Arthur (2007). "Detección y visualización de jerarquías de clústeres subespaciales". En Ramamohanarao, Kotagiri; Krishna, P. Radha; Mohania, Mukesh K.; Nantajeewarawat, Ekawit (eds.). Avances en bases de datos: conceptos, sistemas y aplicaciones, 12ª Conferencia internacional sobre sistemas de bases de datos para aplicaciones avanzadas, DASFAA 2007, Bangkok, Tailandia, 9 al 12 de abril de 2007, Actas . Apuntes de conferencias sobre informática. vol. 4443. Saltador. págs. 152-163. doi :10.1007/978-3-540-71703-4_15.
  10. ^ Schneider, Johannes; Vlachos, Michail (2013). "Agrupación rápida sin parámetros basada en densidad mediante proyecciones aleatorias". 22ª Conferencia Internacional ACM sobre Gestión de la Información y el Conocimiento (CIKM) .
  11. ^ Campello, Ricardo JGB; Moulavi, Davoud; Zimek, Arturo; Sander, Jörg (22 de julio de 2015). "Estimaciones de densidad jerárquica para agrupación, visualización y detección de valores atípicos de datos". Transacciones ACM sobre descubrimiento de conocimiento a partir de datos . 10 (1): 1–51. doi :10.1145/2733381. S2CID  2887636.
  12. ^ JA Hartigan (1975). Algoritmos de agrupamiento . John Wiley e hijos.