algorithm cluster-analysis k-means linear-regression

algorithm - Uso de un método más suave con L para determinar el número de agrupaciones de K-Means



cluster-analysis linear-regression (1)

¿Alguien ha intentado aplicar un método más suave a la métrica de evaluación antes de aplicar el método L para determinar el número de agrupaciones de k-means en un conjunto de datos? Si es así, ¿mejoró los resultados? ¿O permitir un número menor de pruebas de k-medias y por lo tanto un aumento mucho mayor en la velocidad? ¿Qué algoritmo / método de suavizado usaste?

El "Método L" se detalla en: Determinación del número de agrupaciones / segmentos en agrupación jerárquica / algoritmos de segmentación , Salvador y Chan

Esto calcula la métrica de evaluación para un rango de diferentes conteos de grupos de prueba. Luego, para encontrar la rodilla (que se produce para un número óptimo de agrupaciones), se ajustan dos líneas mediante regresión lineal. Se aplica un proceso iterativo simple para mejorar el ajuste de la rodilla: esto utiliza los cálculos de métricas de evaluación existentes y no requiere ninguna repetición de las k-medias.

Para la métrica de evaluación, estoy usando un recíproco de una versión simplificada del Índice de Dunns. Simplificado para la velocidad (básicamente, mi diámetro y los cálculos inter-cluster están simplificados). El recíproco es para que el índice funcione en la dirección correcta (es decir, más bajo es generalmente mejor).

K-means es un algoritmo estocástico, por lo que normalmente se ejecuta varias veces y el mejor ajuste elegido. Esto funciona bastante bien, pero cuando lo hace para los grupos 1..N la hora se acumula rápidamente. Por lo tanto, es de mi interés mantener el número de carreras bajo control. El tiempo total de procesamiento puede determinar si mi implementación es práctica o no, puedo deshacerme de esta funcionalidad si no puedo acelerarla.


He hecho una pregunta similar en el pasado aquí en SO. Mi pregunta fue acerca de encontrar una manera consistente de encontrar la rodilla en la forma de L que describiste. Las curvas en cuestión representaban la compensación entre complejidad y una medida de ajuste del modelo.

La mejor solución fue encontrar el punto con la distancia máxima d según la figura que se muestra:

Nota: Todavía no he leído el documento al que has vinculado.