¿Por qué usamos k-means en lugar de otros algoritmos?


14

Investigué sobre k-means y esto es lo que obtuve: k-means es uno de los algoritmos más simples que utiliza un método de aprendizaje no supervisado para resolver problemas de agrupamiento conocidos. Funciona muy bien con grandes conjuntos de datos.

Sin embargo, también hay inconvenientes de K-Means que son:

  • Fuerte sensibilidad a los valores atípicos y al ruido.
  • No funciona bien con forma de conglomerado no circular: el número de conglomerado y el valor inicial inicial deben especificarse de antemano
  • Baja capacidad para pasar el óptimo local.

¿Hay algo bueno sobre k-means, porque parece que los inconvenientes están más allá de lo bueno de k-means.

Por favor enséñame.


3
No existe un buen método o un buen algoritmo sin el contexto de un problema en el que se utiliza. Por lo tanto, utilizamos k-means porque hay problemas para los cuales k-means es una solución óptima (;

Respuestas:


8

Otros algoritmos de agrupamiento con mejores características tienden a ser más caros. En este caso, k-means se convierte en una gran solución para la agrupación previa, reduciendo el espacio en subespacios más pequeños disjuntos donde se pueden aplicar otros algoritmos de agrupación.


¿Más caro que el costo del programa? o
Cráneo de oro con patrón

55
Más costoso como en lento y de memoria intensiva.
Martin O'Leary

Oh ya veo. ¿Hay otros beneficios además de rápido, robusto y más fácil de entender? Y de todos modos, gracias por las respuestas @ MartinO'Leary y @ zeferino
Gold Skull with Pattern

6

K-means es el más simple. Implementar y ejecutar. Todo lo que necesita hacer es elegir "k" y ejecutarlo varias veces.

La mayoría de los algoritmos más inteligentes (en particular los buenos) son mucho más difíciles de implementar de manera eficiente (verá factores de 100x en las diferencias de tiempo de ejecución) y tienen muchos más parámetros para establecer.

Además, la mayoría de las personas no necesitan grupos de calidad . En realidad están contentos con cualquier cosa que trabaje remotamente para ellos. Además, en realidad no saben qué hacer cuando tenían grupos más complejos. K-means, que modela clústeres utilizando el modelo más simple, un centroide, es exactamente lo que necesitan: reducción masiva de datos a centroides .


0

K-means es como el algoritmo Exchange Sort. Fácil de entender, ayuda a uno a entrar en el tema, pero nunca debe usarse para algo real, nunca. En el caso de Exchange Sort, incluso Bubble Sort es mejor porque puede detenerse antes si la matriz está parcialmente ordenada. En el caso de K-means, el algoritmo EM es el mismo algoritmo pero asume distribuciones gaussianas para clusters en lugar de la distribución uniforme de K-means. K-means es un caso límite de EM cuando todos los grupos tienen matrices de covarianza diagonal. La estructura gaussiana significa que los clústeres se ajustan a los datos de una manera muy agradable. Esto evita las serias objeciones que plantea correctamente en la pregunta. Y EM no es mucho más caro que K-means, realmente. (Puedo implementar ambos en una hoja de cálculo de Excel). Pero para aplicaciones de agrupación serias,

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.