You are on page 1of 92

Fundamentos de Minera de Datos

Clustering
Fernando Berzal
fberzal@decsai.ugr.es
http://elvex.ugr.es/idbis/dm/
Intelligent Databases and Information Systems research group

Department of Computer Science and Artificial Intelligence


E.T.S Ingeniera Informtica Universidad de Granada (Spain)

Clustering
Introduccin
Similitud
Mtodos
K-Means
Jerrquicos
Densidad
Otros
Subspace
clustering
Validacin
Bibliografa

Sinnimos segn el contexto

Clustering (IA)

Aprendizaje no supervisado (IA)

Clasificacin (Estadstica)

Ordenacin (Psicologa)

Segmentacin (Marketing)

Clustering
Introduccin
Similitud
Mtodos
K-Means
Jerrquicos
Densidad
Otros
Subspace
clustering
Validacin
Bibliografa

Objetivo
Agrupar objetos similares entre s que sean
distintos a los objetos de otros agrupamientos
[clusters].
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


3
comparar objetos.

Clustering
Encontrar agrupamientos de tal forma que los
objetos de un grupo sean similares entre s y
diferentes de los objetos de otros grupos:

Minimizar
distancia
intra-cluster

Maximizar
distancia
intercluster

Clustering
Aplicaciones

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

Aplicaciones tpicas en Data Mining:

Exploracin de datos (segmentacin & outliers)


Preprocesamiento (p.ej. reduccin de datos)

Clustering
Cul es la forma natural de agrupar los
personajes?

Hombres
vs.
Mujeres

Clustering
Cul es la forma natural de agrupar los
personajes?

Simpsons
vs.
Empleados
de la escuela
de Springfield

Clustering
Cul es la forma natural de agrupar los
personajes?

El clustering es subjetivo !!!


8

Medidas de similitud

Peter Pedro

342.7

0.23
3

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

La definicin de la mtrica de similitud/distancia


ser distinta en funcin del tipo de dato y
de la interpretacin semntica que nosotros
hagamos.
En otras palabras, la similitud entre objetos10
es

Medidas de similitud

Cuntos
agrupamiento
s?

Seis?

Dos?

Cuatro?

11

Medidas de similitud
Atributos continuos
Usualmente, se estandarizan 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

12

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) / dominio /


chessboard

13

Medidas de similitud
Mtricas de distancia
Distancia de Minkowski

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

14

Medidas de similitud
Mtricas de distancia
Distancia de Minkowski d(i,j) 0

Propiedad reflexiva

Propiedad simtrica

Desigualdad triangular

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

15

Medidas de similitud
Mtricas de distancia
Distancia de Chebyshev

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

16

Medidas de similitud
Mtricas de distancia
Distancia de Mahalanobis

Considera las
correlaciones
entre variables.
No depende de la
escala de medida.

17

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

Medidas de similitud
Mtricas de distancia
Vecinos compartidos
i

Mutual Neighbor Distance

donde NN(xi,xj) es el nmero de vecino


de xj con respecto a xi

20

Medidas de similitud
Medidas de correlacin
Producto escalar

Cosine similarity

Coeficiente de Tanimoto

21

Medidas de similitud
Modelos basados en Teora de
Conjuntos
Modelo de Tversky

Modelo de Restle

Interseccin

23

Medidas de similitud
Modelos basados en Teora de
Conjuntos
Modelo proporcional

Modelo de Gregson = Coeficiente de Jaccard

Distancia de Tanimoto

24

Mtodos de agrupamiento
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
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
knowledge)
26
Interpretabilidad / Usabilidad

Mtodos de agrupamiento
Tipos de algoritmos de clustering

Agrupamiento por particiones


k-Means, CLARANS
Clustering jerrquico
BIRCH, ROCK, CHAMELEON
Mtodos basados en densidad
DBSCAN

27

Mtodos de agrupamiento
Clustering por particiones

Datos originales

Datos agrupados

28

Mtodos de agrupamiento
Clustering jerrquico
p1

p3 p4
p2

p1 p2
Tradicional

p3 p4

DENDOGRAMA

p1
p3

p4

p2

p1 p2
No tradicional

p3 p4

29

Mtodos de agrupamiento
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
en los datos.

30

k-Means
Algoritmo de agrupamiento por particiones
(MacQueen, 1967)

Nmero de clusters conocido (k)


Cada cluster tiene asociado un centroide
(centro geomtrico del 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, hasta que los centroides dejen de
cambiar.
Complejidad O(n*k*I*d)
donde n es el nmero de datos, k el nmero de

31

k-Means
Iteration 6
1
2
3
4
5

3
2.5
2

1.5
1
0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

32

k-Means
Iteration 1

Iteration 2

1.5

1.5

1.5

2.5

2.5

2.5

0.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

Iteration 4

-1.5

-1

-0.5

0.5

1.5

-2

Iteration 5

1.5

1.5

1.5

0.5

0.5

0.5

-1

-0.5

0.5

1.5

-1

-0.5

0.5

1.5

1.5

Iteration 6

2.5

2.5

-1.5

-1.5

2.5

-2

Iteration 3

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

33

k-Means
Iteration 5
1
2
3
4

3
2.5
2

1.5
1
0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

34

k-Means
Iteration 1

1.5

1.5

2.5

2.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

Iteration 3

Iteration 2

1.5

-2

-1.5

-1

Iteration 4

-0.5

1.5

1.5

1.5

0.5

0.5

0.5

-1

-0.5

0.5

1.5

1.5

Iteration 5

2.5

2.5

-1.5

0.5

2.5

-2

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

35

k-Means
3
2.5

Puntos originales

1.5
1
0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

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

ptimo local

0.5

1.5

36

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

Distancia de Manhattan

Distancia de Chebyshev

37

k-Means
Ejercicio resuelto
Distancia eucldea

38

k-Means
Ejercicio resuelto
Distancia eucldea

Primera iteracin

Segunda iteracin

39

k-Means
Ejercicio resuelto
Distancia eucldea

Tercera iteracin
Configuracin final

40

k-Means
DEMO: K-Means
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html

41

k-Means
Ventaja

Eficiencia O(nkId)
vs. PAM
O(Ik(n-k)2)
CLARA O(ks2+k(n-k))

Desventajas

Termina en un ptimo local:


El resultado depende de la seleccin inicial de
centroides.
Necesidad de conocer el nmero de
agrupamientos k
Incapacidad para detectar ruido / identificar
outliers.
No resulta adecuado para detectar clusters no
convexos

42

k-Means
Clusters de
distinto tamao

Clusters de
distinta densidad

Clusters
no convexos

43

k-Means
Variantes

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)
44
CLARANS (CLARA + Randomized Search,

k-Means
DEMO: Fuzzy C-Means
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletFCM.html

45

Clustering jerrquico

DENDROGRAMA:
DENDROGRAMA La similitud entre dos objetos
viene dada por la altura del nodo comn ms
cercano.

46

Clustering jerrquico

El DENDROGRAMA nos puede ayudar a determinar


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

Clustering jerrquico

Outlier

El DENDROGRAMA
tambin nos puede servir para detectar outliers.48

Clustering jerrquico
0

a
b

aglomerativo
(AGNES)
AGglomerative NESting

ab
abcde

cde

de

e
4

divisivo
(DIANA)
Divisive ANAlysis

En lugar de establecer de antemano el nmero de


clusters, tenemos que definir un criterio de parada

49

Clustering jerrquico
Cmo medir la distancia entre clusters?

MIN
single-link

MAX
complete
linkage
(diameter)

50

Clustering jerrquico
Cmo medir la distancia entre clusters?

Promedio

Centroides
p.ej. BIRCH

51

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

Variantes:

Single-link (mnima distancia entre agrupamientos)

Complete-link (mxima distancia entre agrupamientos)

52

Clustering jerrquico
Ejercicio resuelto
Single-link

Complete-link

53

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

54

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

55

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

56

Clustering jerrquico
Datos sintticos (aleatorios): Single-link

57

Clustering jerrquico
Datos sintticos (aleatorios): Complete-link

58

Clustering jerrquico
Principal inconveniente del clustering
jerrquico:

Baja escalabilidad
O(n2)

Algoritmos escalables:

BIRCH: Balanced Iterative Reducing and


Clustering using Hierarchies (Zhang,
Ramakrishnan & Livny, SIGMOD1996)
ROCK: RObust Clustering using linKs
(Guha, Rastogi & Shim, ICDE1999)
CURE: Clustering Using REpresentatives

59

Clustering jerrquico

CURE

60

Clustering jerrquico
Agrupamientos
con distintas
densidades

CURE

61

Clustering jerrquico
Particin del grafo

Clusters finales

CHAMELEON

Combinar
particiones

62

Clustering jerrquico

CHAMELEON

63

Density-based Clustering
Criterio de agrupamiento local:

Densidad de puntos
Regin densas de puntos separadas
de otras regiones densas por regiones poco
densas

Caractersticas

Identifica clusters de formas arbitrarias.

Robusto ante la presencia de ruido

Escalable: Un nico recorrido del conjunto de

64

Density-based Clustering
Algoritmos

DBSCAN: Density Based Spatial Clustering of


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

Density-based Clustering
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

66

Density-based Clustering
Ejercicio resuelto
Distancia eucldea

67

Density-based Clustering
Ejercicio resuelto

Epsilon =

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


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

68

Density-based Clustering
Ejercicio resuelto

Epsilon =

Al aumentar el valor del parmetro Epsilon,


el vecindario de los puntos aumenta y todos quedan agrupados:

69

Density-based Clustering
DEMO: DBSCAN et al.
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html

70

Density-based Clustering

Clusters

DBSCAN cuando funciona bien

71

Density-based Clustering

DBSCAN sensible al valor inicial de sus


parmetros

72

Density-based Clustering

SNN density-based clustering O(n2)


73

Otros mtodos
Grids multiresolucin

74

Otros mtodos
Grids multiresolucin

STING, a STatistical INformation Grid approach


(Wang, Yang & Muntz, VLDB1997)
WaveCluster, basado en wavelets
(Sheikholeslami, Chatterjee & Zhang,
VLDB1998)
CLIQUE: CLustering In QUEst
(Agrawal et al., SIGMOD1998)

75

Otros mtodos
Clustering basado en modelos
Ajustar los datos a un modelo matemtico
Se supone que los datos provienen de la
superposicin de varias distribuciones de
probabilidad.

Algoritmos

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

76

Otros mtodos
Clustering con restricciones
p.ej. Clustering con obstculos

Posibles aplicaciones:
Distribucin de cajeros
automticos/supermercados

77

Subspace clustering
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).

78

Subspace clustering
La dimensionalidad de los datos
Soluciones

Transformacin de caractersticas (PCA,


SVD)
til slo si existe correlacin/redundancia
Seleccin de caractersticas (wrapper/filter)
til si se pueden encontrar clusters en
subespacios
Subspace clustering
Buscar clusters en todos los subespacios
posibles.

79

Subspace clustering

80

Subspace clustering

81

Subspace clustering
DEMO: CLIQUE et al.
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html

82

Validacin
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

83

Validacin

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

Criterios internos
(a partir de los propios datos),
p.ej. SSE (Sum of Squared Error)

para comparar clusters

para estimar el nmero de clusters


Otras medidas:
84
cohesin, separacin, coeficientes de silueta

Validacin
Cul es el nmero adecuado de agrupamientos?
p.ej. SSE (Sum of Squared Error)

k=1
J = 873.0

k=2
J = 173.1

k=3
J = 133.6

85

Validacin
Cul es el nmero adecuado de agrupamientos?
p.ej. SSE (Sum of Squared Error)

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
adecuado para el nmero de

k
86

Validacin
6
4
2
0
-2
-4
-6
5

10

15

10
9
8
7

SSE

6
5
4
3
2
1
0

10

15

20

25

30

87

Validacin
1

5
7

88

Validacin
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

90

0.1

0.9

Points

0.8

0.5
0.4

0.1
0

0.2

0.4

0.6

0.8

100

20

40

60

Points

80

0
100 Similarity

89

Validacin
Matriz de similitud

1
10

0.9

20

0.8

30

0.7

40

0.6

50

0.5

60

0.4

70

0.3

80

0.2

0.9

90

0.1

Points

Clusters en datos aleatorios


(DBSCAN y k-Means)

100

0.8

20

0.7

40

60

Points

80

0
100 Similarity

0.6
1

0.5
0.4

10

0.9
0.8

30

0.7

0.2

40

0.6

50

0.5

60

0.4

70

0.3

80

0.2

90

0.1

Points

20

0.3

0.1
0

0.2

0.4

0.6

0.8

100

20

40

60

Points

80

90

0
100 Similarity

Validacin
Matriz de similitud

DBSCAN

5
7

1
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

91

Bibliografa

R. Agrawal, J. Gehrke, D. Gunopulos, and P. Raghavan. Automatic


subspace clustering of high dimensional data for data mining
applications. SIGMOD'98

M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander. Optics: Ordering


points to identify the clustering structure, SIGMOD99.

L. Ertz, M. Steinbach, and V. Kumar. Finding clusters of different


sizes, shapes, and densities in noisy, high-dimensional data,
SDM2003

M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm


for discovering clusters in large spatial databases. KDD'96.

D. Fisher. Knowledge acquisition via incremental conceptual


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

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


An approach based on dynamic systems. VLDB98

S. Guha, R. Rastogi, and K. Shim. Cure: An efficient clustering


algorithm for large databases. SIGMOD'98.

S. Guha, R. Rastogi, and K. Shim. ROCK: A robust clustering algorithm


for categorical attributes. In ICDE'99, Sydney, Australia, March 1999.

92

Bibliografa

A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in


Large Multimedia Databases with Noise. KDD98.

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


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

L. Parsons, E. Haque and H. Liu, Subspace Clustering for High


Dimensional Data: A Review , SIGKDD Explorations, 6(1), June
2004

G. Sheikholeslami, S. Chatterjee, and A. Zhang. WaveCluster: A


multi-resolution clustering approach for very large spatial
databases. VLDB98.

A. K. H. Tung, J. 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.

W. Wang, Yang, R. Muntz, STING: A Statistical Information grid


Approach to Spatial Data Mining, VLDB97.

93

T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data

Crditos
Jiawei Han (University of Illinois at UrbanaChampaign): Data Mining: Concepts and
Techniques, captulo 7, 2006
Pang-Ning Tan (Michigan State University),
Michael Steinbach & Vipin Kumar (University of
Minnesota): Introduction to Data Mining,
captulos 8 y 9, 2006

94

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

95

You might also like