Ventajas y desventajas de k-means

Ventajas de k-means

Relativamente fácil de implementar.

Escala a grandes conjuntos de datos.

Garantiza la convergencia.

Puede iniciar en caliente las posiciones de los centroides.

Se adapta con facilidad a los ejemplos nuevos.

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

Generalización de k-means

¿Qué sucede cuando los clústeres tienen diferentes densidades y tamaños? Consulta la Figura 1. Compara los clústeres intuitivos del lado izquierdo con los clústeres que los k-means encuentran en el lado derecho. La comparación muestra cómo los k-medios pueden toparse con ciertos conjuntos de datos.

Dos gráficos uno al lado del otro. El primero muestra un conjunto de datos con clústeres bastante obvios. La segunda muestra un grupo impar de ejemplos después de ejecutar k-means.
Figura 1: Ejemplo de k-means no generalizado.

Para agrupar clústeres desequilibrados de forma natural, como los que se muestran en la Figura 1, puedes adaptar (generalizar) los k-means. En la Figura 2, las líneas muestran los límites del clúster después de generalizar k-means de la siguiente manera:

  • Trazado izquierdo: Sin generalización, lo que genera un límite de clúster no intuitivo.
  • Representación central: Permite diferentes anchos de clúster, lo que da como resultado clústeres más intuitivos de diferentes tamaños.
  • Representación derecha: Además de diferentes anchos de clúster, permite diferentes anchos por dimensión, lo que da como resultado clústeres elípticos en lugar de esféricos, lo que mejora el resultado.
Dos gráficos uno al lado del otro. El primero es un ejemplo de clúster esférico y el segundo es un ejemplo de clúster no esférico.
Figura 2: Un ejemplo de clúster esférico y uno de clúster no esférico.

Si bien este curso no analiza cómo generalizar k-means, recuerda que la facilidad de modificar k-means es otra razón por la que es potente. Para obtener información sobre la generalización de k-means, consulta Clustering – K-means Gaussian models (Modelos de mezcla gaussiana de agrupamiento en clústeres) de Carlos Guestrin de Carnegie Mellon University.

Desventajas de k-means

Elige \(k\) manualmente.

Usa el gráfico de "pérdida frente a clústeres" para encontrar la mejor (k), como se explica en Interpretar resultados.

Depende de los valores iniciales.

Para un \(k\)bajo, puedes mitigar esta dependencia si ejecutas k-means varias veces con diferentes valores iniciales y eliges el mejor resultado. A medida que aumenta \(k\), necesitas versiones avanzadas de k-means para elegir mejores valores de los centroides iniciales (llamados sentidos de k-means). Para obtener un análisis completo de la propagación de k-means, consulta A Comparative Study of Efficient Initialization Methods for the K-Means Clustering Algorithm de M. Emre Celebi, Hassan A. Kingravi, Patricio A. Vela.

Agrupamiento de datos de diferentes tamaños y densidades.

k-means tiene problemas para agrupar datos, donde los clústeres tienen diferentes tamaños y densidades. Para agrupar esos datos, debes generalizar los k-means como se describe en la sección Ventajas.

Valores atípicos del agrupamiento en clústeres.

Los centroides se pueden arrastrar por valores atípicos, o bien los valores atípicos pueden obtener su propio clúster en lugar de ignorarlos. Considera quitar o recortar valores atípicos antes del agrupamiento en clústeres.

Escalamiento con cantidad de dimensiones

A medida que aumenta la cantidad de dimensiones, una similitud basada en la distancia mide una convergencia a un valor constante entre cualquier ejemplo dado. Reduce la dimensionalidad con el PCA en los datos de atributos o con el “agrupamiento en clústeres espectral” para modificar el algoritmo de agrupamiento como se explica a continuación.

Maldición de la dimensionalidad y el agrupamiento en clústeres espectral

Estos gráficos muestran cómo la relación entre la desviación estándar y la media de distancia entre los ejemplos disminuye a medida que aumenta la cantidad de dimensiones. Esta convergencia significa que k-means se vuelve menos eficaz para distinguir entre ejemplos. Esta consecuencia negativa de los datos de dimensiones altas se denomina maldición de la dimensionalidad.

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

El agrupamiento en clústeres espectral evita la maldición de la dimensionalidad mediante el agregado de un paso de agrupamiento en clústeres previo a tu algoritmo:

  1. Reduce el tamaño de los datos de atributos con PCA.
  2. Proyectar todos los datos en el subespacio de dimensiones inferiores.
  3. Agrupa los datos en este subespacio con el algoritmo que hayas elegido.

Por lo tanto, el agrupamiento en clústeres espectral no es un algoritmo de agrupamiento en clústeres independiente, sino un paso de agrupamiento previo que puedes usar con cualquier algoritmo de agrupamiento en clústeres. Los detalles del agrupamiento en clústeres espectral son complicados. Consulta A Tutorial on Spectral Clustering, de Ulrike von Luxburg.