Está en la página 1de 63

Clustering

Fernando Berzal, berzal@acm.org

Clustering



Introduccin
Medidas de similitud







Para atributos continuos: Mtricas de distancia.


Para atributos no continuos, p.ej. distancia de edicin.

Mtodos de agrupamiento
 K-Means
 DBSCAN
 Clustering jerrquico
Evaluacin de resultados
Validacin de resultados
Apndice: El problema de la dimensionalidad
1

Introduccin
Sinnimos segn el contexto


Clustering (IA)

Aprendizaje no supervisado (IA)

Ordenacin (Psicologa)

Segmentacin (Marketing)
2

Introduccin
Objetivo
Encontrar agrupamientos de tal forma que los objetos
de un grupo sean similares entre s y diferentes de los
objetos de otros grupos [clusters].
Minimizar
distancia
intra-cluster

Maximizar
distancia
inter-cluster

Introduccin


Aprendizaje no supervisado:
No existen clases predefinidas.

Los resultados obtenidos dependern de:


 El algoritmo de agrupamiento seleccionado.
 El conjunto de datos disponible.
 La medida de similitud utilizada para comparar
objetos (usualmente, definida como medida de
distancia).
4

Introduccin

Cuntos
agrupamientos?

Seis?

Dos?

Cuatro?
5

Introduccin
Aplicaciones
 Reconocimiento de formas.
 Mapas temticos (GIS)
 Marketing: Segmentacin de clientes
 Clasificacin de documentos
 Anlisis de web logs (patrones de acceso similares)

Tambin se usa como paso previo
a otras tcnicas de Minera de Datos:
 Exploracin de datos (segmentacin & outliers)
outliers)
 Preprocesamiento (p.ej. reduccin de datos)

Medidas de similitud
Cul es la forma natural de agrupar los personajes?

Mujeres
vs.
Hombres
7

Medidas de similitud
Cul es la forma natural de agrupar los personajes?

Simpsons
vs.
Empleados de
la escuela de
Springfield

Medidas de similitud
Cul es la forma natural de agrupar los personajes?

El clustering es subjetivo !!!


9

Medidas de similitud

Peter

Pedro

342.7

0.23
3

10

Medidas de similitud

Grupo 1

Grupo 2

Grupo 3

id

sexo

fechnac

educ

catlab

salario

salini

T.emp

expprev

minora

121

Mujer

6-ago-1936

15

Administrativo

$18.750

$10.500

90

54

No

122

Mujer

26-sep-1965

15

Administrativo

$32.550

$13.500

90

22

No

123

Mujer

24-abr-1949

12

Administrativo

$33.300

$15.000

90

No

124

Mujer

29-may-1963

16

Administrativo

$38.550

$16.500

90

Ausente

No

125

Hombre

6-ago-1956

12

Administrativo

$27.450

$15.000

90

173

126

Hombre

21-ene-1951

15

Seguridad

$24.300

$15.000

90

191

127

Hombre

1-sep-1950

12

Seguridad

$30.750

$15.000

90

209

128

Mujer

25-jul-1946

12

Administrativo

$19.650

$9.750

90

229

129

Hombre

18-jul-1959

17

Directivo

$68.750

$27.510

89

38

No

130

Hombre

6-sep-1958

20

Directivo

$59.375

$30.000

89

No

131

Hombre

8-feb-1962

15

Administrativo

$31.500

$15.750

89

22

No

132

Hombre

17-may-1953

12

Administrativo

$27.300

$17.250

89

175

No

133

Hombre

12-sep-1959

15

Administrativo

$27.000

$15.750

89

87

No

NOTA: No ser posible que todas las variables tengan valores similares en un
mismo grupo, por lo que habr que usar una medida global de semejanza
entre los elementos de un mismo grupo.

11

Medidas de similitud
id

sexo

fechnac

educ

catlab

salario

salini

T.emp

expprev

minora

121

Mujer

6-ago-1936

15

Administrativo

$18.750

$10.500

90

54

No

122

Mujer

26-sep-1965

15

Administrativo

$32.550

$13.500

90

22

No

123

Mujer

24-abr-1949

12

Administrativo

$33.300

$15.000

90

No

124

Mujer

29-may-1963

16

Administrativo

$38.550

$16.500

90

Ausente

No

125

Hombre

6-ago-1956

12

Administrativo

$27.450

$15.000

90

173

126

Hombre

21-ene-1951

15

Seguridad

$24.300

$15.000

90

191

A la hora
de calcular
la
entre$15.000
dos 90objetos:
127
Hombre
1-sep-1950
12 similitud
Seguridad
$30.750
209


128

Mujer

25-jul-1946

129

Hombre

18-jul-1959

17

Administrativo
Directivo

$19.650
$68.750

$9.750
$27.510

90

229

89

38

No tienen por qu utilizarse todos los atributos


131
Hombre
8-feb-1962
15 Administrativo $31.500
$15.750
89
22
disponibles
en
nuestro
conjunto
de
datos.
132
Hombre
17-may-1953
12 Administrativo $27.300
$17.250
89
175
130

133

12

Hombre

Hombre

6-sep-1958

12-sep-1959

20

15

Directivo

Administrativo

$59.375

$27.000

$30.000

89

$15.750

89

87

S
S
No
No
No
No
No

Hay que tener cuidado con las magnitudes de cada


variable.

12

Medidas de similitud
Atributos continuos
Para evitar que unas variables dominen sobre otras,
los valores de los atributos se normalizan a priori:


Desviacin absoluta media:

s f = 1n (| x1 f m f | + | x2 f m f | +...+ | xnf m f |)

m f = 1n (x1 f + x2 f


+ ... +

xnf )

z-score (medida estandarizada):

xif m f
zif =
sf

13

Medidas de similitud
Usualmente, se expresan en trminos de distancias:
d(i,j
d(i,j)) > d(i,k
d(i,k))
nos indica que el objeto i es ms parecido a k que a j

La definicin de la mtrica de similitud/distancia


ser distinta en funcin del tipo de dato y
de la interpretacin semntica que nosotros hagamos.
14

Medidas de similitud
Se suelen usar medidas de distancia
porque verifican las siguientes propiedades:


Propiedad reflexiva

d(
d(i,j
i,j)) = 0 si y slo si i=j

Propiedad simtrica

d(
d(i,j
i,j)) = d(j,i
d(j,i))

Desigualdad triangular d(i,j


d(i,j)) d(i,k
d(i,k)+d(
)+d(k,j
k,j))

15

Medidas de similitud
Mtricas de distancia:
Distancia de Minkowski

Distancia de Manhattan (r=1) / city block / taxicab

Distancia eucldea (r=2):

Distancia de Chebyshev (r
(r) / dominio / chessboard
16

Medidas de similitud
Mtricas de distancia:
Distancia de Minkowski





Distancia de Manhattan = 12
Distancia eucldea 8.5
Distancia de Chebyshev = 6

(roja, azul o amarilla)


(verde - continua)
(verde - discreta)
17

Medidas de similitud
Mtricas de distancia:
Distancia de Chebyshev

Tambin conocida
como distancia de
tablero de ajedrez
(chessboard distance
distance):
):
Nmero de movimientos
que el rey ha de hacer
para llegar de una
casilla a otra en un
tablero de ajedrez.

18

Medidas de similitud
Mtricas de distancia:
Distancia de Mahalanobis

Considera las
correlaciones
entre variables.

No depende de la
escala de medida.
19

Medidas de similitud
Mtricas de distancia para atributos no continuos:
Distancia de edicin = Distancia de Levenshtein
Nmero de operaciones necesario
para transformar una cadena en otra.
d(data mining,
mining, data minino) = 1
d(efecto, defecto) = 1
d(poda, boda) = 1
d(
d(night,natch
night,natch)
) = d(natch,noche
d(natch,noche)
) = 3
Aplicaciones: Correctores ortogrficos, reconocimiento de voz,
deteccin de plagios, anlisis de ADN

Para datos binarios: Distancia de Hamming

20

Medidas de similitud
Mtricas de similitud para atributos no continuos:
Modelos basados en Teora de Conjuntos
Modelo de Tversky

Modelo de Restle

Interseccin
21

Medidas de similitud
Mtricas de similitud para atributos no continuos:
Modelos basados en Teora de Conjuntos
Modelo proporcional

Modelo de Gregson = Coeficiente de Jaccard

Distancia de Tanimoto
22

Medidas de similitud
Otras medidas de similitud:
Vecinos compartidos

Mutual Neighbor Distance


Distance

donde NN(x
NN(xi,xj) es el nmero de vecino de xj con respecto a xi
23

Medidas de similitud
Otras medidas de similitud:
Medidas de correlacin


Producto escalar

Cosine similarity
similarity

Coeficiente de Tanimoto
24

Mtodos de agrupamiento
Tipos de algoritmos de clustering:
clustering:


Agrupamiento por particiones


k-Means
Means,, CLARANS

Mtodos basados en densidad


DBSCAN

Clustering jerrquico
BIRCH, ROCK, CHAMELEON

25

Mtodos de agrupamiento
Clustering por particiones (suele fijarse k)
k=2

Clustering jerrquico (no se fija k)


...

Se obtiene como resultado final


un conjunto de agrupamientos.

26

k-Means


Algoritmo de agrupamiento por particiones.

Nmero de clusters conocido (k).

Cada cluster tiene asociado un centroide


(centro geomtrico del cluster
cluster).
).

Los puntos se asignan al cluster cuyo centroide est


ms cerca (utilizando cualquier mtrica de distancia).

Iterativamente, se van actualizando los centroides en


funcin de las asignaciones de puntos a clusters,
clusters,
hasta que los centroides dejen de cambiar.

27

k-Means
Iteration 6
1
2
3
4
5
3

2.5

1.5

0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

28

k-Means
Iteration 1

Iteration 2

Iteration 3

2.5

2.5

2.5

1.5

1.5

1.5

0.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

Iteration 4

Iteration 5
2.5

1.5

1.5

1.5

0.5

0.5

0.5

-0.5

0.5

1.5

0.5

1.5

1.5

2.5

2.5

-1

-0.5

Iteration 6

-1.5

-1

-2

-1.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

29

k-Means
Inicializacin
 Escoger k centroides aleatoriamente
(hay mtodos ms sofisticados).
 Formar k grupos,
asignando cada punto al centroide ms cercano
Proceso iterativo
Mientras que los centroides cambien:
 Calcular las distancias
de todos los puntos a los k centroides.
centroides.
 Formar k grupos,
asignando cada punto al centroide ms cercano.
 Recalcular los nuevos centroides.
centroides.

30

k-Means
Complejidad
n
k
I
d

=
=
=
=

nmero
nmero
nmero
nmero

de puntos,
de clusters,
clusters,
iteraciones,
de atributos

Problema NP si k no se fija.
Ahora bien, si fijamos los parmetros n, k, d, I:
O( n * k * I * d )

31

k-Means
Cmo se recalculan los centroides?
centroides?
Partiendo de k grupos de puntos,
cada grupo determinar un nuevo centroide mi.


Se elige una medida global (funcin objetivo)


K

SSE = d 2 (mi , x)

m2

i =1 xCi

m1

Se escogen los valores de mi


que minimizan dicha funcin.

C2
C1
32

k-Means
Cmo se recalculan los centroides?
centroides?

SSE = d 2 (mi , x)
i =1 xCi

Cuando se utiliza la distancia eucldea,


eucldea,
SSE se minimiza usando la media aritmtica
(por cada atributo o variable)
xa
xb
xc
m1




=
=
=
=

(0.4,
(0.3,
(0.3,
(0.33,

0.6,
0.2,
0.2,
0.33,

0.6,
0.1,
0.2,
0.3,

0.7)
0.4)
0.4)
0.5)

Cuando se emplea la distancia de Manhattan,


SSE se minimiza usando la mediana.
La media funciona bien con muchas distancias
(por ejemplo, cualquier divergencia de Bregman).
Bregman).

33

k-Means
Estrategia de control en la bsqueda:
Ascensin de colinas por la mxima pendiente
Despus de cada iteracin, no se recuerda el estado
para volver atrs y probar otros posibles centroides.
centroides.
Grafo implcito
(slo se guarda
el ltimo nodo)

Conjunto de
clusters obtenido
tras la iteracin
1

Conjunto de
clusters obtenido
tras la iteracin t

Otros posibles conjuntos


de clusters no explorados

La funcin objetivo
no se mejora  FIN

34

k-Means
Ejercicio
Agrupar los 8 puntos de la
figura en 3 clusters usando
el algoritmo de las K medias.
Centroides iniciales:
A1, A7 y A8
Mtricas de distancia:
 Distancia eucldea.
eucldea.
 Distancia de Manhattan.
 Distancia de Chebyshev.
Chebyshev.
35

k-Means
Ejercicio resuelto
Distancia eucldea

36

k-Means
Ejercicio resuelto
Distancia eucldea

Primera iteracin

Segunda iteracin
37

k-Means
Ejercicio resuelto
Distancia eucldea

Tercera iteracin

Configuracin final
38

k-Means

DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html 39

Evaluacin de resultados

Minimizar
distancia
intra-cluster
(cohesin)

Maximizar
distancia
inter-cluster
(separacin)

40

Evaluacin de resultados
Formas de medir cohesin y separacin:


Sin usar centroides:


centroides:

Usando centroides:
centroides:

41

Evaluacin de resultados
Cuando la distancia utilizada es la distancia eucldea:
eucldea:
1.

El uso de centroides no influye al medir la cohesin:

dist 2 (mi , x) =
xCi

2(# Ci ) xCi

SSE = dist (mi , x) =


2

i =1 xCi

2.

i =1

dist

( x, y )

yCi

2(# Ci ) xCi

dist

( x, y )

yCi

Minimizar cohesin y maximizar separacin


son equivalentes.
42

Evaluacin de resultados
As pues, cuando se usa la distancia eucldea,
eucldea,
SSE es una buena medida del grado de ajuste
(cohesin y separacin) de los centroides hallados.
K

SSE = d 2 (mi , x)
i =1 xCi

Por otro lado, ya sabamos que, en cada iteracin del


algoritmo de las kk-medias, se maximizaba SSE al
calcular los centroides usando la media aritmtica.
Garantiza lo anterior que los centroides finales sean
los que minimicen SSE globalmente? NO
43

Evaluacin de resultados
Cuando usamos la distancia eucldea,
eucldea,
el centroide determinado en cada iteracin por el
vector de medias garantiza la mejor solucin con
respecto a SSE, pero considerando:
 un valor de k fijo, y
 los centroides dados por la iteracin anterior.
La solucin final no ser la ptima:
El algoritmo de las k medias no garantiza que los
centroides finales obtenidos sean los que minimizan
globalmente la funcin objetivo SSE.
44

Evaluacin de resultados

2.5

2.5

1.5

1.5

0.5

0.5

-2

- 1.5

-1

-0.5

0.5

Solucin ptima

1.5

-2

-1.5

-1

-0.5

0.5

1.5

Posible resultado
proporcionado por k-means
ptimo local

45

Evaluacin de resultados
Iteration 5
1
2
3
4
3

2.5

1.5

0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

46

Evaluacin de resultados
Iteration 1

Iteration 2

2.5

2.5

1.5

1.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

Iteration 3

2.5

1.5

1.5

1.5

0.5

0.5

0.5

-0.5

0.5

1.5

1.5

2.5

2.5

-1

Iteration 5

-1.5

0.5

Iteration 4

-2

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

47

Evaluacin de resultados
Matriz de similitud
Ordenamos los datos en la matriz de similitud con
respecto a los clusters en los que quedan los datos e
inspeccionamos visualmente
1

10

0.9

20

0.8

0.7

30

0.7

0.6

40

0.6

50

0.5

60

0.4

0.3

70

0.3

0.2

80

0.2

C1

C1

0.8

0.5

C2

0.4

C2

0.1
0

C3

0.2

0.4

0.6

0.8

C3
1

Points

0.9

90

0.1

100

20

40

60

80

0
100Similarity

Points

C1

C2

C3

48

Evaluacin de resultados
1

Points

Problema
Incluso en datos aleatorios,
si nos empeamos,
encontramos clusters
clusters::
DBSCAN (arriba) y
k-Means (abajo)

10

0.9

20

0.8

30

0.7

40

0.6

50

0.5

60

0.4

70

0.3

80

0.2

90
100

0.1
20

40

60

80

0
100 Similarity

Points
1
0.9
1
10

0.9

0.7

20

0.8

0.6

30

0.7

0.5

40

0.6

50

0.5

60

0.4

70

0.3

80

0.2

90

0.1

Points

0.8

0.4
0.3
0.2
0.1
0

0.2

0.4

0.6

0.8

100

20

40

60

Points

80

0
100 Similarity

49

Evaluacin de resultados
Matriz de similitud
DBSCAN

1
2

1
7

0.9
500

0.8
0.7

1000

0.6
1500

0.5
0.4

2000

0.3
0.2

2500

0.1
3000

500

1000

1500

2000

2500

3000

50

k-Means
Problema
Sensible a la eleccin inicial de los centroides.
centroides.
Posibles soluciones


Realizar varias ejecuciones con varios conjuntos de


centroides iniciales y comparar resultados (GRASP).

Estimar a priori unos buenos centroides:


centroides:
- Mtodos especficos: kk--means
means++
++
- Escoger una muestra y aplicar un mtodo jerrquico.
51

k-Means
Problema
Hay que elegir a priori el valor de k
(a priori, no sabemos cuntos grupos puede haber).
Posibles soluciones


Usar un mtodo jerrquico sobre una muestra de los


datos (por eficiencia) para estimar el valor de k.

Usar un valor de k alto, ver los resultados y ajustar.


Siempre que se aumente el valor de k, disminuir el valor SSE.
Lo normal ser ir probando con varios valores de k
y comprobar cundo no hay una mejora significativa en SSE.

52

k-Means

k=1
SSE = 873.0

k=2
SSE = 173.1

k=3
SSE = 133.6

53

k-Means
1.00E+03
9.00E+02
8.00E+02
7.00E+02
6.00E+02
5.00E+02
4.00E+02
3.00E+02
2.00E+02
1.00E+02
0.00E+00
1

El codo en k=2 sugiere que ste es el valor ms


adecuado para el nmero de agrupamientos.
54

k-Means
Problema
Cuando se usan la media para calcular los centroides,
centroides,
el mtodo es sensible a outliers (valores anmalos).
Posibles soluciones




Usar medianas en vez de medias


(aun con la distancia eucldea).
eucldea).
Eliminar previamente los outliers.
outliers.
Ojo! Los outliers pueden ser valores interesantes
Usar kk-medoids
medoids:: En vez de usar el vector de medias
como centroide,
centroide, se usa el vector correspondiente
a un dato real (un representante).

55

k-Means
Problema
Manejo de atributos no numricos.
Posibles soluciones


Extender la medida de similitud para que incluya


atributos nominales, p.ej.
d(
d(a,b
a,b)) = 1 si a=b, 0 en otro caso
Elegir como representante en el centroide
la moda de los datos asignados a dicho cluster
(mtodo kk-mode
mode).
).

56

k-Means
Problema
K-Means no funciona bien cuando los clusters son:


de distinto tamao

de diferente densidad

no convexos

57

k-Means
Clusters de distinto tamao

Puntos originales

k-Means (3 clusters)
58

k-Means
Clusters de distinta densidad

Puntos originales

k-Means (3 clusters)
59

k-Means
Clusters no convexos

Puntos originales

k-Means (2 clusters)
60

k-Means
Problema
K-Means no funciona bien cuando los clusters son:
 de distinto tamao
 de diferente densidad
 no convexos
Posibles soluciones


Mtodos adad-hoc.

Usar un valor de k alto y revisar los resultados.


61

k-Means
Clusters de distinto tamao

62

k-Means
Clusters de distinta densidad

63

k-Means
Clusters no convexos

64

k-Means
Pre--procesamiento
Pre
 Normalizar los datos.
datos.
 Detectar outliers (
(eliminarlos
eliminarlos,, en su caso).
caso).
Post--procesamiento
Post
 Eliminar pequeos clusters que puedan representar
outliers.
 Dividir clusters dispersos (loose clusters); esto es,
es,
clusters con unSSE relativamente alto.
 Combinar clusters cercanos que tengan un SSE
relativamente bajo
bajo..
NOTA: Estos criterios se pueden incluir en el propio
65 algoritmo de clustering (p.ej
(p.ej.. algoritmo ISODATA).
65

k-Means
Variantes



66

GRASP [Greedy Randomized Adaptive Search


Procedure] para evitar ptimos locales.
k-Modes (Huang1998) utiliza modas en vez de
medias (para poder trabajar con atributos de tipo
categrico).
k-Medoids utiliza medianas en vez de medias para
limitar la influencia de los outliers.
vg. PAM (Partitioning Around Medoids, 1987)
CLARA (Clustering LARge Applications, 1990)
CLARANS (CLARA + Randomized Search, 1994)

66

DBSCAN
Mtodos basados en densidad
 Un cluster en una regin densa de puntos, separada
por regiones poco densas de otras regiones densas.
 tiles cuando los clusters tienen formas irregulares,
estn entrelazados o hay ruido/outliers
ruido/outliers en los datos.

67

DBSCAN
Mtodos basados en densidad
Criterio de agrupamiento local:
Densidad de puntos
Regiones densas de puntos separadas
de otras regiones densas por regiones poco densas.
Caractersticas


Identifican clusters de formas arbitrarias.

Robustos ante la presencia de ruido.

Escalables: Un nico recorrido del conjunto de datos

68

DBSCAN
Algoritmos basados en densidad






DBSCAN: Density Based Spatial Clustering of


DBSCAN:
Applications with Noise (Ester et al., KDD1996)
OPTICS:: Ordering Points To Identify the Clustering
OPTICS
Structure (Ankerst et al. SIGMOD1999)
DENCLUE:: DENsityDENCLUE
DENsity-based CLUstEring
(Hinneburg & Keim,
Keim, KDD1998)
CLIQUE:: Clustering in QUEst
CLIQUE
(Agrawal et al., SIGMOD1998)
SNN (Shared Nearest Neighbor
Neighbor)) densitydensity-based
clustering (Ertz,
Ertz, Steinbach & Kumar,
Kumar, SDM2003)
SDM2003)
69

DBSCAN
Detecta regiones densas de puntos separadas
de otras regiones densas por regiones poco densas:

Parmetros: Epsilon = 10, MinPts = 4


Puntos: core (cluster),
cluster), border (frontera) y noise (ruido
(ruido))

Eficiencia: O(n log n)

70

DBSCAN
Ejercicio
Agrupar los 8 puntos
de la figura utilizando
el algoritmo DBSCAN.
Nmero mnimo de puntos
en el vecindario:
MinPts = 2
Radio del vecindario:
Epsilon

71

DBSCAN
Ejercicio resuelto
Distancia eucldea

72

DBSCAN
Ejercicio resuelto

Epsilon =

A1, A2 y A7 no tienen vecinos en su vecindario,


por lo que se consideran outliers
outliers (no estn en zonas densas):

73

DBSCAN
Ejercicio resuelto

Epsilon =

Al aumentar el valor del parmetro Epsilon,


Epsilon,
el vecindario de los puntos aumenta y todos quedan agrupados:

74

DBSCAN

DEMO
http://webdocs.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html

75

DBSCAN

Clusters

DBSCAN cuando funciona bien ::- )

76

DBSCAN

DBSCAN cuando no funciona ::- (

77

DBSCAN++

SNN densitydensity-based clustering


clustering O(n2)

78

Clustering jerrquico

DENDROGRAMA: La similitud entre dos objetos viene


dada por la altura del nodo comn ms cercano.
79

Clustering jerrquico

p1
p3

p4

p2

p1 p2

p3 p4

DENDOGRAMA

Tradicional

p1
p3

p4

p2

p1 p2

p3 p4
80

No tradicional

Clustering jerrquico
Aglomerativo
(AGNES: AGglomerative NESting
NESting))
0

a
b

ab
abcde

cde

de

e
4

Divisivo
(DIANA: Divisive ANAlysis)
ANAlysis)

81

Clustering jerrquico
Dos tipos de tcnicas de clustering jerrquico


Tcnicas aglomerativas
 Comenzar con cada caso como cluster individual.
 En cada paso, combinar el par de clusters ms
cercano hasta que slo quede uno (o k).

Tcnicas divisivas
 Comenzar con un nico cluster que englobe todos
los casos de nuestro conjunto de datos.
 En cada paso, partir un cluster hasta que cada
cluster contenga un nico caso (o queden k
clusters).
clusters
).
82

Clustering jerrquico

83

Clustering jerrquico

El dendograma nos puede ayudar


a determinar el nmero adecuado de agrupamientos
(aunque normalmente no ser tan fcil).

84

Clustering jerrquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
Cul es el nmero ideal de clusters?
clusters?

85

Clustering jerrquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
Cul es el nmero ideal de clusters?
clusters?

86

Clustering jerrquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
Cul es el nmero ideal de clusters?
clusters?

87

Clustering jerrquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
Cul es el nmero ideal de clusters?
clusters?

88

Clustering jerrquico
Deteccin de la presencia de outliers:
outliers:

Outlier

89

Clustering jerrquico
Algoritmo bsico (aglomerativo
(aglomerativo))
Calcular la matriz de similitud/distancias
Inicializacin: Cada caso, un cluster
Repetir
Combinar los dos clusters ms cercanos
Actualizar la matriz de similitud/distancias
hasta que slo quede un cluster


Estrategia de control irrevocable (greedy


(greedy):
):
Cada vez que se unen dos clusters,
clusters,
no se reconsidera otra posible unin.
90

Clustering jerrquico
Inicializacin:
Clusters de casos individuales
y matriz de distancias

p1

p2

p3

p4 p5

p1
p2
p3
p4
p5

91

Clustering jerrquico
Tras varias iteraciones:
Varios clusters
clusters

C1

C2

C3

C4 C5

C1
C2
C3
C4

C3

C5
C4

C1

C5

C2

92

Clustering jerrquico
Combinamos los clusters 2 y 5
y actualizamos la matriz de distancias
cmo?

C1

C2

C3

C4 C5

C1
C2
C3
C4

C3

C5
C4

C1

C2

C5

93

Clustering jerrquico
Cmo se mide la distancia entre clusters?
clusters?


MIN
single--link
single

MAX
complete
linkage
(diameter)
diameter)
94

Clustering jerrquico
Cmo se mide la distancia entre clusters?
clusters?


Promedio

Centroides
p.ej. BIRCH

95

Clustering jerrquico
Datos sintticos (4 clusters
clusters):
): Single
Single--link

96

Clustering jerrquico
Datos sintticos (aleatorios): SingleSingle-link

97

Clustering jerrquico
Datos sintticos (4 clusters
clusters):
): Complete
Complete--link

98

Clustering jerrquico
Datos sintticos (aleatorios): CompleteComplete-link

99

Clustering jerrquico
Ejercicio
Utilizar un algoritmo aglomerativo de clustering jerrquico para
agrupar los datos descritos por la siguiente matriz de distancias:

Variantes:
 Single
Single--link (mnima distancia entre agrupamientos).
 Complete
Complete--link (mxima distancia entre agrupamientos).
100

Clustering jerrquico
Ejercicio resuelto


Single--link
Single

Complete--link
Complete

101

Clustering jerrquico

DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html

102

Clustering jerrquico
Principal inconveniente del clustering jerrquico

Baja escalabilidad

O(n2)

Por este motivo, si se usa un mtodo jerrquico para


estimar el nmero de grupos k (para un kk-means),
means), se
suele emplear una muestra de los datos y no el
conjunto de datos completo.
completo.
103

Clustering jerrquico
Algoritmos de clustering jerrquico






BIRCH: Balanced Iterative Reducing and Clustering


BIRCH:
using Hierarchies (Zhang, Ramakrishnan & Livny,
Livny,
SIGMOD1996))
SIGMOD1996
ROCK:: RObust Clustering using linKs
ROCK
(Guha,
Guha, Rastogi & Shim,
Shim, ICDE1999)
ICDE1999)
CURE:: Clustering Using REpresentatives
CURE
(Guha,
Guha, Rastogi & Shim,
Shim, SIGMOD1998)
SIGMOD1998)
CHAMELEON:: Hierarchical Clustering Using Dynamic
CHAMELEON
Modeling (Karypis,
Karypis, Han & Kumar,
Kumar, 1999)

 SPSS
SPSS:: TwoTwo-Step Clustering (variante de BIRCH)

104

Clustering jerrquico

CURE
105

Clustering jerrquico
Agrupamientos con
varias densidades

CURE
106

Clustering jerrquico
Particin
del grafo

Combinar
particiones

CHAMELEON

Clusters
finales

107

Clustering jerrquico

CHAMELEON
108

Validacin de resultados
Cmo se puede evaluar
la calidad de los clusters obtenidos?
Depende de lo que estemos buscando

Hay situaciones en las que nos interesa:


 Evitar descubrir clusters donde slo hay ruido.
 Comparar dos conjuntos de clusters alternativos.
 Comparar dos tcnicas de agrupamiento.
109

Validacin de resultados


Criterios externos
(aportando informacin adicional)
p.ej. entropa/pureza (como en clasificacin)

Criterios internos
(a partir de los propios datos),
p.ej. SSE (Sum
(Sum of Squared Error)
 para comparar clusters
 para estimar el nmero de clusters

Otras medidas:
cohesin, separacin, coeficientes de silueta
110

Validacin de resultados
SSE (Sum
(Sum of Squared Error)
10
9

8
4

7
6

SSE

2
0

5
4

-2

3
2

-4

1
-6

0
5

10

15

10

15

20

25

30

111

Validacin de resultados
SSE (Sum
(Sum of Squared Error)

1
2

112

Algoritmos de clustering
Requisitos del algoritmo perfecto
 Escalabilidad.
 Manejo de distintos tipos de datos.
 Identificacin de clusters con formas arbitrarias.
 Nmero mnimo de parmetros.
 Tolerancia frente a ruido y outliers.
outliers.
 Independencia con respecto al orden de presentacin
de los patrones de entrenamiento.
 Posibilidad de trabajar en espacios con muchas
dimensiones diferentes.
 Capacidad de incorporar restricciones especificadas
por el usuario (domain
(domain knowledge).
knowledge).
 Interpretabilidad / Usabilidad.

113

Bibliografa


Pang-Ning Tan,
PangMichael Steinbach
& Vipin Kumar:
Kumar:
Introduction to Data Mining
Addison--Wesley
Addison
Wesley,, 2006.
ISBN 0321321367 [captulos 8&9]

Jiawei Han
& Micheline Kamber:
Kamber:
Data Mining:
Mining:
Concepts and Techniques
Morgan Kaufmann,
Kaufmann, 2006.
ISBN 1558609016 [captulo 7]

114

Bibliografa


R. Agrawal,
Agrawal, J. Gehrke,
Gehrke, D. Gunopulos,
Gunopulos, and P. Raghavan.
Raghavan. Automatic subspace clustering of
high dimensional data for data mining applications.
applications. SIGMOD'98

M. Ankerst,
Ankerst, M. Breunig,
Breunig, H.H.-P. Kriegel,
Kriegel, and J. Sander. Optics: Ordering points to identify
the clustering structure,
structure, SIGMOD99.

L. Ertz,
Ertz, M. Steinbach, and V. Kumar. Finding clusters of different sizes, shapes, and
densities in noisy, highhigh-dimensional data,
data, SDM2003

M. Ester, H.H.-P. Kriegel


Kriegel,, J. Sander, and X. Xu
Xu.. A densitydensity-based algorithm for discovering
clusters in large spatial databases.
databases. KDD'96.

D. Fisher. Knowledge acquisition via incremental conceptual clustering.


clustering. Machine
Learning, 2:1392:139-172, 1987.

D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data: An approach


based on dynamic systems.
systems. VLDB98

S. Guha,
Guha, R. Rastogi,
Rastogi, and K. Shim. Cure: An efficient clustering algorithm for large
databases.. SIGMOD'98.
databases

S. Guha,
Guha, R. Rastogi,
Rastogi, and K. Shim. ROCK: A robust clustering algorithm for categorical
attributes. In ICDE'99, Sydney, Australia, March 1999.
attributes.

115

Bibliografa


A. Hinneburg,
Hinneburg, D.A
D.A.. Keim:
Keim: An Efficient Approach to Clustering in Large Multimedia
Databases with Noise.
Noise. KDD98.

G. Karypis,
Karypis, E.E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical Clustering Algorithm

68-75, 1999.
Using Dynamic Modeling. COMPUTER, 32(8): 68

L. Parsons, E. Haque and H. Liu, Subspace Clustering for High Dimensional Data: A
Review , SIGKDD Explorations, 6(1), June 2004

G. Sheikholeslami
Sheikholeslami,, S. Chatterjee
Chatterjee,, and A. Zhang. WaveCluster
WaveCluster:: A multimulti-resolution
clustering approach for very large spatial databases.
databases. VLDB98.

A. K. H. Tung, J. Hou,
Hou, and J. Han. Spatial Clustering in the Presence of Obstacles ,

ICDE'01


H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern similarity in large data
sets,, SIGMOD 02.
sets

W. Wang, Yang, R. Muntz,


Muntz, STING: A Statistical Information grid Approach to Spatial
Data Mining,
Mining, VLDB97.

T. Zhang, R. Ramakrishnan,
Ramakrishnan, and M. Livny.
Livny. BIRCH : an efficient data clustering method
for very large databases.
databases. SIGMOD'96.
SIGMOD'96.

116

Apndice: Notacin O
El impacto de la eficiencia de un algoritmo
n

10

100

1000

10000 100000

O(n)

10ms

0.1s

1s

10s

100s

O(nlog2 n)

33ms

0.7s

10s

2 min

28 min

O(n2)

100ms

10s

17 min 28 horas 115 das

O(n3)

1s

17min

12 das 31 aos 32 milenios


117

Apndice
La dimensionalidad de los datos
Por qu es un problema?
 Los datos en una dimensin estn relativamente cerca
 Al aadir una nueva dimensin, los datos se alejan.
 Cuando tenemos muchas dimensiones, las medidas de
distancia no son tiles (equidistancia).

118

Apndice
La dimensionalidad de los datos
Posibles soluciones


Transformacin de caractersticas (PCA, SVD)


para reducir la dimensionalidad de los datos,
til slo si existe correlacin/redundancia.

Seleccin de caractersticas (wrapper/


wrapper/filter
filter))
til si se pueden encontrar clusters en subespacios.
subespacios.

Subspace clustering
clustering
Buscar clusters usando distintas combinaciones de
atributos, vg
vg.. CLIQUE o PROCLUS.
119

Apndice
La dimensionalidad de los datos
Subspace clustering

120

Apndice
La dimensionalidad de los datos
Subspace clustering

121

Apndice
La dimensionalidad de los datos

DEMO
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html

122

Apndice
Otros mtodos de clustering
Grids multiresolucin


STING, a STatistical INformation Grid approach


STING,
(Wang, Yang & Muntz,
Muntz, VLDB1997)

WaveCluster, basado en wavelets


WaveCluster,
(Sheikholeslami,
Sheikholeslami, Chatterjee & Zhang, VLDB1998)

CLIQUE: CLustering In QUEst


CLIQUE:
(Agrawal et al., SIGMOD1998)
SIGMOD1998)
123

Apndice
Otros mtodos de clustering
Clustering basado en modelos
Ajustar los datos a un modelo matemtico
(se supone que los datos provienen de la
superposicin de varias distribuciones de
probabilidades))
probabilidades




Estadstica:
Estadstica:
EM [Expectation Maximization], AutoClass
Clustering conceptual (Machine Learning):
COBWEB,, CLASSIT
COBWEB
Redes neuronales
neuronales::
SOM [Self
[Self--Organizing Maps
Maps]]

124

Apndice
Otros mtodos de clustering
Clustering con restricciones
p.ej. Clustering con obstculos

Posibles aplicaciones:
Distribucin de cajeros automticos/supermercados
automticos/supermercados

125

También podría gustarte