Algoritmo K-Means es uno de los métodos de agrupamiento o clustering.
Más utilizados en aprendizaje no supervisado.
Su objetivo es organizar un conjunto de datos.
En un número predefinido de K grupos o clústeres
Funcionamiento del Algoritmo K-Means
K-Means es un algoritmo iterativo que sigue una serie de pasos.
Para asignar datos a K grupos.
El proceso de agrupamiento se basa en calcular la distancia entre puntos
Minimizar la variación dentro de cada grupo.
A continuación se explican los pasos del algoritmo.
Especificar el número de clústeres (K)
El usuario define cuántos grupos quiere crear.
Este número puede basarse en el conocimiento previo.
En métodos como el método del codo.
Inicializar los centroides
Seleccione K puntos iniciales que representarán los centros (o centroides) de los clústeres.
Estos puntos pueden ser seleccionados al azar.
Mediante estrategias como el método K-Means++.
Asignar puntos a los centroides
Para cada punto en el conjunto de datos.
Calcule su distancia al centroide de cada grupo y asignelo al clúster más cercano.
La distancia suele calcularse con la distancia euclidiana.
Actualizar los centroides
Después de asignar todos los puntos.
Calcular un nuevo centroide para cada grupo.
Tomando la media de todas las posiciones de los puntos asignados al grupo.
El nuevo centroide representa el centro del clúster actualizado.
Repetir el proceso
Volver a asignar puntos y actualizar los centroides.
Hasta que la asignación de los puntos no cambie.
Se alcance un número máximo de iteraciones.
Esto indica que el algoritmo ha convergedo.
El resultado es una agrupación de los datos en K clústeres.
Donde cada clúster tiene un centroide que representa el promedio.
De los puntos dentro de ese grupo.
Ejemplo ilustrativo de K-Means
Consideramos un conjunto de datos con coordenadas bidimensionales (x, y).
Representa la ubicación de varios puntos en un espacio.
Si deseamos agrupar estos puntos en 3 clústeres.
El algoritmo K-Means podría proceder de la siguiente forma.
Primero, seleccionamos 3 centroides iniciales al azar.
Calculamos las distancias entre cada punto y los centroides.
Los asignamos al centroide más cercano.
Actualizamos las posiciones de los centroides.
Calculando el promedio de las posiciones de los puntos en cada cluster.
Repetimos hasta que la asignación de puntos no cambie.
El resultado final sería una agrupación de los puntos en tres clústeres.
Selección del Número de Clústeres (K)
Elegir el número adecuado de clústeres (K) es crucial para obtener un buen resultado.
Algunos métodos para elegir K hijo.
Método del codo
Calcula la suma de las distancias cuadradas dentro de cada clúster (inercia).
Al graficar esta suma contra el número de clústeres.
Se busca un «codo» en la curva donde añadir más clústeres.
Empieza a producir mejoras insignificantes.
Coeficiente de silueta
Este método mide la cohesión y la separación de los puntos en cada grupo.
Un valor de silueta más alto indica que los puntos están bien agrupados.
Aplicaciones de K-Means
K-Means tiene aplicaciones en diferentes áreas.
Segmentación de clientes
Agrupa clientes con características similares.
Para identificar diferentes perfiles de mercado.
Compresión de imágenes
Agrupa colores similares y los representan con un único color promedio.
Reduciendo el número de colores en una imagen.
Análisis de patrones en datos de sensores
En IoT y dispositivos médicos.
Agrupa patrones de comportamiento.
Facilita la detección de anomalías.
Agrupamiento de documentos
En procesamiento de texto organiza similares en categorías.
Para análisis o recomendaciones.
Ventajas y Limitaciones de K-Means
Ventajas
Simplicidad y eficiencia
Es fácil de entender e implementar y funciona bien con conjuntos de datos grandes.
Rapidez en la convergencia
Tiende a converger rápidamente, ya que es un método iterativo.
Limitaciones
Necesidad de especificar K
Requiere conocer de antemano el número de clústeres.
Puede ser problemático en algunos casos.
Sensibilidad a la inicialización
Dependiendo de los centroides iniciales puede llegar a soluciones subóptimas.
aunque técnicas como K-Means++ pueden mitigar esto.
Forma de los clústeres
Suponga que los clústeres tienen una forma esférica y tamaños similares.
No funciona bien cuando los grupos tienen formas complejas o distribuciones desiguales.
Sensibilidad a los valores atípicos
Los valores extremos pueden afectar significativamente la ubicación de los centroides.
Variantes de K-Means
Existen varias variantes y extensiones de K-Means.
Diseñadas para superar sus limitaciones.
K-Means++
Mejora la selección de los centroides iniciales.
Para aumentar la probabilidad de converger a una solución óptima.
Mini-Batch K-Means
Usa una muestra de datos en cada iteración en lugar de todo el conjunto.
Reduce el tiempo de cómputo en grandes volúmenes de datos.
K-Medoids
Usa un punto real del conjunto de datos como centroide.
En lugar del promedio lo que puede reducir la sensibilidad a valores atípicos.
El algoritmo K-Means es una herramienta poderosa y flexible.
Para el agrupamiento en el aprendizaje no supervisado.
Permitiendo identificar patrones y segmentos en datos sin etiquetas.
Su simplicidad y efectividad lo convierten en uno de los métodos de agrupamiento más populares.
Aunque requiere una cuidadosa selección de K