El clustering k-means es una forma de agrupar datos numéricos en clústeres. Si eliges y usas la versión euclidiana estándar, el algoritmo repite un ciclo: asigna cada punto al centro más cercano y luego mueve cada centro a la media de los puntos que se le asignaron.
Dicho de forma sencilla, intenta que los puntos del mismo grupo queden cerca entre sí y que los puntos de grupos distintos queden más separados. Es rápido y útil, pero solo funciona bien cuando esos "grupos" son razonablemente compactos y la distancia tiene sentido.
Qué optimiza el clustering k-means
En la forma euclidiana estándar, k-means intenta que los puntos dentro de cada clúster queden lo más cerca posible del centroide de ese clúster. Un objetivo habitual es
Aquí, es el clúster número y es su centroide.
Esto es la suma de cuadrados dentro del clúster. Valores más pequeños significan que los puntos asignados quedan más concentrados alrededor de sus centroides.
Ese objetivo explica las dos partes del algoritmo:
- Si los centroides están fijos, lo mejor es asignar cada punto a su centroide más cercano.
- Si las asignaciones están fijas, el mejor centroide es la media de los puntos asignados.
Por eso la regla de actualización no es arbitraria. Las "means" de k-means son medias aritméticas en sentido literal.
Cómo funciona el algoritmo k-means
El ciclo habitual es corto:
- Elige centroides iniciales.
- Asigna cada punto al centroide más cercano.
- Recalcula cada centroide como la media de los puntos que tiene asignados.
- Repite hasta que las asignaciones dejen de cambiar o la mejora sea muy pequeña.
Este proceso suele converger rápido, pero no necesariamente al mejor agrupamiento posible. Distintos centroides iniciales pueden llevar a respuestas finales diferentes, así que la inicialización importa.
Ejemplo de clustering k-means paso a paso
Toma estos puntos de datos unidimensionales:
Supongamos que queremos clústeres y empezamos con centroides en y . Es un buen ejemplo porque los centroides sí se mueven después de la primera actualización.
Paso 1: asignar puntos al centroide más cercano
Los puntos están más cerca de .
Los puntos están más cerca de .
Así que los clústeres son
Paso 2: actualizar los centroides
El nuevo centroide del primer clúster es
El nuevo centroide del segundo clúster es
Ambos centroides se movieron, de a y de a .
Paso 3: volver a asignar
Ahora vuelve a comprobar el centroide más cercano usando y .
Los puntos siguen perteneciendo al primer clúster, y los puntos siguen perteneciendo al segundo clúster. Como las asignaciones ya no cambian, el algoritmo ha convergido.
Este es un ejemplo limpio porque los datos se separan de forma natural en dos grupos compactos. Los conjuntos de datos reales son más desordenados, y ahí es donde k-means puede empezar a llevarte a conclusiones engañosas.
Cuándo funciona bien k-means
K-means funciona mejor cuando estas condiciones se cumplen aproximadamente:
- Las características son numéricas.
- La distancia euclidiana es una forma razonable de medir similitud.
- Los clústeres son bastante compactos, no alargados ni curvos.
- Las características se han escalado para que una variable no domine a las demás.
Si esas condiciones fallan, el resultado puede seguir viéndose ordenado aunque no refleje la estructura real de los datos.
Errores comunes con k-means
Tratar k-means como un método universal de clustering
K-means funciona mejor cuando los clústeres son razonablemente compactos y la media es un resumen sensato. No es una buena opción por defecto para cualquier conjunto de datos.
Ignorar el escalado de características
Si una característica se mide en una escala mucho mayor que otra, puede dominar el cálculo de distancias. Estandarizar o normalizar las características suele ser importante antes de ejecutar k-means.
Suponer que la respuesta es única
K-means puede converger a distintos mínimos locales según los puntos de partida. Por eso se suelen usar ejecuciones repetidas o métodos como la inicialización k-means++.
Usarlo con características no numéricas o mal codificadas
Como los centroides son medias, el k-means estándar está pensado para variables numéricas. Si una característica es categórica, calcular una media aritmética puede no tener sentido.
Usarlo con clústeres claramente no esféricos
Si los grupos reales son alargados, curvos o tienen densidades muy desiguales, k-means puede dividir un grupo natural o fusionar dos distintos. El método prefiere clústeres compactos basados en centroides.
Olvidar que los valores atípicos pueden arrastrar los centroides
Como los centroides son medias, los valores extremos pueden desplazarlos de forma notable. Si los valores atípicos son importantes en tus datos, revisa esto antes de confiar en el resultado.
Dónde se usa el clustering k-means
K-means se usa a menudo para agrupación exploratoria, segmentación de clientes o comportamientos, cuantización de color en imágenes y como línea base rápida en aprendizaje no supervisado.
Es más útil cuando tienes características numéricas, quieres un modelo simple y rápido, y esperas clústeres aproximadamente compactos en el espacio euclidiano.
Un modelo mental simple
Imagina que colocas chinchetas móviles sobre un diagrama de dispersión. Cada punto se engancha a la chincheta más cercana. Luego cada chincheta se desliza hasta la posición promedio de los puntos que tiene enganchados. Repite eso hasta que las chinchetas casi dejen de moverse.
Esa imagen no es solo intuición. Es casi todo el algoritmo.
Prueba un problema de clustering parecido
Toma un conjunto pequeño de puntos sobre una recta, elige y ejecuta a mano un ciclo completo de asignación y actualización. Luego cambia los centroides iniciales o añade un valor atípico y observa cómo cambia el resultado. Si quieres ir un paso más allá, prueba tu propia versión con un conjunto de datos pequeño y compara qué ocurre antes y después del escalado de características.
¿Necesitas ayuda con un problema?
Sube tu pregunta y obtén una solución verificada, paso a paso, en segundos.
Abrir GPAI Solver →