Está en la página 1de 60

Aprendizaje Automático

k-medias
Ejemplo

Profesor-Tutor Xavier Torres


Centro Asociado de Les Illes Balears
Introducción
• Aplicaremos el algoritmo de aprendizaje no
supervisado k-medias a los datos de
entrenamiento que se muestran en la tabla
siguiente
• Se trata de ejemplos de monedas de euro con
sus especificaciones técnicas
Observaciones
• Sobre las técnicas:
– El principal objetivo del Tema 9 es presentar dos técnicas de agrupamiento, muy utilizadas por la
estadística, como son:
• Estrategia Aglomerativa (9.2)
• Agrupación en k-medias (9.3)
– Ambas técnicas tienen la particularidad de que trabajan con conjuntos de entrenamiento con
atributos numéricos
– No obstante, existen otras técnicas de agrupamiento que manejan atributos discretos, pero quedan
fuera del temario de esta asignatura
– Con lo que no se tendrán en cuenta los atributos no numéricos (discretos) del ejemplo siguiente
• Sobre los cálculos:
– En la primera iteración del ejemplo no se han detallado los cálculos cuando el ejemplo ei coincide
con alguna semilla sj, es decir, cuando ei = sj, debido a que d(ei,sj) = 0; y consecuentemente, s(ei,sj) = 1
– Tener en cuenta además que, d(xi,xj) = d(xj,xi); y consecuentemente, s(xi,xj) = s(xj,xi)
– Ahorra un tiempo precioso el calcular la pertenencia a cada cluster utilizando sólo la distancia (dado
que la similitud es inversamente proporcional a la distancia)
• Sobre las iteraciones:
– El algoritmo k‐medias converge sólo cuando en dos iteraciones consecutivas se obtiene la misma
agrupación de ejemplos. En otro caso, hay que seguir iterando hasta que esto ocurra
Experimento de Aprendizaje: Etapas
✓ Enunciado del problema
✓ Recopilación de datos
Construcción del modelo
– Fase de adquisición
• …
• Aplicar la técnica de aprendizaje [elegida]
– Fase de validación
• Interpretar modelo obtenido
– Fase de utilización
• Utilizar el modelo aprendido para clasificar instancias con valor
de clase desconocido
Datos de entrenamiento: Ejemplo
Conjunto de entrenamiento
Ejemplo Atributos Continuos Atributos Discretos
E Valor (cts) Diámetro (mm) Peso (gr) Canto Material

e1 1 16.25 2.2 Liso Cobre-Acero


e2 2 18.75 3.0 Liso Cobre-Acero
e3 5 21.25 3.9 Liso Cobre-Acero
e4 10 19.75 4.1 Festonado Oro nórdico
e5 20 22.25 7.0 Liso con muescas Oro nórdico
e6 50 24.25 7.9 Festonado Oro nórdico
e7 100 23.25 7.5 Estriado discontinuo Niquel-Latón Exterior
Cobre-Níquel Interior
e8 200 25.75 8.5 Grabado y estriado Niquel-Latón Interior
Cobre-Níquel Exterior
Agrupación a simple vista por material

Valor (cts.)

201

151

101

51

1
0 50 100 150 200
Agrupación: Atributo Peso
Peso (gr.)
9,00

8,00

7,00

6,00

5,00

4,00

3,00

2,00
0 20 40 60 80 100 120 140 160 180 200
Agrupación: Atributo Diámetro
Diámetro (mm)
27,00

25,00

23,00

21,00

19,00

17,00

15,00
0 20 40 60 80 100 120 140 160 180 200
Agrupación: Atributo Valor

Valor (cts.)

201

151

101

51

1
0 50 100 150 200
Definiciones usadas
• Distancia, d(xi,xj) = ((xik - xjk)2
• Similitud, s(xi,xj) = f(d(xi,xj)) = 1 / (1 + d(xi,xj))
• Centroide, c = [(vi,1)/m, (vi,2)/m, …, (vi,j)/m]
donde:
– vi,j es el valor del atributo j para el ejemplo i
– m es el número de ejemplos de la clase
Resumen de pasos
• Paso 0: Inicializar los grupos (clases) y semillas
• Pasos 1: Asignar ejemplos al grupo más próximo (por
centroides iniciales)
• Pasos 2: Recalcular los nuevos centroides
• Pasos 3: Asignar ejemplos al grupo más próximo (por
nuevos centroides)
• Comprobación:
– Sin cambios (los grupos contienen los mismos ejemplos)
respecto al paso anterior  Finaliza el proceso
– En caso contrario, repetiríamos pasos 2 y 3, y nueva
comprobación
Inicializar los grupos (clases) y semillas
• Paso 0: Sea k = 3 el número de clases
• Sea C =  el conjunto de grupos
• Elegimos las semillas (centroides iniciales)
“aleatoriamente”:
– s1 = e7 (1 euro), s2 = e5 (20 cts), s3 = e1 (1 cts)
• C = C1  C2  C3 = {(s1, {e7}), (s2, {e5}), (s3, {e1}}
= {(e7, {e7}), (e5, {e5}), (e1, {e1}} donde cada
clase Ci = (Semilla, Conjunto de ejemplos)
Grupos (clases) y semillas iniciales

Valor (cts.)

201

151

101

51

1
0 50 100 150 200
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e2?
• Paso 1.1: e1  C3 por ser la semilla
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5}), (e1, {e1}}
• Paso 1.2.1: Ejemplo e2 = (2, 18.75, 3.0)  C1?
– Semilla s1 = e7 = (100, 23.25, 7.5)
– d(e2,e7) = ((100 - 2)2 + (23.25 - 18.75)2 + (7.5 -
3.0)2) = (982 + 4.52 + 7.52) = (9801 + 20.25 +
20.25) = 9644.50 = 98.21
– s(e2,e7) = 1/(1 + d(e2,e7)) = 1/(1 + 98.21) = 0.01
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e2?
• Paso 1.2.2: Ejemplo e2 = (2, 18.75, 3.0)  C2?
– Semilla s2 = e5 = (20, 22.25, 7.0)
– d(e2,e5) = ((20 - 2)2 + (22.25 - 18.75)2 + (7.0 -
3.0)2) = (182 + 3.502 + 12.252) = (324 + 12.25 +
16.00) = 352.25 = 18.77
– s(e2,e5) = 1/(1 + d(e2,e5)) = 1/(1 + 18.77) = 0.05
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e2?
• Paso 1.2.3: Ejemplo e2 = (2, 18.75, 3.0)  C3?
– Semilla s3 = e1 = (1, 16.25, 2.2)
– d(e2,e1) = ((1 - 2)2 + (16.25 - 18.75)2 + (2.2 - 3.0)2)
= (-12 + -2.52 + -0.82) = (1 + 6.25 + 0.64) = 7.89
= 2.81
– s(e2,e1) = 1/(1 + d(e2,e1)) = 1/(1 + 2.81) = 0.26
– e2  C3 por s(e2,e1) > s(e2,e5) > s(e2,e7)
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5}), (e1, {e1, e2})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e3?
• Paso 1.3.1: Ejemplo e3 = (5, 21.25, 3.9)  C1?
– Semilla s1 = e7 = (100, 23.25, 7.5)
– d(e3,e7) = ((100 - 5)2 + (23.25 - 21.25)2 + (7.5 -
3.9)2) = (952 + 2.02 + 3.62) = (9025 + 4.00 +
12.96) = 9041.96 = 95.09
– s(e3,e7) = 1/(1 + d(e3,e7)) = 1/(1 + 95.09) = 0.01
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e3?
• Paso 1.3.2: Ejemplo e3 = (5, 21.25, 3.9)  C2?
– Semilla s2 = e5 = (20, 22.25, 7.0)
– d(e3,e5) = ((20 - 5)2 + (22.25 - 21.25)2 + (7.0 -
3.9)2) = (152 + 1.02 + 3.12) = (225 + 1.00 + 9.61)
= 235.61 = 15.35
– s(e3,e5) = 1/(1 + d(e3,e5)) = 1/(1 + 15.35) = 0.06
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e3?
• Paso 1.3.3: Ejemplo e3 = (5, 21.25, 3.9)  C3?
– Semilla s3 = e1 = (1, 16.25, 2.2)
– d(e3,e1) = ((1 - 5)2 + (16.25 - 21.25)2 + (2.2 - 3.9)2)
= (-42 + -5.02 + -1.72) = (16 + 25 + 2.89) = 43.89
= 6.62
– s(e3,e1) = 1/(1 + d(e3,e1)) = 1/(1 + 6.62) = 0.13
– e3  C3 por s(e3,e1) > s(e3,e5) > s(e3,e7)
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5}), (e1, {e1, e2,
e3})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e4?
• Paso 1.4.1: Ejemplo e4 = (10, 19.75, 4.1)  C1?
– Semilla s1 = e7 = (100, 23.25, 7.5)
– d(e4,e7) = ((100 - 10)2 + (23.25 - 19.75)2 + (7.5 -
4.1)2) = (902 + 3.52 + 3.42) = (810 + 12.25 +
11.56) = 8123.81 = 90.13
– s(e4,e7) = 1/(1 + d(e4,e7)) = 1/(1 + 90.13) = 0.01
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e4?
• Paso 1.4.2: Ejemplo e4 = (10, 19.75, 4.1)  C2?
– Semilla s2 = e5 = (20, 22.25, 7.0)
– d(e4,e5) = ((20 - 10)2 + (22.25 - 19.75)2 + (7.0 -
4.1)2) = (102 + 2.52 + 2.92) = (100 + 6.25 + 8.41)
= 114.66 = 10.71
– s(e4,e5) = 1/(1 + d(e4,e5)) = 1/(1 + 10.71) = 0.08
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e4?
• Paso 1.4.3: Ejemplo e4 = (10, 19.75, 4.1)  C3?
– Semilla s3 = e1 = (1, 16.25, 2.2)
– d(e4,e1) = ((1 - 10)2 + (16.25 - 19.75)2 + (2.2 -
4.1)2) = (-92 + -3.52 + -1.92) = (81 + 12.25 + 3.61)
= 96.86 = 9.84
– s(e4,e1) = 1/(1 + d(e4,e1)) = 1/(1 + 9.84) = 0.09
– e4  C3 por s(e4,e1) > s(e4,e5) > s(e4,e7)
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5}), (e1, {e1, e2,
e3, e4})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e6?
• Paso 1.5: e5  C2 por ser la semilla
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5}), (e1, {e1, e2,
e3, e4}}
• Paso 1.6.1: Ejemplo e6 = (50, 24.25, 7.9)  C1?
– Semilla s1 = e7 = (100, 23.25, 7.5)
– d(e6,e7) = ((100 - 50)2 + (23.25 - 24.25)2 + (7.5 -
7.9)2) = (502 + -1.02 + -0.42) = (2500 + 1.00 +
0.16) = 2501.16 = 50.01
– s(e6,e7) = 1/(1 + d(e6,e7)) = 1/(1 + 50.01) = 0.01
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e6?
• Paso 1.6.2: Ejemplo e6 = (50, 24.25, 7.9)  C2?
– Semilla s2 = e5 = (20, 22.25, 7.0)
– d(e6,e5) = ((20 - 50)2 + (22.25 - 24.25)2 + (7.0 -
7.9)2) = (-302 + -2.02 + -0.92) = (900 + 4.00 +
0.81) = 904.81 = 30.08
– s(e6,e5) = 1/(1 + d(e6,e5)) = 1/(1 + 30.08) = 0.03
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e6?
• Paso 1.6.3: Ejemplo e6 = (50, 24.25, 7.9)  C3?
– Semilla s3 = e1 = (1, 16.25, 2.2)
– d(e6,e1) = ((1 - 50)2 + (16.25 - 24.25)2 + (2.2 -
7.9)2) = (-492 + -8.02 + -5.72) = (2401 + 64.00 +
32.49) = 2497.49 = 49.97
– s(e6,e1) = 1/(1 + d(e6,e1)) = 1/(1 + 49.97) = 0.01
– e6  C2 por s(e6,e5) > s(e6,e1) > s(e6,e7)
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5, e6}), (e1, {e1,
e2, e3, e4})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e8?
• Paso 1.7: e7  C1 por ser la semilla
– C = C1  C2  C3 = {(e7, {e7}), (e5, {e5, e6}), (e1, {e1, e2,
e3, e4}}
• Paso 1.8.1: Ejemplo e8 = (200, 25.75, 8.5)  C1?
– Semilla s1 = e7 = (100, 23.25, 7.5)
– d(e8,e7) = ((100 - 200)2 + (23.25 - 25.75)2 + (7.5 -
8.5)2) = (-1002 + -2.52 + -1.02) = (10000 + 6.25 +
1.00) = 10007.25 = 100.04
– s(e8,e7) = 1/(1 + d(e8,e7)) = 1/(1 + 100.04) = 0.009
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e8?
• Paso 1.8.2: Ejemplo e8 = (200, 25.75, 8.5) C2?
– Semilla s2 = e5 = (20, 22.25, 7.0)
– d(e8,e5) = ((20 - 200)2 + (22.25 - 25.75)2 + (7.0 -
8.5)2) = (-1802 + -3.52 + -1.52) = (32400 + 12.25
+ 2.25) = 32414.50 = 180.04
– s(e8,e5) = 1/(1 + d(e8,e5)) = 1/(1 + 180.04) = 0.005
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e8?
• Paso 1.8.3: Ejemplo e8 = (200, 25.75, 8.5) 
C3?
– Semilla s3 = e1 = (1, 16.25, 2.2)
– d(e8,e1) = ((1 - 200)2 + (16.25 - 25.75)2 + (2.2 -
8.5)2) = (-1992 + -9.52 + -6.32) = (39601 + 90.25
+ 39.69) = 39730.94 = 199.33
– s(e8,e1) = 1/(1 + d(e6,e1)) = 1/(1 + 199.33) = 0.004
– e8  C1 por s(e8,e7) > s(e8,e5) > s(e8,e7)
– C = C1  C2  C3 = {(e7, {e7, e8}), (e5, {e5, e6}), (e1,
{e1, e2, e3, e4})}
Grupos (clases) tras asignar ejemplos
al grupo más próximo
Valor (cts.)

201

151

101

51

1
0 50 100 150 200
Recalcular los nuevos centroides
• Paso 2: C = C1  C2  C3 = {(e7, {e7, e8}), (e5,
{e5, e6}), (e1, {e1, e2, e3, e4}}
– Calculamos los centroides [las “nuevas semillas”]:
s1 = {e7, e8}, s2 = {e5, e6}, s3 = {e1, e2, e3, e4}
– Centroide, c = [(vi,1)/m, (vi,2)/m, (vi,3)/m]
Recalcular los nuevos centroides
¿Cuál es el centroide de C1?
• Paso 2.1: s1 = {e7, e8} de C1
– e7 = (100, 23.25, 7.5)
– e8 = (200, 25.75, 8.5)
– s1 = ((100 + 200)/2, (23.25 + 25.75)/2, (7.5 +
8.5)/2) = (300/2, 49.0/2, 16.0/2) = (150, 24.5, 8.0)
Recalcular los nuevos centroides
¿Cuál es el centroide de C2?
• Paso 2.2: s2 = {e5, e6} de C2
– e5 = (20, 22.25, 7.0)
– e6 = (50, 24.25, 7.9)
– s2 = ((20 + 50)/2, (22.25 + 24.25)/2, (7.0 + 7.9)/2) =
(70/2, 46.5/2, 14.9/2) = (35, 23.25, 7.45)
Recalcular los nuevos centroides
¿Cuál es el centroide de C3?
• Paso 2.3: s3 = {e1, e2, e3, e4} de C3
– e1 = (1, 16.25, 2.2)
– e2 = (2, 18.75, 3.0)
– e3 = (5, 21.25, 3.9)
– e4 = (10, 19.75, 4.1)
– s3 = ((1 + 2 + 5 + 10)/4, (16.25 + 18.75 + 21.25 +
19.75)/4, (2.2 + 3.0 + 3.9 + 4.1)/4) = (18/4, 76.0/4,
13.2/4) = (4.5, 19.0, 3.3)
Grupos (clases) con los nuevos
centroides (apróx.)
Valor (cts.)

201

151

101

51

1
0 50 100 150 200
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e1?
• Paso 3.1.1: Ejemplo e1 = (1, 16.25, 2.2)  C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e1,s1) = ((150 - 1)2 + (24.5 - 16.25)2 + (8.0 -
2.2)2) = (1492 + 8.252 + 5.82) = (2201 + 68.06 +
36.34) = 22302.70 = 149.34
– s(e1,s1) = 1/(1 + d(e1,s1)) = 1/(1 + 149.34) = 0.006
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e1?
• Paso 3.1.2: Ejemplo e1 = (1, 16.25, 2.2)  C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e1,s2) = ((35 - 1)2 + (23.25 - 16.25)2 + (7.45 -
2.20)2) = (342 + 7.002 + 5.252) = (1156 + 49.0 +
27.56) = 1232.56 = 35.11
– s(e1,s2) = 1/(1 + d(e1,s2)) = 1/(1 + 35.11) = 0.027
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e1?
• Paso 3.1.3: Ejemplo e1 = (1, 16.25, 2.2)  C3?
– Semilla s3 = (4.5, 19.0, 3.3)
– d(e1,s3) = ((4.5 - 1)2 + (19.0 - 16.25)2 + (3.3 - 2.2)2)
= (3.52 + 2.752 + 1.12) = (12.25 + 7.56 + 1.21) =
21.02 = 4.59
– s(e1,s3) = 1/(1 + d(e1,s3)) = 1/(1 + 4.59) = 0.179
– e1  C3 por s(e1,s3) > s(e1,s2) > s(e1,s3)
– C = C1  C2  C3 = {(s1, {}), (s2, {}), (s3, {e1})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e2?
• Paso 3.2.1: Ejemplo e2 = (2, 18.75, 3.0)  C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e2,s7) = ((150 - 2)2 + (24.5 - 18.75)2 + (7.5 -
3.0)2) = (1482 + 5.752 + 5.02) = (21904 + 33.06 +
25.0) = 21962.06 = 148.2
– s(e2,s1) = 1/(1 + d(e2,s1)) = 1/(1 + 148.2) = 0.006
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e2?
• Paso 3.2.2: Ejemplo e2 = (2, 18.75, 3.0)  C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e2,s2) = ((35 - 2)2 + (23.25 - 18.75)2 + (7.45 -
3.0)2) = (332 + 4.52 + 4.452) = (1089 + 20.25 +
19.80) = 1129.05 = 33.60
– s(e2,s2) = 1/(1 + d(e2,s2)) = 1/(1 +33.60) = 0.028
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e2?
• Paso 3.2.3: Ejemplo e2 = (2, 18.75, 3.0)  C3?
– Semilla s3 = (4.5, 19.0, 3.3)
– d(e2,s3) = ((4.5 - 2)2 + (19.0 - 18.75)2 + (3.3 - 3.0)2)
= (2.52 + 0.252 + 0.32) = (6.25 + 0.06 + 0.09) =
6.4 = 2.53
– s(e2,s3) = 1/(1 + d(e2,e1)) = 1/(1 + 2.53) = 0.283
– e2  C3 por s(e2,s3) > s(e2,s2) > s(e2,s1)
– C = C1  C2  C3 = {(s1, {}), (s2, {}), (s3, {e1, e2})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e3?
• Paso 3.3.1: Ejemplo e3 = (5, 21.25, 3.9)  C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e3,s1) = ((150 - 5)2 + (24.5 - 21.25)2 + (8.0 -
3.9)2) = (1452 + 3.252 + 4.12) = (21025 + 10.56 +
16.81) = 21052.37 = 145.09
– s(e3,s1) = 1/(1 + d(e3,s1)) = 1/(1 + 145.09) = 0.006
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e3?
• Paso 3.3.2: Ejemplo e3 = (5, 21.25, 3.9)  C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e3,s2) = ((35 - 5)2 + (23.25 - 21.25)2 + (7.45 -
3.9)2) = (302 + 2.02 + 3.552) = (900 + 4.0 + 12.6)
= 916.6 = 30.28
– s(e3,s2) = 1/(1 + d(e3,s2)) = 1/(1 + 30.28) = 0.031
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e3?
• Paso 3.3.3: Ejemplo e3 = (5, 21.25, 3.9)  C3?
• Semilla s3 = (4.5, 19.0, 3.3)
• d(e3,s3) = ((4.5 - 5)2 + (19.0 - 21.25)2 + (3.3 -
3.9)2) = (-0.52 + -2.252 + -0.62) = (0.25 + 5.06 +
0.36) = 5.67 = 2.38
• s(e3,s3) = 1/(1 + d(e3,s3)) = 1/(1 + 2.38) = 0.295
• e3  C3 por s(e3,s3) > s(e3,s2) > s(e3,s1)
• C = C1  C2  C3 = {(s1, {}), (s2, {}), (s3, {e1, e2, e3})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e4?
• Paso 3.4.1: Ejemplo e4 = (10, 19.75, 4.1)  C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e4,s1) = ((150 - 10)2 + (24.5 - 19.75)2 + (8.0 -
4.1)2) = (1402 + 4.752 + 3.92) = (19600 + 22.56 +
15.21) = 19637.77 = 140.13
– s(e4,s1) = 1/(1 + d(e4,s1)) = 1/(1 + 140.13) = 0.007
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e4?
• Paso 3.4.2: Ejemplo e4 = (10, 19.75, 4.1)  C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e4,s2) = ((35 - 10)2 + (23.25 - 19.75)2 + (7.45 -
4.1)2) = (252 + 3.52 + 3.352) = (625 + 12.25 +
11.22) = 648.47 = 25.47
– s(e4,s2) = 1/(1 + d(e4,s2)) = 1/(1 + 25.47) = 0.037
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e4?
• Paso 3.4.3: Ejemplo e4 = (10, 19.75, 4.1)  C3?
• Semilla s3 = (4.5, 19.0, 3.3)
• d(e4,s3) = ((4.5 - 10)2 + (19.0 - 19.75)2 + (3.3 -
4.1)2) = (-5.52 + -0.752 + -0.82) = (30.25 + 0.56 +
0.64) = 31.45 = 5.61
• s(e4,s3) = 1/(1 + d(e4,s3)) = 1/(1 + 5.61) = 0.151
• e4  C3 por s(e4,s3) > s(e4,s2) > s(e4,s1)
• C = C1  C2  C3 = {(s1, {}), (s2, {}), (s3, {e1, e2, e3,
e4})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e5?
• Paso 3.5.1: Ejemplo e5 = (20, 22.25, 7.0)  C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e5,s1) = ((150 - 20)2 + (24.5 - 22.25)2 + (8.0 -
7.0)2) = (1302 + 2.252 + 1.02) = (16900 + 5.06 +
1.0) = 16906.06 = 130.02
– s(e5,s1) = 1/(1 + d(e5,s1)) = 1/(1 + 130.02) = 0.007
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e5?
• Paso 3.5.2: Ejemplo e5 = (20, 22.25, 7.0)  C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e5,s2) = ((35 - 20)2 + (23.25 - 22.25)2 + (7.45 -
7.0)2) = (152 + 1.02 + 0.452) = (225 + 1.0 + 0.2) =
226.2 = 15.04
– s(e5,s2) = 1/(1 + d(e5,s2)) = 1/(1 + 15.04) = 0.062
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e5?
• Paso 3.5.3: Ejemplo e5 = (20, 22.25, 7.0)  C3?
• Semilla s3 = (4.5, 19.0, 3.3)
• d(e5,s3) = ((4.5 - 20)2 + (19.0 - 22.25)2 + (3.3 -
7.0)2) = (-15.52 + -3.252 + -3.72) = (240.25 +
10.56 + 13.69) = 264.5 = 16.26
• s(e5,s3) = 1/(1 + d(e4,s3)) = 1/(1 + 16.26) = 0.057
• e5  C2 por s(e5,s2) > s(e5,s3) > s(e5,s1)
• C = C1  C2  C3 = {(s1, {}), (s2, {e5}), (s3, {e1, e2, e3,
e4})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e6?
• Paso 3.6.1: Ejemplo e6 = (50, 24.25, 7.9)  C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e6,s1) = ((150 - 50)2 + (24.5 - 24.25)2 + (8.0 -
7.9)2) = (1002 + 0.252 + 7.92) = (10000 + 0.06 +
0.01) = 10000.07 = 100.0
– s(e6,s1) = 1/(1 + d(e6,s1)) = 1/(1 + 100.0) = 0.009
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e6?
• Paso 3.6.2: Ejemplo e6 = (50, 24.25, 7.9)  C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e6,s2) = ((35 - 50)2 + (23.25 - 24.25)2 + (7.45 -
7.9)2) = (-152 + -1.02 + -0.452) = (225 + 1.00 +
0.2) = 226.20 = 15.04
– s(e6,s2) = 1/(1 + d(e6,s2)) = 1/(1 + 15.04) = 0.062
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e6?
• Paso 3.6.3: Ejemplo e6 = (50, 24.25, 7.9)  C3?
• Semilla s3 = (4.5, 19.0, 3.3)
• d(e6,s3) = ((4.5 - 50)2 + (19.0 - 24.25)2 + (3.3 -
7.9)2) = (-45.52 + -5.252 + -4.62) = (2070.3 +
27.56 + 21.16) = 2118.97 = 46.03
• s(e6,s3) = 1/(1 + d(e6,s3)) = 1/(1 + 46.03) = 0.021
• e6  C2 por s(e6,s2) > s(e6,s3) > s(e6,s1)
• C = C1  C2  C3 = {(s1, {}), (s2, {e5, e6}), (s3, {e1, e2,
e3, e4})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e7?
• Paso 3.7.1: Ejemplo e7 = (100, 23.25, 7.5) C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e7,s1) = ((150 - 100)2 + (24.5 - 23.25)2 + (8.0 -
7.5)2) = (502 + 1.252 + 0.52) = (2500 + 1.56 +
0.25) = 2501.81 = 50.02
– s(e7,s1) = 1/(1 + d(e7,s1)) = 1/(1 + 50.02) = 0.019
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e7?
• Paso 3.7.2: Ejemplo e7 = (100, 23.25, 7.5) C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e7,s2) = ((35 - 100)2 + (23.25 - 23.25)2 + (7.45 -
7.5)2) = (-652 + -0.02 + -0.052) = (4225 + 0.0 +
0.0) = 4225 = 65.0
– s(e7,s2) = 1/(1 + d(e7,s2)) = 1/(1 + 65.0) = 0.015
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e7?
• Paso 3.7.3: Ejemplo e7 = (100, 23.25, 7.5)  C3?
• Semilla s3 = (4.5, 19.0, 3.3)
• d(e7,s3) = ((4.5 - 100)2 + (19.0 - 23.25)2 + (3.3 -
7.5)2) = (-95.52 + -4.252 + -4.22) = (9120.3 +
18.06 + 17.64) = 9155.95 = 95.69
• s(e7,s3) = 1/(1 + d(e6,s3)) = 1/(1 + 46.03) = 0.010
• e7  C1 por s(e6,s1) > s(e6,s2) > s(e6,s3)
• C = C1  C2  C3 = {(s1, {e7}), (s2, {e5, e6}), (s3, {e1,
e2, e3, e4})}
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e8?
• Paso 3.8.1: Ejemplo e8 = (200, 25.75, 8.5) C1?
– Semilla s1 = (150, 24.5, 8.0)
– d(e8,s1) = ((150 - 200)2 + (24.5 - 25.75)2 + (8.0 -
8.5)2) = (-502 + -1.252 + -0.52) = (2500 + 1.56 +
0.25) = 2501.81 = 50.02
– s(e8,s1) = 1/(1 + d(e8,s1)) = 1/(1 + 50.02) = 0.019
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e8?
• Paso 3.8.2: Ejemplo e8 = (200, 25.75, 8.5) C2?
– Semilla s2 = (35, 23.25, 7.45)
– d(e8,s2) = ((35 - 200)2 + (23.25 - 25.75)2 + (7.45 -
8.5)2) = (-1652 + -2.52 + -1.052) = (27225 + 6.25
+ 1.1) = 27232.35 = 165.02
– s(e8,s2) = 1/(1 + d(e8,s2)) = 1/(1 + 165.02) = 0.006
Asignar ejemplos al grupo más próximo
¿A qué clase pertenece e8?
• Paso 3.8.3: Ejemplo e8 = (200, 25.75, 8.5)  C3?
• Semilla s3 = (4.5, 19.0, 3.3)
• d(e8,s3) = ((4.5 - 200)2 + (19.0 - 25.75)2 + (3.3 -
8.5)2) = (-195.52 + -6.752 + -5.22) = (38220 +
45.56 + 27.04) = 38292.85 = 195.69
• s(e8,s3) = 1/(1 + d(e8,s3)) = 1/(1 + 195.69) = 0.005
• e8  C1 por s(e8,s1) > s(e8,s2) > s(e8,s3)
• C = C1  C2  C3 = {(s1, {e7, e8}), (s2, {e5, e6}), (s3,
{e1, e2, e3, e4})} igual al paso 1.8.3 finaliza el
proceso
Ejemplos agrupados en clases
mediante el algoritmo K-medias
Valor (cts.)

201

151

101

51

1
0 50 100 150 200
Bibliografía
• González Boticario, Jesús; Isasi Viñuela, Pedro y
Borrajo Millán, Daniel. Aprendizaje Automático.
Editorial Sanz y Torres (2006)
• Moreno Ribas, Antonio et al. Aprendizaje
Automático. UPC (1994)
• Palma Méndez, José Tomás y Marín Morales,
Roque (Coordinadores). Inteligencia Artificial:
Técnicas, Métodos y Aplicaciones. Editorial
McGraw-Hill (2008)
• Rich, E. y Knight, K. Inteligencia Artificial
(Segunda Edición). Madrid: McGraw-Hill (1994)

También podría gustarte