Está en la página 1de 38

Clustering (Agrupamiento)

Dr. Elmer A. Fernndez


Universidad Catlica de Crdoba
Fac. Ingeniera
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
Definicin
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 (d
ij
) a un par de
Objetos/Datos (i,j) , donde: (Sea S el
subespacio de objetos a clasificar)
d
ij
> 0 para todo i, j eS
d
ij
= 0 para todo i==j eS
d
ij
= d
ji
para todo i, j eS
d
ij s
d
iz
+ d
zj
Distancias
( )

=
=
p
k
jk ik k ij
x x W d
1
2

=
=
p
k
jk ik k ij
x x W d
1
( ) 0
1
> =

=


p
k
jk ik k ij
x x W d
City-Block
Eucldea
Minkowski
Distancias

= =
=

=
p
l
p
k
p
k
jk ik
ij
jl ik
x x
x x
d
1
2
1
2
1
( ) ( )
( ) ( )

= =
=


=
p
l
j jl
p
k
i ik
p
k
j jk i ik
ij
x x x x
x x x x
d
1
2
1
2
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
1. 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: {C
1
, ...,C
N
}.
2. Se buscan los dos clusters ms cercanos
(C
i
, C
j
), stos se juntan y constituyen uno
solo C
ij
.
3. Se repite el paso 2 hasta que no quedan
pares de comparacin.
En general se representan como rboles
binarios.
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 0.3606
D3 0.5000 0.4243
D4 0.9220 0.7071 0.4472
D5 1.3416 1.0440 0.9220 0.5000
D6 1.8385 1.5524 1.3892 0.9434 0.5099
D7 1.7263 1.5000 1.2369 0.8062 0.5831 0.4000
D1 D2 D3 D4 D5 D6 D7
Clustering Jerrquico )
Dendrogramas: Enlace simple
(Single Linkeage)
1. Los junto, formo un nuevo cluster y me
quedo con las mnimas distancias de
ambos clusters.
D1
D2 0.3606
D3 0.5000 0.4243
D4 0.9220 0.7071 0.4472
D5 1.3416 1.0440 0.9220 0.5000
D6 1.8385 1.5524 1.3892 0.9434 0.5099
D7 1.7263 1.5000 1.2369 0.8062 0.5831 0.4000
D1 D2 D3 D4 D5 D6 D7
D1/D2=D8
D3 0.4243
D4 0.7071 0.4472
D5 1.3416 0.9220 0.5000
D6 1.5524 1.3892 0.9434 0.5099
D7 1.5000 1.2369 0.8062 0.5831 0.4000
D1/D2=D8 D3 D4 D5 D6 D7
Clustering Jerrquico )
Dendrogramas: Enlace simple
(Single Linkeage)
D1/D2=D8
D3 0.4243
D4 0.7071 0.4472
D5 1.3416 0.9220 0.5000
D6 1.5524 1.3892 0.9434 0.5099
D7 1.5000 1.2369 0.8062 0.5831 0.4000
D1/D2=D8 D3 D4 D5 D6 D7
D8
D3 0.4243
D4 0.7071 0.4472
D5 1.3416 0.9220 0.5000
D6/D7=D9 1.5000 1.2369 0.8062 0.5831
D8 D3 D4 D5 D6/D7=D9
Clustering Jerrquico )
Dendrogramas: Enlace simple
(Single Linkeage)
D8
D3 0.4243
D4 0.7071 0.4472
D5 1.3416 0.9220 0.5000
D6/D7=D9 1.5000 1.2369 0.8062 0.5831
D8 D3 D4 D5 D6/D7=D9
D3/D8=D10
D4 0.4472
D5 0.9220 0.5000
D9 1.2369 0.8062 0.5831
D3/D8=D10 D4 D5 D9
Clustering Jerrquico )
Dendrogramas: Enlace simple
(Single Linkeage)
D3/D8=D10
D4 0.4472
D5 0.9220 0.5000
D9 1.2369 0.8062 0.5831
D3/D8=D10 D4 D5 D9
D5/D11
D9 0.5831
D5/D11 D9
D4/D10=D11
D5 0.5000
D9 0.8062 0.5831
D4/D10=D11 D5 D9
Clustering Jerrquico )
Dendrogramas: Enlace simple
(Single Linkage)
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. Inicialmente se seleccionan K objetos del
conjunto de entrada. Estos K Objetos sern
los centroides iniciales de los K-grupos.
2. 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
3. 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
Clustering de Particin )
KMeans
at1 at2 K=2 centroides
d1 0.8 1.8 c1 0.8 1.8 d1
d2 1.1 1.6 c2 1.1 1.6 d2
d3 0.8 1.3
d4 1 0.9
d5 1.4 0.6
d6 1.5 0.1
d7 1.1 0.1
d8 0.5 2.4
d9 1.5 0.4
Clustering de Particin )
KMeans
distancias a centroides
c1 c2 Ndatos
d1 0 0.360555 iter 1 c1 0.7 1.83333333 d1,d3,d8
d2 0.360555 0 c2 1.26666667 0.61666667 d2,d4,d5,d6,d7,d9
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
Clustering de Particin )
KMeans
c1 c2 iter 2 c1 0.8 1.775 d1,d2,d3,d8
d1 0.105409 1.272028 c2 1.3 0.42
d4,d5,d6,d7,
d9
d2 0.463081 0.997358
d3 0.542627 0.827479
d4 0.980363 0.389087
d5 1.418136 0.134371
d6 1.909043 0.566912
d7 1.778889 0.542883
d8 0.600925 1.941148
d9 1.641476 0.318416
Clustering de Particin ) Self-
Organizing Maps
Los Mapas Autoorganizativos o Self-
Organizing 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 ) Self-
Organizing 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 ) Self-
Organizing Maps
Clustering de Particin ) Self-
Organizing Maps
Disposicin de los
nodos en el array
Clustering de Particin ) Self-
Organizing Maps
Funcionamiento
Clustering de Particin ) Self-
Organizing Maps: Entrenamiento
1. Se inicializan los
pesos de cada
nodo (por ej.
aleatoriamente.)
2. Se presenta una
entrada a la red.
3. Se busca el nodo
ganador
4. Se actualizan los
pesos del nodo
ganador y de sus
vecinos.
5. Se vuelve al paso
2 hasta que se
satisface el criterio
de detencin
impuesto.
Clustering de Particin ) Self-
Organizing 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 ) Self-
Organizing Maps: Entrenamiento
Bsqueda del nodo
ganador:


Actualizacin de
los pesos:

{ }
k
L
c
png
W X W X
L
= min arg

| | | | | | | |
| | | |
| |
| | n V k si
n V k si
n n
n n n n
k k
k
L
k k
e
e
= +
+ = +
W W
W X W W
1
1 o
Clustering de Particin ) Self-
Organizing Maps: Entrenamiento


Clustering de Particin ) Self-
Organizing Maps: Resultado


Vectores
de Pesos
Espacio de Entrada
Espacio de Salida (Mapa)
Nodos
Clustering de Particin ) Self-
Organizing Maps: Ejemplo
pequeo
?
mediano? grande? bpedo ? cuadrup ? pelo ? garras melena plumas Caza ? corre ? vuela ? Nada ?
1 0 0 1 0 0 0 0 1 0 0 1 0 dove
1 0 0 1 0 0 0 0 1 0 0 0 0 hen
1 0 0 1 0 0 0 0 1 0 0 1 1 duck
1 0 0 1 0 0 0 0 1 0 0 0 1 goose
1 0 0 1 0 0 0 0 1 1 0 1 0 owl
1 1 0 1 0 0 0 0 1 1 0 1 0 hawk
0 1 0 1 0 0 0 0 1 1 0 1 0 eagle
0 1 0 0 1 1 0 0 0 1 0 0 0 fox
0 1 0 0 1 1 0 0 0 0 1 0 0 dog
0 1 0 0 1 1 0 1 0 1 1 0 0 wolf
1 0 0 0 1 1 0 0 0 1 0 0 0 cat
0 0 1 0 1 1 0 0 0 1 1 0 0 tiger
0 0 1 0 1 1 0 1 0 1 1 0 0 lion
0 0 1 0 1 1 1 1 0 0 1 0 0 horse
0 0 1 0 1 1 1 1 0 0 0 0 0 zebra
0 0 1 0 1 1 1 0 0 0 0 0 0 cow
Toy problem: Base de datos de animales
Clustering de Particin ) Self-
Organizing Maps: Ejemplo
Toy problem: Mapa de animales
Clustering de Particin ) Self-
Organizing Maps: Ejemplo
Toy problem: Mapa de animales (Distancias Clusters)
Clustering de Particin ) Self-
Organizing Maps: Ejemplo
Toy problem: presentacin de un nuevo caso
pequeo ?mediano? grande? bpedo ? cuadrup ? pelo ? garras melena plumas Caza ? corre ? vuela ? Nada ?
0 0 1 1 0 1 0 0 0 1 1 0 1 MAN
Clustering de Particin ) Self-
Organizing Maps: Ejemplo
Hijoe tigre !!!

También podría gustarte