Está en la página 1de 38

Clustering (Agrupamiento)

Dr. Elmer A. Fernndez


Universidad Catlica de Crdoba
Fac. Ingeniera

Definicin
Clustering: Se basa en intentar responder como es que
ciertos Objetos (casos) pertenecen o caen naturalmente en
cierto nmero de clases o grupos, de tal manera que estos
objetos comparten ciertas caractersticas.

Esta definicin asume que los objetos pueden dividirse ,


rasonablemente, en grupos que contienen objetos similares.
Si tal divisin existe, sta puede estar oculta y debe ser
descubierta.Este es el objetivo principal de las tcnicas o
estudios de clustering

Objetos (Datos) y Variables


Un Objeto es un dato, el cual esta formado
por un conjunto finito de variables.
Variables:

Numricas: son nmeros reales en general


Nominales : Son variables discretas pero que no
tienen un orden especificado (color de ojos)
Ordinales: Son variables discretas con una
relacin de orden (temp. Alta, Media, baja)
Binarias: solo pueden tomar dos estados posibles
(dicotmicas)

Medidas de Disimilaridad
(Similaridad)
Asocian

un nmero (dij) a un par de


Objetos/Datos (i,j) , donde: (Sea S el
subespacio de objetos a clasificar)
dij

0 para todo i, j S

dij

= 0 para todo i==j S

dij

= dji para todo i, j S

dij diz +

dzj

Distancias
p

d ij Wk xik x jk

City-Block

k 1

d ij

Wk xik x jk

d ij

Wk xik x jk 0

Eucldea

k 1

k 1

Minkowski

Distancias
p

d ij

x
k 1

ik

x jk

2
x
ik

2
x
jl

k 1

l 1

d ij

x
k 1

ik

xi x jk x j

2
2

x
ik i jl j
p

k 1

l 1

Problemas frecuentes
Incompatibilidad

en las Unidades de

Medida
Variables

de distinto tipo (Numericas,


Nominales,etc..)

Variables

faltantes (Missing Values)

Tipos de Clustering
Jerrquico

(Hierarchical) :
dendrogramas, Grafos (Arboles)

De

particin: Divisin en grupos (SOM,


LVQ, etc.)

Clustering Jerrquico
Dendrogramas
El primer paso es calcular las distancias entre
todos los pares de objetos. Esto es lo mismo
que asumir que cada objeto constituye un
cluster: {C1, ...,CN}.
2. Se buscan los dos clusters ms cercanos (Ci,
Cj), stos se juntan y constituyen uno solo Cij.
3. Se repite el paso 2 hasta que no quedan pares
de comparacin.
En general se representan como rboles binarios.
1.

Clustering Jerrquico
Dendrogramas

La cuestin crtica de este mtodo es la


forma de juntar los clusters entre s, se
utilizan bsicamente tres formas:

Enlace simple

Enlace promediado

Enlace completo

Clustering Jerrquico
Dendrogramas: Ejemplo en matlab
Datos=[ 0.8 1.8;...
1.1 1.6;...
0.8 1.3;...
1.0 0.9;...
1.4 0.6;...
1.5 0.1;...
1.1 0.1];
En formato Matlab

Clustering Jerrquico
Dendrogramas: Enlace simple
(Single
Linkeage
)
1.
El primer
paso (comn
a todos los
mtodos) es calcular la matriz de
distancias o matriz de disimilaridad.
2. Buscar el par mas cercano.
D1
D2
D3
D4
D5
D6
D7

0.3606
0.5000
0.9220
1.3416
1.8385
1.7263
D1

0.4243
0.7071
1.0440
1.5524
1.5000
D2

0.4472
0.9220
1.3892
1.2369
D3

0.5000
0.9434
0.8062
D4

0.5099
0.5831
D5

0.4000
D6
D7

1.

Clustering Jerrquico
Dendrogramas: Enlace simple
(Single
Linkeage
) cluster y me
Los junto,
formo un nuevo
quedo con las mnimas distancias de
ambos clusters.
0.3606

D1
D2
D3
D4
D5
D6
D7

0.5000
0.9220
1.3416
1.8385
1.7263
D1

0.4243
0.7071
1.0440
1.5524
1.5000
D2

0.4472
0.9220
1.3892
1.2369
D3

0.5000
0.9434
0.8062
D4

D1/D2=D8
D3
D4
D5
D6
D7

0.5099
0.5831
D5

0.4243
0.7071
1.3416
1.5524
1.5000
D1/D2=D8

0.4000
D6
D7

0.4472
0.9220
1.3892
1.2369
D3

0.5000
0.9434
0.8062
D4

0.5099
0.5831
D5

0.4000
D6

D7

Clustering Jerrquico
Dendrogramas: Enlace
(Single Linkeage)

D1/D2=D8
D3
D4
D5
D6
D7

0.4243
0.7071
1.3416
1.5524
1.5000
D1/D2=D8

0.4472
0.9220
1.3892
1.2369
D3

0.5000
0.9434
0.8062
D4

0.5099
0.5831
D5

0.4000
D6

D8
D3
D4
D5
D6/D7=D9

0.4243
0.7071
1.3416
1.5000
D8

simple

D7

0.4472
0.9220
1.2369
D3

0.5000
0.8062
D4

0.5831
D5

D6/D7=D9

D8
D3
D4
D5
D6/D7=D9

Clustering Jerrquico
Dendrogramas: Enlace
(Single Linkeage)
0.4243
0.7071
1.3416
1.5000

D8

0.4472
0.9220
1.2369
D3

0.5000
0.8062
D4

0.5831
D5

simple

D6/D7=D9

D3/D8=D10
D4
D5
D9

0.4472
0.9220
1.2369
D3/D8=D10

0.5000
0.8062
D4

0.5831
D5

D9

Clustering Jerrquico
Dendrogramas: Enlace
(Single Linkeage)

D3/D8=D10
D4
D5
D9

0.4472
0.9220
1.2369
D3/D8=D10

0.5000
0.8062
D4

0.5831
D5

D4/D10=D11
D5
D9

simple

D9

0.5000
0.8062
0.5831
D4/D10=D11 D5

D5/D11
D9

D9

0.5831
D5/D11

D9

Clustering Jerrquico
Dendrogramas: Enlace
(Single Linkage)

simple

Clustering de Particin
KMeans
El

algoritmo de las K-medias es otro


algoritmo de particin. Bsicamente
este algoritmo busca formar clusters
(grupos) los cuales sern
representados por K objetos. Cada uno
de estos K objetos es el valor medio de
los objetos que pertenecen a dicho
grupo.

Clustering de Particin
KMeans
1.

2.

Inicialmente se seleccionan K objetos del


conjunto de entrada. Estos K Objetos sern
los centroides iniciales de los K-grupos.
Se calculan las distancias de los
objetos(datos) a cada uno de los
centroides. Los Datos (Objetos) se asignan
a aquellos grupos cuya distancia es mnima
con respecto a todos los centroides.

Clustering de Particin
KMeans
Se actualizan los centroides como el
valor medio de todos los objetos
asignados a ese grupo.
4. Se repite el paso 2 y 3 hasta que se
satisface algn criterio de
convergencia.
KMdemo
3.

Clustering de Particin
KMeans
at1
d1
d2
d3
d4
d5
d6
d7
d8
d9

at2
0.8
1.1
0.8
1
1.4
1.5
1.1
0.5
1.5

K=2
1.8
1.6
1.3
0.9
0.6
0.1
0.1
2.4
0.4

centroides
c1
c2

0.8
1.1

1.8 d1
1.6 d2

Clustering de Particin
KMeans
distancias a centroides
c2
c1
d1
0 0.360555 iter 1
d2
0.360555
0
d3
0.5 0.424264
d4
0.921954 0.707107
d5
1.341641 1.044031
d6
1.838478 1.552417
d7
1.726268
1.5
d8
0.67082
1
d9
1.565248 1.264911

Ndatos
c1
c2

0.7 1.83333333 d1,d3,d8

1.26666667 0.61666667 d2,d4,d5,d6,d

Clustering de Particin
KMeans
c1
d1
d2
d3
d4
d5
d6
d7
d8
d9

0.105409
0.463081
0.542627
0.980363
1.418136
1.909043
1.778889
0.600925
1.641476

c2

1.272028
0.997358
0.827479
0.389087
0.134371
0.566912
0.542883
1.941148
0.318416

iter 2

c1

0.8

c2

1.3

1.775 d1,d2,d3,d8
d4,d5,d6,d7,
0.42 d9

Clustering de Particin SelfOrganizing Maps


Los Mapas Autoorganizativos o SelfOrganizing Maps es un modelo de red
neuronal desarrollado por Teuvo Kohonen en
los 80s.
Bsicamente este modelo procesa una base
de datos, resultando en un mapa (usualmente
bidimensional) donde casos similares se
mapean en regiones cercanas.
De esta manera vecindad significa
similaridad.

Clustering de Particin SelfOrganizing Maps


La

estructura de este modelo es una


capa de nodos (uni, bi o tridimensional).
La disposicin de los nodos es sobre
un espacio geomtrico y no estn
conectados entre si.
Todos los nodos se conectan a las
mismas entradas del modelo.

Clustering de Particin SelfOrganizing Maps

Clustering de Particin SelfOrganizing Maps

Disposicin de los
nodos en el array

Clustering de Particin SelfOrganizing Maps

Funcionamiento

Clustering de Particin SelfOrganizing Maps: Entrenamiento


1.

2.
3.

Se inicializan los
pesos de cada
nodo (por ej.
aleatoriamente.)
Se presenta una
entrada a la red.
Se busca el nodo
ganador

4.

5.

Se actualizan los
pesos del nodo
ganador y de sus
vecinos.
Se vuelve al paso
2 hasta que se
satisface el criterio
de detencin
impuesto.

Clustering de Particin SelfOrganizing Maps: Entrenamiento

Consideraciones Iniciales:

Seleccin de la dimensin de la red


Seleccin de la cantidad de nodos
Seleccin de una medida de similaridad
Inicializacin aleatoria de pesos
Seleccin del coeficiente de aprendizaje
Eleccin de una vecindad inicial.

Clustering de Particin SelfOrganizing Maps: Entrenamiento

Bsqueda del nodo


ganador:

X L W png arg min X L Wk


c

Actualizacin de
los pesos:

Wk n 1 Wk n n X L Wk n
Wk n 1 Wk n

si k V n
si k V n

Clustering de Particin SelfOrganizing Maps: Entrenamiento

Clustering de Particin SelfOrganizing Maps: Resultado


Espacio de Entrada

Vectores
de Pesos

Espacio de Salida (Mapa)

Nodos

Clustering de Particin SelfOrganizing Maps: Ejemplo


Toy problem: Base de datos de animales
pequeo
mediano? grande? bpedo ? cuadrup ?
?
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1

pelo ?

garras
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1

melena
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1

plumas
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0

Caza ?
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0

corre ?
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0

vuela ?
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0

Nada ?
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0

dove
hen
duck
goose
owl
hawk
eagle
fox
dog
wolf
cat
tiger
lion
horse
zebra
cow

Clustering de Particin SelfOrganizing Maps: Ejemplo


Toy problem: Mapa de animales

Clustering de Particin SelfOrganizing Maps: Ejemplo


Toy problem: Mapa de animales (Distancias Clusters)

Clustering de Particin SelfOrganizing Maps: Ejemplo


Toy problem: presentacin de un nuevo caso
pequeo ?mediano? grande? bpedo ? cuadrup ? pelo ?

garras melena plumas Caza ? corre ? vuela ? Nada ?

MAN

Clustering de Particin SelfOrganizing Maps: Ejemplo


Hijoe tigre !!!