Está en la página 1de 66

Kmeans

Ejemplo
2012

Departamento de Ingeniera de Sistemas y Computacin
Todos los derechos reservados
1
Qu vamos a aprender

Descripcin y solucin del problema parte 1.
Algoritmo Kmeans: Descripcin y aplicacin
Medidas de distancia
Descripcin y solucin del problema parte 2.
Descripcin y solucin del problema parte 3.
Ejercicio Propuesto
Bibliografa









2
Kmeans Ejemplo
Contexto
Quin es alto y quin es bajo?
Opcin:
Segn un umbral

Qu valor para el umbral?

3
Umbral
Altos
Bajos
Kmeans Ejemplo
Contexto
Quin es alto y quin es bajo?
En Colombia?
Depende del gnero
Hombres: 1,80?
Mujeres: 1,70?

Respuesta nica?
En otros pases?
Guatemala.
Holanda.

4
Kmeans Ejemplo
Contexto
Quin es alto y quin es bajo?



Cmo determinamos el umbral?
Promedio
Siempre funciona?
Kmeans
5
Kmeans Ejemplo
Contexto
Se quiere clasificar en dos grupos un conjunto de
personas de Holanda de acuerdo a su estatura.
Para cada persona se sabe su estatura en centmetros.
Se quiere clasificar cada persona como alta o baja.
6
Estatura: 148 cm

Alto
Bajo
Contexto
Se cuenta con las estaturas de 10 personas holandesas. Se
quiere saber si clasifican como altas o bajas
7
Datos
Alto
Bajo
Kmeans Ejemplo
Contexto
Los datos:
8
Nmero Altura (cm)
1 195
2 166
3 188
4 195
5 179
6 198
7 161
8 179
9 200
10 191
Kmeans Ejemplo
Contexto

La grfica de los datos:
9
Kmeans Ejemplo
160
165
170
175
180
185
190
195
200
49 50 51
Motivacin
Objetivo : Dividir o segmentar un conjunto de datos en una
cantidad predefinida de grupos.
10
Algoritmo de
agrupamiento
= 2
Kmeans Ejemplo
Motivacin
Objetivo : Dividir o segmentar un conjunto de datos en una
cantidad predefinida de grupos.
11
Algoritmo de
agrupamiento
= 2
-
Kmeans Ejemplo
Aplicacin: El algoritmo K means
Inicializacin:
1. Asignar cada elemento a un grupo
Aleatoriamente.






12
Kmeans Ejemplo
N
Altura
(cm)
Clase
1 195
2 166
3 188
4 195
5 179
6 198
7 161
8 179
9 200
10 191
Grupo 1
Grupo 2
Aplicacin: El algoritmo K means
Inicializacin:

Estado inicial grficamente:





13
Kmeans Ejemplo
Grupo 1
Grupo 2
160
165
170
175
180
185
190
195
200
49 50 51
190
160
165
170
175
180
185
190
195
200
49 50 51
Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Medida de distancia


14
Kmeans Ejemplo
=
1

2
2

182
=
195 +195 + 179 + 191
4
=
=
166 +188 +198 +161 + 179 + 200
6
=
190
160
165
170
175
180
185
190
195
200
49 50 51
Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Medida de distancia

Asignar cada elemento al grupo cuyo
centroide est ms cerca.

Comenzamos por arriba

15
Kmeans Ejemplo
=
1

2
2

182
Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Primer punto:

1
<
2



Segundo punto:

1
<
2


16
Kmeans Ejemplo
=
1

2
2

Grupo 1
Grupo 2
190
160
165
170
175
180
185
190
195
200
49 50 51
182
Valor


200 100 40000
Valor


198 64 39204
Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Tercer Dcimo punto:





17
Kmeans Ejemplo
=
1

2
2

Grupo 1
Grupo 2
190
182
Valor

Cambio
195 25 169 -
195 25 169 -
191 1 81 -
188 4 35344
179 121 9
179 121 9 -
166 576 256 -
161 841 25921 -
160
165
170
175
180
185
190
195
200
49 50 51
Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Estado Final:





18
Kmeans Ejemplo
=
1

2
2

Grupo 1
Grupo 2
190
182
N
Altura
(cm)
Clase
1 200
2 198
3 195
4 195
5 191
6 188
7 179
8 179
9 166
10 161
160
165
170
175
180
185
190
195
200
49 50 51
194,5 Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Medida de distancia


19
Kmeans Ejemplo
=
1

2
2

171,2
=
200 +198 + 195 2 +191 + 188
6
= ,
=
179 2 + 166 + 161
4
= ,
160
165
170
175
180
185
190
195
200
49 50 51
Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin

Tercer Dcimo punto:





20
Kmeans Ejemplo
=
1

2
2

Grupo 1
Grupo 2
Valor

Cambio
200 30.3 826.6 -
198 12.3 715.6 -
195 0.3 564.1 -
195 0.3 564.1 -
191 12.3 390.1 -
188 42.3 280.6 -
179 240.3 60.1 -
179 240.3 60.1 -
166 812.3 27.6 -
161 1122.3 105.1 -
194,5
171,2
160
165
170
175
180
185
190
195
200
49 50 51
El algoritmo K means: Resultado


21
Kmeans Ejemplo
Grupo 1
Grupo 2
Altos
Bajos
Analizando
los
resultados:
194,5
171,2
160
165
170
175
180
185
190
195
200
49 50 51
En Holanda!
Qu vamos a aprender

Descripcin del problema 1.
Algoritmo Kmeans: Descripcin y aplicacin
Medidas de distancia
Descripcin del problema 2.
Descripcin del problema 3.
Ejercicio Propuesto
Bibliografa









22
Fundamentos

El algoritmo K means

Inicializacin.

Iteracin 1
Paso 1
Iteracin 2: Por cada elemento
Paso 2
Condicin de terminacin.
23
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Batch update
Fundamentos

El algoritmo K means: Alternativa

Inicializacin.

Iteracin 1
Iteracin 2: Por cada elemento
Paso 1
Paso 2
Condicin de terminacin.
24
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Online update
Fundamentos: El algoritmo K means

Inicializacin:

1. Asignar cada elemento a un grupo
Aleatoriamente.
Segn umbral.
Promedio.
Estimarlo.
Experto.
Algoritmo adicional.

25
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

26
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

27
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
?
Fundamentos: El algoritmo K means


Recordando: Qu es un centroide?

Punto central de un conjunto de datos o
clster.
Punto que minimiza la distancia total entre
cada punto del clster y el centro.
28
Kmeans Ejemplo
Fundamentos: El algoritmo K means


Cmo medir que tan cercanos estn dos
elementos ?


Usar medida de distancia
29
Kmeans Ejemplo
Fundamentos: El algoritmo K means

Medida de distancia

Funcin numrica que indica una medida de cercana o
similitud entre un par de observaciones.

Propiedades que debe cumplir:

1. , = ,
2. , > 0 si
3. , = 0 si =
4. , , + , (desigualdad triangular)

30
Kmeans Ejemplo
Fundamentos: El algoritmo K means

Medida de distancia

Propiedades que debe cumplir:

1. , = ,


2. , > 0 si

31
Kmeans Ejemplo
P
Q
,
,
> 0
Fundamentos: El algoritmo K means

Medida de distancia

Propiedades que debe cumplir:

3. , = 0 si =




32
Kmeans Ejemplo
P Q
, = 0
Fundamentos: El algoritmo K means

Medida de distancia

Propiedades que debe cumplir:





4. , , + , (desigualdad triangular)

33
Kmeans Ejemplo
P
Q
R
,
,
,
Fundamentos: El algoritmo K means

Medida de distancia

Las ms usadas:
Distancia geomtrica o euclidiana:
Raz de las diferencias al cuadrado.
Centroide: Promedio.
City Block:
Suma de las diferencias absolutas.
Centroide: Mediana.

Otras:
Coseno.
Correlacin.
Hamming.


34
Kmeans Ejemplo
P
Q
,
P
Q
,
Geomtrica o euclidiana
City Block
Fundamentos: El algoritmo K means

Medida de distancia: Calculo del centroide
Promedio.
Mediana.


35
Kmeans Ejemplo
156
170
130
144
{170, 256}
{30, 44}
1 variable
2 variables
3 variables
{30, 6, 15}
{20, 14, 7}
{25, 10, 23}
Fundamentos: El algoritmo K means

Medida de distancia
Aplicacin de las propiedades de la medida de distancia

Distancia euclidiana
1. , = ,


Kmeans Ejemplo
= 0,2
= 4,0
36
, = 0 4
2
+ 2 0
2
= ,
, = 4 0
2
+ 0 2
2
= ,
, = ,
Fundamentos: El algoritmo K means

Medida de distancia
Aplicacin de las propiedades de la medida de distancia

Distancia euclidiana
2. , > 0 si



Kmeans Ejemplo
= 0,2
= 4,0
37
, = 0 4
2
+ 2 0
2
= ,
, > si

Fundamentos: El algoritmo K means

Medida de distancia
Aplicacin de las propiedades de la medida de distancia

Distancia euclidiana
3. , = 0 si =


Kmeans Ejemplo
= 2,1
= 2, 1
38
, = 2 2
2
+ 1 1
2
=
, = si =
=
Fundamentos: El algoritmo K means

Medida de distancia
Aplicacin de las propiedades de la medida de distancia

Distancia euclidiana
4. , , + ,


Kmeans Ejemplo
= 0,2
= 4,0
39
, = ,
, , + ,
= 4,2
, =
, =
+

Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

40
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

41
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

42
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin


Se reasign algn elemento?

Si

Volver a iterar Regresar a Paso 1


43
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

44
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

45
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Iteracin 1:

1. Calcular centroides

2. Iteracin 2

3. Condicin de terminacin

46
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Fundamentos: El algoritmo K means

Aplicacin: El algoritmo K means
Iteracin 1:
1. Calcular centroides
2. Iteracin 2
3. Condicin de terminacin


Se reasign algn elemento?

No

Terminamos


47
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
Qu vamos a aprender

Descripcin del problema 1.
Algoritmo Kmeans: Descripcin y aplicacin
Medidas de distancia
Descripcin del problema 2.
Descripcin del problema 3.
Ejercicio Propuesto
Bibliografa









48
Kmeans Ejemplo
Contexto
Se quiere clasificar en dos grupos un conjunto de
personas de Guatemala de acuerdo a su estatura.
Para cada persona se sabe su estatura en centmetros.
Se quiere clasificar cada persona como alta o baja.
49
Estatura: 148 cm

Alto
Bajo
Contexto
Se cuenta con las estaturas de 10 personas
guatemaltecas. Se quiere saber si clasifican como altas o
bajas
50
Datos
Alto
Bajo
Kmeans Ejemplo
Contexto
Los datos:
51
Nmero Altura (cm)
1
138
2
149
3
142
4
177
5
142
6
157
7
168
8
149
9
177
10
151
Kmeans Ejemplo
Contexto

La grfica de los datos:
52
Kmeans Ejemplo
135
145
155
165
175
49 50 51
Fundamentos

El algoritmo K means

Inicializacin.

Iteracin 1
Paso 1
Iteracin 2: Por cada elemento
Paso 2
Condicin de terminacin.
53
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
El algoritmo K means: Resultado


54
Kmeans Ejemplo
Grupo 1
Grupo 2
Bajos
Altos
Analizando
los
resultados:
146,4
173
En Guatemala!
135
140
145
150
155
160
165
170
175
180
49 50 51
Qu vamos a aprender

Descripcin del problema 1.
Algoritmo Kmeans: Descripcin y aplicacin
Medidas de distancia
Descripcin del problema 2.
Descripcin del problema 3.
Ejercicio Propuesto
Bibliografa









55
Kmeans Ejemplo
Contexto
Se quiere clasificar en dos grupos un conjunto de
personas de Guatemala y de Holanda de acuerdo a su
estatura.
Para cada persona se sabe su estatura en centmetros.
Se quiere clasificar cada persona como alta o baja.
56
Estatura: 148 cm

Alto
Bajo
Contexto
Se cuenta con las estaturas de 20 personas guatemaltecas
y holandesas. Se quiere saber si clasifican como altas o
bajas
57
Datos
Alto
Bajo
Kmeans Ejemplo
Contexto
Los datos:
58
Nmero Altura (cm)
1
138
2
149
3
142
4
177
5
142
6
157
7
168
8
149
9
177
10
151
Kmeans Ejemplo
Nmero Altura (cm)
11 195
12 166
13 188
14 195
15 179
16 198
17 161
18 179
19 200
20 191
Contexto

La grfica de los datos:
59
Kmeans Ejemplo
135
140
145
150
155
160
165
170
175
180
185
190
195
200
49 50 51
Contexto

La grfica de los datos discriminado
por pas de origen:
60
Kmeans Ejemplo
135
145
155
165
175
185
195
49 51
Fundamentos

El algoritmo K means

Inicializacin.

Iteracin 1
Paso 1
Iteracin 2: Por cada elemento
Paso 2
Condicin de terminacin.
61
Kmeans Ejemplo
Inicio
Inicializacin
Paso 1
Paso 2
Fin
Por cada
elemento
Se reasign
algn
elemento?
El algoritmo K means: Resultado


62
Kmeans Ejemplo
Grupo 1
Grupo 2
Bajos
Altos
Analizando
los
resultados:
152
188
Holandeses y Guatemaltecos!
135
145
155
165
175
185
195
49 50 51
El algoritmo K means: Resultado

Analizando los resultados:



80% de los holandeses Altos

80% de los guatemaltecos Bajos

63
Kmeans Ejemplo
135
145
155
165
175
185
195
49 51
135
145
155
165
175
185
195
49 51
64
Kmeans Ejemplo


Preguntas?
Kmeans Ejercicio Propuesto
Supongamos que ahora para cada persona se tiene:
Altura
Gnero
Masculino
Femenino

Preguntas:
1. Cuntas clases deberamos generar? (valor de ?)
2. Cmo sugiere realizar la inicializacin?
3. Qu medida de distancia podramos usar?
Valdela.
65
Referencias
[1] Data Mining: Practical Machine Learning Tools and
Techniques, I. H. Witten, E. Frank & M. A. Hall, 3. Edicin,
Morgan Kaufmann Publishers, Elsevier, USA, 2011. Pgs 285
288.


66

También podría gustarte