4 clustering
TRANSCRIPT
![Page 1: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/1.jpg)
Intelligent Databases and Information Systems research groupDepartment of Computer Science and Artificial IntelligenceE.T.S Ingeniería Informática – Universidad de Granada (Spain)
Fundamentos de Minería de DatosFundamentos de Minería de Datos
Clustering
Fernando [email protected]
http://elvex.ugr.es/idbis/dm/
![Page 2: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/2.jpg)
2
ClusteringClustering
““Sinónimos” según el contexto…Sinónimos” según el contexto…
Clustering (IA)
Aprendizaje no supervisado (IA)
Clasificación (Estadística)
Ordenación (Psicología)
Segmentación (Marketing)
IntroducciónSimilitudMétodos
K-MeansJerárquicosDensidadOtros
Subspace clusteringValidaciónBibliografía
![Page 3: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/3.jpg)
3
ClusteringClustering
Objetivo Agrupar objetos similares entre sí que sean distintos a los objetos de otros agrupamientos [clusters].
Aprendizaje no supervisadoNo existen clases predefinidas
Los resultados obtenidos dependerán de: El algoritmo de agrupamiento seleccionado. El conjunto de datos disponible La medida de similitud utilizada para
comparar objetos.
IntroducciónSimilitudMétodos
K-MeansJerárquicosDensidadOtros
Subspace clusteringValidaciónBibliografía
![Page 4: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/4.jpg)
4
ClusteringClustering
Encontrar agrupamientos de tal forma que los objetos de un grupo sean similares entre sí y diferentes de los objetos de otros grupos:
Maximizar distancia
inter-cluster
Minimizar distancia
intra-cluster
![Page 5: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/5.jpg)
5
ClusteringClustering
AplicacionesAplicaciones Reconocimiento de formas. Mapas temáticos (GIS) Marketing: Segmentación de clientes Clasificación de documentos Análisis de web logs (patrones de acceso
similares) …
Aplicaciones típicas en Data Mining: Exploración de datos (segmentación & outliers) Preprocesamiento (p.ej. reducción de datos)
![Page 6: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/6.jpg)
6
ClusteringClustering¿Cuál es la forma natural de agrupar los
personajes?
Hombres vs.Mujeres
![Page 7: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/7.jpg)
7
ClusteringClustering¿Cuál es la forma natural de agrupar los
personajes?
Simpsonsvs.Empleadosde la escuelade Springfield
![Page 8: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/8.jpg)
8
ClusteringClustering¿Cuál es la forma natural de agrupar los
personajes?
¡¡¡ El clustering es subjetivo !!!
![Page 9: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/9.jpg)
9
Medidas de similitudMedidas de similitud
0.23
3
342.7
Peter Pedro
![Page 10: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/10.jpg)
10
Usualmente, se expresan en términos de distancias:
d(i,j) > d(i,k)nos indica que el objeto i es más parecido a k que
a j
La definición de la métrica de similitud/distanciaserá distinta en función del tipo de dato y
de la interpretación semántica que nosotros hagamos.
En otras palabras, la similitud entre objetos es
subjetivasubjetiva.
Medidas de similitudMedidas de similitud
![Page 11: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/11.jpg)
11
Medidas de similitudMedidas de similitud
¿Cuántos agrupamiento
s?
¿Cuatro?
¿Dos?
¿Seis?
![Page 12: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/12.jpg)
12
Medidas de similitudMedidas de similitud
f
fifif s
mx z
Atributos continuosUsualmente, se “estandarizan” a priori:
Desviación absoluta media:
z-score (medida estandarizada):
.)...21
1nffff
xx(xn m
|)|...|||(|121 fnffffff
mxmxmxns
![Page 13: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/13.jpg)
13
Métricas de distancia
Distancia de MinkowskiDistancia de Minkowski
Distancia de Manhattan (r=1) / city block / taxicab
Distancia euclídea (r=2):
Distancia de Chebyshev (r) / dominio / chessboard
Medidas de similitudMedidas de similitud
![Page 14: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/14.jpg)
14
Métricas de distancia
Distancia de MinkowskiDistancia de Minkowski
Distancia de Manhattan = 12 Distancia Euclídea 8.5 Distancia de Chebyshev = 6
Medidas de similitudMedidas de similitud
![Page 15: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/15.jpg)
15
Métricas de distancia
Distancia de MinkowskiDistancia de Minkowski d(i,j) 0 Propiedad reflexiva d(i,i) = 0 Propiedad simétrica d(i,j) = d(j,i) Desigualdad triangular d(i,j) d(i,k)
+d(k,j)
Medidas de similitudMedidas de similitud
![Page 16: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/16.jpg)
16
Métricas de distancia
Distancia de ChebyshevDistancia de Chebyshev
También conocidacomo distancia detablero de ajedrez(chessboard distance):Número demovimientosque el rey ha de hacerpara llegar de unacasilla a otra en untablero de ajedrez.
Medidas de similitudMedidas de similitud
![Page 17: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/17.jpg)
17
Métricas de distancia
Distancia de MahalanobisDistancia de Mahalanobis
Considera lascorrelacionesentre variables.
No depende de laescala de medida.
Medidas de similitudMedidas de similitud
![Page 18: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/18.jpg)
19
Métricas de distanciaDistancia de edición = Distancia de Distancia de edición = Distancia de
LevenshteinLevenshtein
Número de operaciones necesariopara transformar una cadena en otra.
d(“data mining”, “data minino”) = 1d(“efecto”, “defecto”) = 1d(“poda”, “boda”) = 1d(“night”,”natch”) = d(“natch”,”noche”)
= 3
AplicacionesAplicaciones: Correctores ortográficos, reconocimiento de voz, detección de plagios, análisis de ADN…
Para datos binarios: Distancia de HammingDistancia de Hamming
Medidas de similitudMedidas de similitud
![Page 19: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/19.jpg)
20
Métricas de distancia
Vecinos compartidosVecinos compartidos
“Mutual Neighbor Distance”
donde NN(xi,xj) es el número de vecinode xj con respecto a xi
Medidas de similitudMedidas de similitud
i j i j4
![Page 20: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/20.jpg)
21
Medidas de correlaciónProducto escalar
“Cosine similarity”
Coeficiente de Tanimoto
Medidas de similitudMedidas de similitud
![Page 21: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/21.jpg)
23
Modelos basados en Teoría de Conjuntos
Modelo de TverskyModelo de Tversky
Modelo de Restle
Intersección
Medidas de similitudMedidas de similitud
![Page 22: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/22.jpg)
24
Modelos basados en Teoría de Conjuntos
Modelo proporcionalModelo proporcional
Modelo de Gregson = Coeficiente de Jaccard
Distancia de Tanimoto
Medidas de similitudMedidas de similitud
![Page 23: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/23.jpg)
26
Métodos de agrupamientoMétodos de agrupamiento
Requisitos del algoritmo “perfecto” Escalabilidad Manejo de distintos tipos de datos Identificación de clusters con formas arbitrarias Número mínimo de parámetros Tolerancia frente a ruido y outliers Independencia con respecto al orden de
presentación de los patrones de entrenamiento Posibilidad de trabajar en espacios con muchas
dimensiones diferentes Capacidad de incorporar restricciones
especificadas por el usuario (“domain knowledge”)
Interpretabilidad / Usabilidad
![Page 24: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/24.jpg)
27
Métodos de agrupamientoMétodos de agrupamiento
Tipos de algoritmos de clustering
Agrupamiento por particionesk-Means, CLARANS
Clustering jerárquicoBIRCH, ROCK, CHAMELEON
Métodos basados en densidadDBSCAN
…
![Page 25: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/25.jpg)
28Datos agrupados
Métodos de agrupamientoMétodos de agrupamiento
Clustering por particiones
Datos originales
![Page 26: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/26.jpg)
29
Métodos de agrupamientoMétodos de agrupamiento
Clustering jerárquico
p4p1
p3
p2
p4 p1
p3
p2
p4p1 p2 p3
p4p1 p2 p3
Tradicional
No tradicional
DENDOGRAMA
![Page 27: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/27.jpg)
30
Métodos de agrupamientoMétodos de agrupamiento
Métodos basados en densidad Un cluster en una región densa de puntos,
separada por regiones poco densas de otras regiones densas.
Útiles cuando los clusters tienen formas irregulares, están entrelazados o hay ruido/outliers en los datos.
![Page 28: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/28.jpg)
31
k-Meansk-Means
Algoritmo de agrupamiento por particiones(MacQueen, 1967)
Número de clusters conocido (k)
Cada cluster tiene asociado un centroide (centro geométrico del cluster).
Los puntos se asignan al cluster cuyo centroide esté más cerca (utilizando cualquier métrica de distancia).
Iterativamente, se van actualizando los centroides en función de las asignaciones de puntos a clusters, hasta que los centroides dejen de cambiar.
Complejidad O(n*k*I*d)donde n es el número de datos, k el número de clusters,I el número de iteraciones y d el número de atributos
![Page 29: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/29.jpg)
32
k-Meansk-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
![Page 30: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/30.jpg)
33
k-Meansk-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
![Page 31: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/31.jpg)
34
k-Meansk-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
![Page 32: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/32.jpg)
35
k-Meansk-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
xy
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
![Page 33: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/33.jpg)
36
k-Meansk-Means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Óptimo local
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Solución óptima
Puntos originales
![Page 34: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/34.jpg)
37
k-Meansk-Means
EjercicioEjercicio
Agrupar los 8 puntos de lafigura en 3 clusters usandoel algoritmo de las K medias.
Centroides iniciales:A1, A7 y A8
Métricas de distancia: Distancia euclídea Distancia de Manhattan Distancia de Chebyshev
![Page 35: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/35.jpg)
38
k-Meansk-Means
Ejercicio resueltoEjercicio resueltoDistancia euclídea
![Page 36: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/36.jpg)
39
k-Meansk-Means
Ejercicio resueltoEjercicio resueltoDistancia euclídea
Primera iteración Segunda iteración
![Page 37: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/37.jpg)
40
k-Meansk-Means
Ejercicio resueltoEjercicio resueltoDistancia euclídea
Tercera iteraciónConfiguración final
![Page 38: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/38.jpg)
41
k-Meansk-Means
DEMO: K-MeansDEMO: K-Meanshttp://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html
![Page 39: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/39.jpg)
42
k-Meansk-Means
Ventaja Eficiencia O(n·k·I·d)
vs. PAM O(I·k(n-k)2)CLARA
O(ks2+k(n-k))
Desventajas Termina en un óptimo local:
El resultado depende de la selección inicial de centroides.
Necesidad de conocer el número de agrupamientos k
Incapacidad para detectar ruido / identificar outliers.
No resulta adecuado para detectar clusters no convexos
Si tenemos datos de tipo categórico, ¿cómo calculamos la media?
![Page 40: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/40.jpg)
43
k-Meansk-Means
Clusters deClusters dedistinto tamañodistinto tamaño
Clusters deClusters dedistinta densidaddistinta densidad
ClustersClustersno convexosno convexos
![Page 41: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/41.jpg)
44
k-Meansk-Means
Variantes
GRASP [Greedy Randomized Adaptive Search Procedure] para evitar óptimos locales.
k-Modes (Huang’1998) utiliza modas en vez de medias (para poder trabajar con atributos de tipo categórico).
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)
![Page 42: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/42.jpg)
45
k-Meansk-Means
DEMO: Fuzzy C-MeansDEMO: Fuzzy C-Meanshttp://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletFCM.html
![Page 43: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/43.jpg)
46
Clustering jerárquicoClustering jerárquico
DENDROGRAMADENDROGRAMA: La similitud entre dos objetos viene dada por la “altura” del nodo común más cercano.
![Page 44: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/44.jpg)
47
Clustering jerárquicoClustering jerárquico
El DENDROGRAMADENDROGRAMA nos puede ayudar a determinar el número adecuado de agrupamientos (aunque normalmente no será tan fácil).
![Page 45: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/45.jpg)
48
Clustering jerárquicoClustering jerárquico
El DENDROGRAMADENDROGRAMAtambién nos puede servir para detectar outliers.
Outlier
![Page 46: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/46.jpg)
49
Clustering jerárquicoClustering jerárquico
En lugar de establecer de antemano el número de clusters, tenemos que definir un criterio de parada
0 1 2 3 4
b
d
c
e
a a b
d e
c d e
a b c d e
4 3 2 1 0
aglomerativo(AGNES)
AGglomerative NESting
divisivo(DIANA)
Divisive ANAlysis
![Page 47: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/47.jpg)
50
Clustering jerárquicoClustering jerárquico
¿Cómo medir la distancia entre clusters?
MINsingle-linksingle-link
MAXcompletecompletelinkagelinkage(diameter)(diameter)
![Page 48: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/48.jpg)
51
Clustering jerárquicoClustering jerárquico
¿Cómo medir la distancia entre clusters?
Promedio
Centroidesp.ej. BIRCH
![Page 49: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/49.jpg)
52
Clustering jerárquicoClustering jerárquico
EjercicioEjercicio
Utilizar un algoritmo aglomerativo de clustering jerárquico para agrupar los datos descritos por la siguiente matriz de distancias:
Variantes: Single-linkSingle-link (mínima distancia entre agrupamientos) Complete-linkComplete-link (máxima distancia entre agrupamientos)
![Page 50: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/50.jpg)
53
Clustering jerárquicoClustering jerárquico
Ejercicio resueltoEjercicio resuelto
Single-link
Complete-link
![Page 51: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/51.jpg)
54
Clustering jerárquicoClustering jerárquico
DEMO: Algoritmo aglomerativoDEMO: Algoritmo aglomerativohttp://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html
![Page 52: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/52.jpg)
55
Clustering jerárquicoClustering jerárquico
Datos sintéticos (4 clusters): Single-linkDatos sintéticos (4 clusters): Single-link
![Page 53: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/53.jpg)
56
Clustering jerárquicoClustering jerárquico
Datos sintéticos (4 clusters): Complete-linkDatos sintéticos (4 clusters): Complete-link
![Page 54: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/54.jpg)
57
Clustering jerárquicoClustering jerárquico
Datos sintéticos (aleatorios): Single-linkDatos sintéticos (aleatorios): Single-link
![Page 55: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/55.jpg)
58
Clustering jerárquicoClustering jerárquico
Datos sintéticos (aleatorios): Complete-linkDatos sintéticos (aleatorios): Complete-link
![Page 56: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/56.jpg)
59
Clustering jerárquicoClustering jerárquico
Principal inconveniente del clustering jerárquico:
Baja escalabilidadescalabilidad ≥ O(n2)
Algoritmos “escalables”:
BIRCH: Balanced Iterative Reducing and Clustering using Hierarchies (Zhang, Ramakrishnan & Livny, SIGMOD’1996)
ROCK: RObust Clustering using linKs (Guha, Rastogi & Shim, ICDE’1999)
CURE: Clustering Using REpresentatives(Guha, Rastogi & Shim, SIGMOD’1998)
CHAMELEON: Hierarchical Clustering Using Dynamic Modeling (Karypis, Han & Kumar, 1999)
![Page 57: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/57.jpg)
60
Clustering jerárquicoClustering jerárquico
CURE
![Page 58: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/58.jpg)
61
Clustering jerárquicoClustering jerárquico
Agrupamientoscon distintasdensidades
CURE
![Page 59: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/59.jpg)
62
Clustering jerárquicoClustering jerárquico
CHAMELEON
Partición del grafo
Combinar particiones
Clusters finales
![Page 60: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/60.jpg)
63
Clustering jerárquicoClustering jerárquico
CHAMELEON
![Page 61: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/61.jpg)
64
Density-based ClusteringDensity-based Clustering
Criterio de agrupamiento local:
Densidad de puntosRegión densas de puntos separadas
de otras regiones densas por regiones poco densas
Características
Identifica clusters de formas arbitrarias.
Robusto ante la presencia de ruido
Escalable: Un único recorrido del conjunto de datos
![Page 62: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/62.jpg)
65
Density-based ClusteringDensity-based Clustering
Algoritmos
DBSCAN: Density Based Spatial Clustering of Applications with Noise (Ester et al., KDD’1996)
OPTICS: Ordering Points To Identify the Clustering Structure (Ankerst et al. SIGMOD’1999)
DENCLUE: DENsity-based CLUstEring(Hinneburg & Keim, KDD’1998)
CLIQUE: Clustering in QUEst(Agrawal et al., SIGMOD’1998)
SNN (Shared Nearest Neighbor) density-based clustering(Ertöz, Steinbach & Kumar, SDM’2003)
![Page 63: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/63.jpg)
66
Density-based ClusteringDensity-based Clustering
EjercicioEjercicio
Agrupar los 8 puntosde la figura utilizandoel algoritmo DBSCAN.
Número mínimo de puntosen el “vecindario”:
MinPts = 2
Radio del “vecindario”:
Epsilon
![Page 64: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/64.jpg)
67
Density-based ClusteringDensity-based Clustering
Ejercicio resueltoEjercicio resueltoDistancia euclídea
![Page 65: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/65.jpg)
68
Density-based ClusteringDensity-based Clustering
Ejercicio resueltoEjercicio resuelto Epsilon = Epsilon =
A1, A2 y A7 no tienen vecinos en su vecindario,por lo que se consideran “outliers” (no están en zonas densas):
![Page 66: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/66.jpg)
69
Density-based ClusteringDensity-based Clustering
Ejercicio resueltoEjercicio resuelto Epsilon = Epsilon =
Al aumentar el valor del parámetro Epsilon,el vecindario de los puntos aumenta y todos quedan agrupados:
![Page 67: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/67.jpg)
70
Density-based ClusteringDensity-based Clustering
DEMO: DBSCAN et al.DEMO: DBSCAN et al.http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
![Page 68: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/68.jpg)
71
Density-based ClusteringDensity-based Clustering
DBSCAN … cuando funciona bien
Clusters
![Page 69: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/69.jpg)
72
Density-based ClusteringDensity-based Clustering
DBSCAN sensible al valor inicial de sus parámetros
![Page 70: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/70.jpg)
73
Density-based ClusteringDensity-based Clustering
SNN density-based clustering… O(n2)
i j i j4
![Page 71: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/71.jpg)
74
Grids multiresolución
Otros métodosOtros métodos
![Page 72: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/72.jpg)
75
Grids multiresolución
STING, a STatistical INformation Grid approach(Wang, Yang & Muntz, VLDB’1997)
WaveCluster, basado en wavelets(Sheikholeslami, Chatterjee & Zhang, VLDB’1998)
CLIQUE: CLustering In QUEst(Agrawal et al., SIGMOD’1998)
Otros métodosOtros métodos
![Page 73: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/73.jpg)
76
Clustering basado en modelos
Ajustar los datos a un modelo matemáticoSe supone que los datos provienen de la superposición de varias distribuciones de probabilidad.
Algoritmos Estadística:
EM [Expectation Maximization], AutoClass Clustering conceptual (Machine Learning):
COBWEB, CLASSIT Redes neuronales:
SOM [Self-Organizing Maps]
Otros métodosOtros métodos
![Page 74: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/74.jpg)
77
Clustering con restriccionesp.ej. Clustering con obstáculos
Posibles aplicaciones: Distribución de cajeros
automáticos/supermercados…
Otros métodosOtros métodos
![Page 75: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/75.jpg)
78
Subspace clusteringSubspace clustering
La dimensionalidad de los datos
¿Por qué es un problema? Los datos en una dimensión están
relativamente cerca Al añadir una nueva dimensión, los datos se
alejan. Cuando tenemos muchas dimensiones, las
medidas de distancia no son útiles (“equidistancia”).
![Page 76: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/76.jpg)
79
Subspace clusteringSubspace clustering
La dimensionalidad de los datos
Soluciones
Transformación de características (PCA, SVD)útil sólo si existe correlación/redundancia
Selección de características (wrapper/filter)útil si se pueden encontrar clusters en subespacios
“Subspace clustering”Buscar clusters en todos los subespacios posibles.
vg. CLIQUE (Agrawal et al., SIGMOD’1998)
![Page 77: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/77.jpg)
80
Subspace clusteringSubspace clustering
![Page 78: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/78.jpg)
81
Subspace clusteringSubspace clustering
![Page 79: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/79.jpg)
82
Subspace clusteringSubspace clustering
DEMO: CLIQUE et al.DEMO: CLIQUE et al.http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
![Page 80: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/80.jpg)
83
ValidaciónValidación
¿Cómo 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 sólo hay ruido. Comparar dos conjuntos de clusters
alternativos. Comparar dos técnicas de agrupamiento
![Page 81: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/81.jpg)
84
ValidaciónValidación
Criterios externos (aportando información adicional)
p.ej. entropía/pureza (como en clasificación)
Criterios internos (a partir de los propios datos),
p.ej. SSE (“Sum of Squared Error”) para comparar clusters para estimar el número de clusters
Otras medidas:cohesión, separación, coeficientes de silueta…
![Page 82: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/82.jpg)
85
ValidaciónValidación¿Cuál es el número adecuado de agrupamientos?
p.ej. SSE (“Sum of Squared Error”)
k = 1 k = 2 k = 3 J = 873.0 J = 173.1 J = 133.6
![Page 83: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/83.jpg)
86
ValidaciónValidación¿Cuál es el número adecuado de agrupamientos?
p.ej. SSE (“Sum of Squared Error”)
El codo en k=2 sugiere que éste es el valor
adecuado para el número de agrupamientos.
0.00E+00
1.00E+02
2.00E+02
3.00E+02
4.00E+02
5.00E+02
6.00E+02
7.00E+02
8.00E+02
9.00E+02
1.00E+03
1 2 3 4 5 6
kk
JJ
![Page 84: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/84.jpg)
87
ValidaciónValidación
2 5 10 15 20 25 300
1
2
3
4
5
6
7
8
9
10
K
SS
E5 10 15
-6
-4
-2
0
2
4
6
![Page 85: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/85.jpg)
88
ValidaciónValidación
1 2
3
5
6
4
7
![Page 86: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/86.jpg)
89
ValidaciónValidación
Matriz de similitudOrdenamos los datos en la matriz de similitud con respecto a los clusters en los que quedan los datos e inspeccionamos visualmente…
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
PointsP
oin
ts20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
![Page 87: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/87.jpg)
90
ValidaciónValidación
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Points
Po
ints
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Matriz de similitudClusters en datos aleatorios(DBSCAN y k-Means)
Points
Po
ints
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
![Page 88: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/88.jpg)
91
ValidaciónValidación
Matriz de similitudDBSCAN
1 2
3
5
6
4
7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
500 1000 1500 2000 2500 3000
500
1000
1500
2000
2500
3000
![Page 89: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/89.jpg)
92
BibliografíaBibliografía 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, SIGMOD’99.
L. Ertöz, M. Steinbach, and V. Kumar. Finding clusters of different
sizes, shapes, and densities in noisy, high-dimensional data,
SDM’2003
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. VLDB’98
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.
![Page 90: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/90.jpg)
93
BibliografíaBibliografía A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in
Large Multimedia Databases with Noise. KDD’98.
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. VLDB’98.
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, VLDB’97.
T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data
clustering method for very large databases. SIGMOD'96.
![Page 91: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/91.jpg)
94
CréditosCréditos Jiawei Han (University of Illinois at Urbana-
Champaign): “Data Mining: Concepts and Techniques”, capítulo 7, 2006
Pang-Ning Tan (Michigan State University), Michael Steinbach & Vipin Kumar (University of Minnesota): “Introduction to Data Mining”, capítulos 8 y 9, 2006
![Page 92: 4 Clustering](https://reader036.vdocuments.us/reader036/viewer/2022062419/557201e84979599169a29748/html5/thumbnails/92.jpg)
95
Apéndice: Notación OApéndice: Notación O
El impacto de la eficiencia de un algoritmo…
n 10 100 1000 10000100000
O(n) 10ms 0.1s 1s 10s 100s
O(n·log2 n) 33ms 0.7s 10s 2 min 28 min
O(n2) 100ms 10s 17 min 28 horas115 días
O(n3) 1s 17min 12 días 31 años 32 milenios