3. Algoritmo K-Means
3
• En este Tema 6 vamos a estudiar con más detalle el funcionamiento, implementación y formulación
matemática de un modelo de aprendizaje automático no-supervisado: el algoritmo K-Means
• Los algoritmos de K-Medias (K-Means) son fáciles de implementar y muy eficientes desde el punto de
vista computacional. Estas son las principales razones que explican por qué son tan populares. No
funcionan bien para identificar clases cuando se trata de grupos que no tienen una forma de distribución
esférica
• El algoritmo K-Means tiene como objetivo encontrar y agrupar en clases los puntos de datos que tienen
mayor similitud entre ellos. En los términos del algoritmo, esta similitud se entiende como lo opuesto de
la distancia entre puntos de datos. Cuanto más cerca estén los puntos de datos, más similares y con más
probabilidades de pertenecer al mismo clúster
4. Algoritmo K-Means: formulación matemática
4
• La distancia más comúnmente utilizada en K-Means es la distancia euclídea. Distancia entre dos puntos
x e y en el espacio m-dimensional es:
• La inercia del clúster es el nombre dado a la Suma de Errores Cuadrados (Sum Squared Error):
• Donde μ(j) es el centroide del cluster j, y w(i,j) es 1 si la muestra x(i) está en el cluster j y 0 en caso
contrario
• K-Means puede ser entendido como un problema de optimización: un algoritmo que intentará
minimizar el factor de inercia del cluster
5. Algoritmo K-Means: formulación matemática
5
• Los pasos del algoritmo (método de Forgy) consisten:
1. Primero, necesitamos elegir k, el número de clústers
2. Luego, el algoritmo seleccionará aleatoriamente los centroides de cada grupo
3. Se asignará cada punto de datos al centroide más cercano (utilizando la distancia euclídea vista)
4. Se calculará la inercia del conglomerado (según fórmula previa)
5. Los nuevos centroides se calcularán como la media de los puntos que pertenecen al centroide del paso
anterior. En otras palabras, calculando el error cuadrático mínimo de los puntos de datos al centro de
cada clúster, moviendo el centro hacia ese punto
6. Volver al paso 3
• Hiperparámetros de K-Means:
ü Número de grupos: El número de clusters
ü Máximas iteraciones: del algoritmo para una ejecución
ü Número inicial: El número de veces que el algoritmo se ejecutará con diferentes semillas de centroide
6. Algoritmo K-Means: formulación matemática
6
• Ejemplo: supongamos los datos Oi del primer gráfico. Tenemos siete objetos a clasificar en k=3 clústers.
1. k=3 clústers
2. Seleccionamos, por ejemplo, O1, O4 y O5 como centroides de cada grupo del primer paso
3. Se asignará cada punto de datos al centroide más cercano (utilizando la distancia euclídea vista)
4. Se calculará la inercia del conglomerado (según fórmula previa)
5. Los nuevos centroides se calcularán como la media de los puntos que pertenecen al centroide (símbolo cuadrado)
6. Tal como se observa, en la figura a la derecha, el objeto O2 ha cambiado de grupo, ya que se encuentra más cercano al
centroide del primer cluster que al del segundo
7. Algoritmo K-Means: formulación matemática
7
• ¿Cómo elegir el número K?
• La elección del número correcto de clusters es uno de los puntos clave del algoritmo K-Means. Para encontrar
este número hay algunos métodos, pero el método elbow es el más habitual
• El método del codo (elbow) funciona trazando los valores ascendentes de K frente al error total obtenido al
usar esa K
• El objetivo es encontrar la k adecuada para que
en cada cluster no aumente significativamente la
varianza
• En este caso del ejemplo, elegiremos el k=3,
donde se encuentra el codo o inflexión
8. Algoritmo K-Means: formulación matemática
8
• Aunque K-Means es un buen algoritmo eficiente de agrupación, es especialmente útil cuando sabemos de
antemano el número exacto de grupos y cuando estamos tratando con distribuciones esféricas
• La siguiente imagen muestra lo que obtendríamos si utilizáramos K-Means en cada conjunto distinto de datos,
incluso si conociéramos de antemano el número exacto de grupos
9. Algoritmo K-Means: Implementación
9
• Ejemplo: vamos a aplicar K-Means al problema de clasificación de las flores de iris
• Aplicamos primero el método de elbow para determinar K. Podemos utilizar K=3