K-Means es un método del Aprendizaje No Supervisado utilizado para la visión de características, detección de datos atípicos, descubrimiento de clases y preparación de los datos. Es considerado el algoritmo más simple y fundamental de la familia de los métodos de agrupamiento. Su objetivo principal es identificar k grupos en un conjunto de datos buscando una alta similitud intragrupal pero baja similitud intergrupal, es decir, los que se parecen permanecerán lo más juntos posibles pero separándose lo más posible de otros con características diferentes, tal y como los grupos de amigos en la escuela. Este método está basado en la Distancia Euclidiana, que es lo mismo la distancia recta entre dos puntos.
Es aplicable para un conjunto de datos continuos y sus resultados tienden a generar grupos de forma esférica y mutuamente excluyentes. También es un método que es sensible a datos atípicos y efectivo para un conjunto de datos pequeños.
Para poder explicar a K-Means haremos un pequeño ejemplo. Tenemos los siguientes datos y queremos agruparlos por características en común.
Punto | X | Y |
1 | 2 | 10 |
2 | 2 | 5 |
3 | 8 | 4 |
4 | 5 | 8 |
5 | 7 | 5 |
6 | 6 | 4 |
7 | 1 | 2 |
8 | 4 | 9 |
Define los grupos que quieres encontrar (valor de k)
Para este ejemplo vamos a considerar 3 grupos, es decir, un valor de k = 3
Selecciona k datos aleatoriamente del conjunto de datos que tendrán el papel de representantes de grupo o centroides y los separamos del conjunto de datos. Estos datos serán los primeros centroides.
Aleatoriamente elegimos a los datos con el ID 2, 4 y 7. Por lo tanto los centroides son:
G1 | G2 | G3 |
(2, 5) | (5, 8) | (1,2) |
Calculamos la distancia entre cada punto y cada uno de los centroides para encontrar la menor distancia. Para eso usamos la Distancia Euclideana que se desglosa de la siguiente forma:
Punto 1: (2, 10) | G1: (2,5) |
2 – 2 = 0 ² = 0
10 – 5 = 5 ² = 25
0 + 25 = 25
√ 25 = 5
Y de esta forma calculamos la Distancia Euclideana de dos puntos, que formalmente se expresa de esta forma:
Esta serie de pasos se aplica en cada uno de los puntos con cada uno de los centroides para buscar la menor distancia entre el punto y los centroides. Para esto creamos una tabla de distancias para apoyarnos. Si seguimos calculando las distancias tendremos los siguientes resultados:
Punto | G1 | G2 | G3 |
1 | 5.0 | 3.6 | 8.06 |
2 | EXCLUIDO | ||
3 | 6.08 | 5.0 | 7.34 |
4 | EXCLUIDO | ||
5 | 1.0 | 3.60 | 6.70 |
6 | 4.12 | 4.12 | 5.38 |
7 | EXCLUIDO | ||
8 | 4.47 | 1.41 | 6.70 |
Asignamos cada punto al grupo con menor distancia
Con las distancias obtenidas, el resultado de este paso es el siguiente
Punto | G1 | G2 | G3 |
1 | (2,10) | ||
2 | (2,5) | ||
3 | (8,4) | ||
4 | (5,8) | ||
5 | (7,5) | ||
6 | (6,4) | ||
7 | (1,2) | ||
8 | (4,9) |
Como podemos ver, tenemos dos distancias de 4.12 unidades en el Punto 6, por lo que en este caso se le asignará el grupo con menor cantidad de datos para equilibrar los grupos. Con esto, tenemos los siguientes resultados por grupo:
Calculamos nuevos centroides, obteniendo la media de todos los puntos para cada grupo.
Punto | G1 | G2 | G3 |
1 | (2,10) | ||
2 | (2,5) | ||
3 | (8,4) | ||
4 | (5,8) | ||
5 | (7,5) | ||
6 | (6,4) | ||
7 | (1,2) | ||
8 | (4,9) |
Para ello, primero obtenemos la media de los puntos del grupo 1, por lo que calculamos primero la media de los primeros valores de los puntos, siendo:
Media G1 | Media G2 | Media G3 |
((2+7+6) / 3) = 15 / 3 = 5 ((5+5+4) / 3) = 14 / 3 = 4.66 | ((2+8+5+4) / 4) = 19 / 4 = 4.75 ((10+4+8+9) / 4) = 31 / 4 = 7.75 | Único elemento |
(5, 4.66) | (4.75, 7.75) | (1,2) |
Aquí vemos cómo evolucionaron los centroides con respecto a la 1a iteración:
G1 | G2 | G3 | |
Inicial | (2,5) | (5,8) | (1,2) |
1ra iteración | (5, 4.66) | (3.5, 7.75) | (1,2) |
Repetimos desde el paso 3 con la diferencia que incluimos los puntos que fungieron como primeros centroides.
El proceso de detiene cuando las medias o centroides ya no cambien o delimitando las iteraciones.
Este es el K-means. Los resultados que se encuentren dependen de la selección del centroide, y por lo tanto, no es una garantía de obtener el mejor resultado, ya que los resultados dependen de la selección del centroide.