Complejidad computacional de algoritmos de agrupamiento

8

Mi deseo es describir la complejidad temporal de varios enfoques de agrupación. Por ejemplo, supongamos que tenemos puntos de datos en m espacio dimensional.nm

Supongamos además que la matriz de diferencia de pares Δ de n×n dimensiones ya está calculada y que ya hemos gastado O(mn2) pasos. ¿Cuál es entonces la complejidad del tiempo solo de

  • agrupamiento jerárquico (HC) usando el enlace de Ward
  • HC utilizando enlace completo
  • HC utilizando enlace promedio
  • HC utilizando enlace único
  • kenfoque k- medoide
  • kenfoque k- significa

¿Hay algún beneficio si la matriz de disimilitud Δ no está ya calculada? Según tengo entendido, es necesario para el enfoque HC y k medoideo, pero no para k - ¿significa?

¡Gracias por tu ayuda!

Lan
fuente
Esta es una pregunta de CS, no una pregunta sobre análisis estadístico. Sería perfectamente adecuado para el sitio SE en algoritmos actualmente en la etapa de propuesta en area51.stackexchange.com/proposals/5120/… .
whuber
También puede transformar la matriz de distancia en un gráfico ponderado de borde y aplicar métodos de agrupación de gráficos (por ejemplo, el algoritmo de agrupación de Markov de Clustering de van Dongen o mi algoritmo de agrupación de búsqueda de vecindad restringida), pero esto es más una pregunta OR que una pregunta de algoritmos sencilla (no para mencione que los algoritmos de agrupamiento de gráficos generalmente no son adecuados para gráficos densos, que de alguna manera frustran el propósito de convertir la matriz de distancia en un gráfico)
Andrew D. King

Respuestas:

7

La agrupación de enlaces individuales es casi lo mismo que los árboles de expansión mínima en gráficos completos, tiempo O (n ^ 2) fácil. Para el tiempo O (n ^ 2) para otros métodos de agrupamiento aglomerativo (incluido estoy bastante seguro del enlace promedio y completo) vea mi artículo "Agrupamiento jerárquico rápido y otras aplicaciones de pares dinámicos más cercanos", SODA '98 y JEA '00.

David Eppstein
fuente
6

Tienes que tener cuidado con algunos de los métodos. Específicamente, k-means y k-medoids son esquemas iterativos que ejecuta "hasta que haya terminado". Por lo tanto, no tiene sentido hablar sobre el tiempo de ejecución general de estos esquemas, pero es significativo hablar sobre el tiempo de ejecución de una sola iteración. Para significa, es fácil: cada iteración toma tiempo para identificar los centros más cercanos y hacer el nuevo cálculo del centro. Para medoides, el cálculo del nuevo centro puede llevar más tiempo: eso depende del procedimiento que utilice, y si es pequeño, el cálculo de los nuevos centros puede dominar los asintóticos.O ( k n ) k kkO(kn)kk

Actualización : como JeffE señala a continuación en los comentarios, hay ciertas variantes de los medios que sí han garantizado la convergencia en el tiempo polinómico, al tiempo que ofrecen respuestas de calidad. Sin embargo , no hay nada que sepa de medoids.kkk

Suresh Venkat
fuente
3
¿Por qué "no tiene sentido"? Hay varios documentos recientes sobre el número de iteraciones hasta que k-means converge (lo que significa que una iteración deja el agrupamiento sin cambios), o hasta que alcanza una relación de aproximación deseada.
Jeffε
pero asumen alguna propiedad de los datos o alguna variante específica del algoritmo (como el método k-means ++ o la variante suavizada). La pregunta que leí parecía referirse más a variantes genéricas. Sin embargo, su punto está bien tomado.
Suresh Venkat