Ventajas y desventajas de los k-medios

El método k-means es útil y eficiente en muchos contextos de aprendizaje automático, pero tiene algunas debilidades claras.

Ventajas de k-means

Relativamente fácil de implementar.

Escalamiento a grandes conjuntos de datos.

Siempre converge.

Permite el inicio en tibio de las posiciones de los centroides.

Se adapta sin problemas a nuevos ejemplos.

Se pueden generalizar a clústeres de diferentes formas y tamaños, como los clústeres elípticos.

Generalización de k-means

Una implementación directa de k-means puede tener dificultades con grupos de diferentes densidades y tamaños. En el lado izquierdo de la Figura 1, se muestran los clústeres como esperaríamos ver, mientras que en el lado derecho se muestran los clústeres propuestos por k-means.

Dos gráficos en paralelo. En el primer caso, se muestra un conjunto de datos con clústeres evidentes. La segunda muestra una agrupación impar de ejemplos después de ejecutar k-means.
Figura 1: Ejemplo de k-means no generalizado.

Para obtener un mejor rendimiento en clústeres desequilibrados como los que se muestran en la Figura 1, puedes generalizar, es decir, adaptar, k-means. En la figura 2, se muestran tres modelos conjuntos de datos agrupados con dos generalizaciones diferentes. El primer conjunto de datos muestra k-means sin generalización, mientras que el segundo y el tercero permiten que los clústeres varían en ancho.

Tres gráficos que muestran k-means sin generalización, luego, k-means
       para anchos variables, se usa k-means para permitir diferentes anchos
       en todas las dimensiones.
Figura 2: Agrupamiento en clústeres de k-means con y sin generalización.

Este curso no aborda cómo generalizar k-means, pero aquellos interesados debería ver Agrupamiento en clústeres: mezcla gaussiana de k-means. personalizados por Carlos Guestrin de Carnegie Mellon University.

Desventajas de k-means

\(k\) se debe elegir de forma manual.

Los resultados dependen de los valores iniciales.

Si tu \(k\)es bajo, puedes mitigar esta dependencia ejecutando varias acciones de k-means. veces con diferentes valores iniciales y eligiendo el mejor resultado. Como \(k\) aumenta, necesitas la propagación de k-means para elegir centroides Para obtener un análisis completo de la propagación de k-means, consulta “A Comparative Estudio de métodos de inicialización eficientes para el agrupamiento en clústeres de k-means Algoritmo”, de M. Emre Celebi, Hassan A. Kingravi y Patricio A. Vela.

Dificultad para agrupar en clústeres datos de diferentes tamaños y de densidad sin generalización.

Dificultad para agrupar valores atípicos.

Los centroides pueden ser arrastrados por los valores atípicos, o los valores atípicos podrían obtener su propio clúster. en lugar de ignorarse. Considera quitar o recortar los valores atípicos antes el agrupamiento en clústeres.

Dificultad para escalar con cantidad de dimensiones.

A medida que aumenta la cantidad de dimensiones en los datos, una similitud basada en la distancia medida converge a un valor constante entre cualquier ejemplo dado. Reducir dimensionalidad, ya sea usando PCA en los datos de los atributos o mediante el agrupamiento en clústeres espectral para modificar el agrupamiento de codificador-decodificador.

Maldición de la dimensionalidad y el agrupamiento espectral

En estos tres diagramas, observa cómo, a medida que aumentan las dimensiones, la desviación estándar en la distancia entre ejemplos se reduce en relación con la distancia media ejemplos. Esta convergencia significa que k-medios resulta menos eficaz para distinguir entre de muestra a medida que aumenta la dimensionalidad de los datos. Esto se conoce como la maldición de la dimensionalidad.

Tres diagramas que muestran cómo la desviación estándar de la distancia entre ejemplos disminuye a medida que aumenta la cantidad de dimensiones
Figura 3: Una demostración de la maldición de la dimensionalidad. Cada gráfico muestra las distancias en pares entre 200 puntos aleatorios.

Puedes evitar esta disminución en el rendimiento con el agrupamiento en clústeres espectral, que le agrega al algoritmo pasos previos al agrupamiento en clústeres. Para realizar análisis espectrales agrupamiento en clústeres:

  1. Reduce la dimensionalidad de los datos de atributos con el uso de PCA.
  2. Proyectar todos los datos en el subespacio de menor dimensión.
  3. Agrupa los datos en este subespacio con el algoritmo que elijas.

Consulta Un instructivo sobre espectral Agrupamiento en clústeres de Ulrike von Luxburg para obtener más información sobre el espectral el agrupamiento en clústeres.