El clustering k-means es una forma de agrupar datos numéricos en kk clústeres. Si eliges kk 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

j=1kxiCjxiμj2\sum_{j=1}^{k} \sum_{x_i \in C_j} \|x_i - \mu_j\|^2

Aquí, CjC_j es el clúster número jj y μj\mu_j 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:

  1. Elige kk centroides iniciales.
  2. Asigna cada punto al centroide más cercano.
  3. Recalcula cada centroide como la media de los puntos que tiene asignados.
  4. 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:

1, 2, 3, 10, 11, 121,\ 2,\ 3,\ 10,\ 11,\ 12

Supongamos que queremos k=2k = 2 clústeres y empezamos con centroides en 11 y 1010. 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 1,2,31, 2, 3 están más cerca de 11.

Los puntos 10,11,1210, 11, 12 están más cerca de 1010.

Así que los clústeres son

C1={1,2,3},C2={10,11,12}C_1 = \{1,2,3\}, \qquad C_2 = \{10,11,12\}

Paso 2: actualizar los centroides

El nuevo centroide del primer clúster es

μ1=1+2+33=2\mu_1 = \frac{1+2+3}{3} = 2

El nuevo centroide del segundo clúster es

μ2=10+11+123=11\mu_2 = \frac{10+11+12}{3} = 11

Ambos centroides se movieron, de 11 a 22 y de 1010 a 1111.

Paso 3: volver a asignar

Ahora vuelve a comprobar el centroide más cercano usando 22 y 1111.

Los puntos 1,2,31, 2, 3 siguen perteneciendo al primer clúster, y los puntos 10,11,1210, 11, 12 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 kk 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 k=2k = 2 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 →