Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf ·...

70
Outline Introducci ´ on Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado en probabili- dades Algoritmo EM Extensiones AutoClass ¿Cu ´ antos Clusters? Clustering Eduardo Morales, Hugo Jair Escalante INAOE (INAOE) 1 / 70

Transcript of Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf ·...

Page 1: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Clustering

Eduardo Morales, Hugo Jair Escalante

INAOE

(INAOE) 1 / 70

Page 2: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Outline

1 Introduccion

2 Medidas de similaridad

3 Algoritmos

4 k-Means

5 COBWEB

6 Clustering basado en probabilidades

7 Algoritmo EM

8 Extensiones

9 AutoClass

10 ¿Cuantos Clusters?

(INAOE) 2 / 70

Page 3: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Introduccion

Clustering

• Clustering es el proceso de agrupar datos en clases oclusters de tal forma que los objetos de un clustertengan una similaridad alta entre ellos, y baja (seanmuy diferentes) con objetos de otros clusters.

• La medida de similaridad esta basada en los atributosque describen a los objetos.

• Los grupos pueden ser exclusivos, con traslapes,probabilısticos, jerarquicos.

• Clustering puede ser aplicado, por ejemplo, paracaracterizar clientes, formar taxonomıas, clasificardocumentos, etc.

(INAOE) 3 / 70

Page 4: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Introduccion

Retos• Escalabilidad: Normalmente corren con pocos datos.• Capacidad de manejar diferentes tipos de atributos:

Numericos (lo mas comun), binarios, nominales,ordinales, etc.

• Clusters de formas arbitrarias: Los basados endistancias numericas tienden a encontrar clusteresfericos.

• Requerimientos mınimos para especificar parametros,como el numero de clusters.

• Manejo de ruido: Muchos son sensibles a datoserroneos.

• Independientes del orden de los datos.• Poder funcionar eficientemente con alta

dimensionalidad.• Capacidad de anadir restricciones.• Que los clusters sean interpretables y utilizables.

(INAOE) 4 / 70

Page 5: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Introduccion

Clustering

• La medida de similaridad se define normalmente porproximidad en un espacio multidimensional.

• Para datos numericos, usualmente se pasa primero porun proceso de estandarizacion.

• La medida z (z-score) elimina las unidades de losdatos:

Zif =xif − µf

σf

(INAOE) 5 / 70

Page 6: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Introduccion

Clustering

• Donde, σf es la desviacion media absoluta de lavariable f , µf es su media y xif es el i-esimo valor de f .

σf =1n(|x1f − µf |+ |x2f − µf |+ . . .+ |xnf − µf |)

µf =1n(x1f + x2f + . . .+ xnf )

(INAOE) 6 / 70

Page 7: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Medidas de similaridad

Existen medidas para:• Variables numericas• Variables binarias• Variables nominales• Variables ordinales• Variables escalares no lineales• Variables mixtas

(INAOE) 7 / 70

Page 8: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables numericas (lineales)

• Euclideana:

d(i , j) =√|xi1 − xj1|2 + |xi2 − xj2|2 + . . .+ |xin − xjn|2

• Manhattan:

d(i , j) = |xi1 − xj1|+ |xi2 − xj2|+ . . .+ |xin − xjn|

• Minkowski (Si q = 1 es Manhattan y si q = 2 esEuclideana)

d(i , j) = (|xi1 − xj1|q + |xi2 − xj2|q + . . .+ |xin − xjn|q)1/q

• Distancia Pesada (e.g., Euclideana):

d(i , j) =√

w1|xi1 − xj1|2 + w2|xi2 − xj2|2 + . . .+ wn|xin − xjn|2

Propiedades de distancias: (i) d(i , j) ≥ 0, (ii) d(i , i) = 0, (iii)d(i , j) = d(j , i), y (iv) d(i , j) ≤ d(i ,h) + d(h, j).

(INAOE) 8 / 70

Page 9: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables Binarias (0,1)

• Simetricas (ambos valores tienen el mismo peso):

d(i , j) =r + s

q + r + s + t

donde:• q = numero de valores que son 1 en las dos• r = numero de valores que son 1 en i y 0 en j• s = numero de valores que son 0 en i y 1 en j• t = numero de valores que son 0 en las dos.

• No-simetricas (el mas importante y mas raro vale 1),conocido como el coeficiente Jaccard:

d(i , j) =r + s

q + r + s

(INAOE) 9 / 70

Page 10: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables nominales

• Por ejemplo, “color”:

d(i , j) =p −m

p

donde: m = numero de valores iguales, p = numerototal de casos.

• Se pueden incluir pesos para darle mas importancia am.

• Se pueden crear nuevas variables binarias asimetricasa partir de las nominales (e.g., es amarillo o no).

(INAOE) 10 / 70

Page 11: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables ordinales

• Son como las nominales pero con un orden relevante.El orden es importante, pero no la magnitud.

• Pasos:1 Cambia el valor de cada variable por un ranqueo

rif ∈ {1, . . . ,Mf}, donde Mf es el ındice del valor masalto de la variable

2 Mapea el ranqueo entre 0 y 1 para darle igual peso

zif =rif − 1Mf − 1

3 Usa cualquiera de las medidas numericas anteriores.

(INAOE) 11 / 70

Page 12: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables escalares no lineales

• Son variables que siguen una escala no lineal, porejemplo, una escala exponencial

• Posibilidades:1 Tratalas como numerica normal.2 Obten su logaritmo (o alguna otra transformacion) antes

para convertirlas en lineales.3 Consideralas como variables ordinales.

(INAOE) 12 / 70

Page 13: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables mixtas

• Una posibilidad es escalar todas las variables a unintervalo comun (entre 0 y 1):

d(i , j) =

∑pf=1 δ

(f )ij d (f )

ij∑pf=1 δ

(f )ij

donde:δ(f )ij = 0 si xif o xjf se desconocen o si los dos valores

son 0 y la variable es asimetrica binaria. En casocontrario vale 1.d (f )

ij depende del tipo:

(INAOE) 13 / 70

Page 14: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

Variables mixtas

• Si f es binaria o nominal: d (f )ij = 0 si xif = xjf , si no,

d (f )ij = 1.

• Si f es numerica lineal: d (f )ij =

|xif−xjf |maxhxhf−minhxhf

• Si f es ordinal o numerica no lineal: calcula los ındicesrif y zif =

rif−1Mf−1 y toma a zif como numerica lineal.

(INAOE) 14 / 70

Page 15: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

HVDM

• Otra medida popular entre dos vectores ~x , ~y es HVDM(Heterogeneous Value Difference Metric) definidacomo:

HVDM(~x , ~y) =

√√√√ m∑i=1

d2a (xi , yi)

donde m es el numero de atributos y

da(x , y) =

1 si x o y son desconocidasnorm vdma(x , y) si a es nominalnorm diffa(x , y) si a es numerico

(INAOE) 15 / 70

Page 16: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

HVDM

• Como el 95% de los valores de una distribucion normalestan dentro de dos desviaciones estandar de la media,la distancia se divide entre 4 σa

norm diffa(x , y) =|x − y |

4σa

• Originalmente se propusieron 3 medidas:

N1 : norm vdm1a(x , y) =∑c=1

C∣∣∣∣Na,x ,c

Na,x− Na,x ,c

Na,x

∣∣∣∣Na,x = numero de instancias con valor x en el atributo aNa,x ,c = numero de instancias con valor x en el atributoa y clase cC = numero de clases

(INAOE) 16 / 70

Page 17: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Medidas de similaridad

HVDM

• N2: Equivalente a Euclideana y Manhattan (N1)

N2 : norm vdm2a(x , y) =

√√√√∑c=1

C∣∣∣∣Na,x ,c

Na,x− Na,x ,c

Na,x

∣∣∣∣2• N3: Original

N3 : norm vdm3a(x , y) =

√√√√C ∗∑c=1

C∣∣∣∣Na,x ,c

Na,x− Na,x ,c

Na,x

∣∣∣∣2

(INAOE) 17 / 70

Page 18: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmos

Algoritmos de ClusteringExiste una gran cantidad de algoritmos de clustering (solovamos a ver algunos). En particular existen diferentesalgoritmos basados en:• Paticiones• Jerarquicos• Densidades• Rejillas• Modelos• Teorıa de grafos• Busqueda combinatoria• Tecnicas Fuzzy• Redes neuronales• Kernels• Para datos secuenciales• Para grandes conjuntos de datos

(INAOE) 18 / 70

Page 19: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmos

Metodos basados en paticiones

• Construyen k particiones de los datos, donde cadaparticion representa un grupo o cluster

• Cada grupo tiene al menos un elemento y cadaelemento pertenece a un solo grupo.

• Estos metodos, crean una particion inicial e iteran hastaun criterio de paro

• Los mas populares son k -medias y k -medianas (otros:CLARA y CLARANS).

(INAOE) 19 / 70

Page 20: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmos

Metodos Jerarquicos

• Crean descomposiciones jerarquicas• Existen dos tipos:

1 El metodo aglomerativo o bottom-up, empieza con ungrupo por cada objeto y une los grupos mas parecidoshasta llegar a un solo grupo u otro criterio de paro (e.g.,AGNES, BIRCH, CURE, ROCK).

2 El metodo divisorio o top-down, empieza con un sologrupo y lo divide en grupos mas pequenos hasta llegara grupos de un solo elemento u otro criterio de paro(e.g., DIANA, MONA).

(INAOE) 20 / 70

Page 21: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmos

Otros Metodos

• Metodos basados en densidades: Se agrupan objetosmientras su densidad (numero de objetos) en la“vecindad” este dentro de un cierto umbral (e.g.,DBSCAN, DENCLUE).

• Metodos basados en rejillas: Se divide el espacio enrejillas a diferentes niveles (e.g, STING, CLIQUE).

• Metodos basados en modelos: Se encuentra unmodelo para cada cluster que mejor ajuste los datos deese grupo (e.g., COBWEB, AutoClass).

(INAOE) 21 / 70

Page 22: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmos

Otros Metodos

• Metodos basados en teorıa de grafos: Utilizanrepresentaciones basadas en grafos (e.g., Chameleon,Delaunay triangulation graph (DTG), highly connectedsubgraphs (HCS), clustering identification viaconnectivity kernels (CLICK), cluster affinity searchtechnique (CAST))

• Tecnicas basadas en Busqueda Combinatoria (e.g.,Genetically guided algorithm (GGA), TS clustering, SAclustering)

• Tecnicas Fuzzy (e.g., Fuzzy c-means (FCM), mountainmethod (MM), possibilistic c-means clustering algorithm(PCM), fuzzy c-shells (FCS))

(INAOE) 22 / 70

Page 23: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmos

Otros Metodos

• Tecnicas basadas en Redes Neuronales (e.g., Learningvector quantization (LVQ), self-organizing feature map(SOFM), ART, simplified ART (SART), hyperellipsoidalclustering network (HEC), self-splittting competitivelearning network (SPLL))

• Tecnicas basadas en Kernels (e.g. Kernel K-means,support vector clustering (SVC))

• Tecnicas para Datos Secuenciales (e.g. Similaridadsecuencial, clustering secuencial indirecto, clusteringsecuencial estadıstico)

• Tecnicas para grandes conjuntos de datos (e.g.,CLARA, CURE, CLARANS, BIRCH, DBSCAN,DENCLUE, WaveCluster, FC, ART)

(INAOE) 23 / 70

Page 24: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

k-Means

k-Means

• Es de los mas conocidos y usados• Toma como parametro k que es el numero de clusters

que forma.• Pasos:

1 Selecciona k elementos aleatoriamente, los cualesrepresentan el centro o media de cada cluster.

2 A cada objeto restante se le asigna el cluster con el cualmas se parece, basandose en una distancia entre elobjeto y la media del cluster

3 Despues calcula la nueva media del cluster e itera hastano cambiar de medias.

(INAOE) 24 / 70

Page 25: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

k-Means

Algoritmo de k-means

Selecciona k objetos aleatoriamenterepeat

Re(asigna) cada objeto al cluster mas similarcon el valor medio

Actualiza el valor de las medias de los clustersuntil no hay cambio

(INAOE) 25 / 70

Page 26: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

k-Means

k-means

• Normalmente se utiliza un medida de similaridadbasada en el error cuadratico:

E =k∑

i=1

∑p∈Ci

|p −mi |2

donde: p representa al objeto y mi a la media delcluster Ci (ambos son objetos multidimensionales).

• k -means es susceptible a valores extremos porquedistorcionan la distribucion de los datos.

• Tambıen se pueden utilizar las modas (k -modes) paraagrupar objetos categoricos.

(INAOE) 26 / 70

Page 27: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

k-Means

k-Medianas

• Otra posibilidad es usar medianas (k -medoids) paraagrupar con base al objeto mas representativo delcluster

• La idea basica es encontrar un objeto representativo• La estrategia es reemplazar una de las medianas por

otro objeto en forma aleatoria y medir si la calidad delos clusters resultantes mejoran

• La calidad se evalua con base en una funcion de costoque mide la disimilaridad promedio entre un objeto y lamediana en su cluster.

(INAOE) 27 / 70

Page 28: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

k-Means

k-Medianas• Para ver si un objeto aleatorio es un buen reemplazo de

la mediana actual, se consideran todos los objetos queno sean medianas y se analiza la re-distribucion de losobjetos a partir de la cual se calcula un costo basado,por ejemplo, en el error cuadratico

• Esto se repite hasta que no exista mejora.• Como en muchos de los metodos vistos, no garantiza

encontrar el mınimo global, por lo que se recomiendacorrer varias veces el algoritmo con diferentes valoresiniciales.

• Otra variante es hacer un k -means jerarquico, endonde se empieza con k = 2 y se continua formandoclusters sucesivos en cada rama.

• Si queremos escalarlo a grandes bases de datos,podemos tomar unicamente muestras de los datos.

(INAOE) 28 / 70

Page 29: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Cobweb

• Crea un cluster jerarquico con un arbol de clasificacion.• En un arbol de clasificacion cada nodo es un concepto

que tiene una descipcion probabilıstica de ese conceptoque resume los objetos clasificados bajo ese nodo.

• La descripcion probabilıstica incluye la probabilidad delconcepto (P(Ci)) y las probabilidades condicionales depares atributos-valor dado el concepto (P(Ai = Vij |Ck )).

(INAOE) 29 / 70

Page 30: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Cobweb

• Utiliza una medida llamada utilidad de la categoria paraconstruir el arbol:

CU =

∑nk=1 P(Ck )

[∑i∑

j P(Ai = Vij |Ck )2 −

∑i∑

j P(Ai = Vij)2]

ndonde: n es el numero de clases en un nivel del arbol.• La utilidad de la categoria mide el valor esperado de

valores de atributos que pueden ser adivinados a partirde la particion sobre los valores que se pueden adivinarsin esa particion.

(INAOE) 30 / 70

Page 31: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Cobweb

• Si la particion no ayuda en esto, entonces no es buenaparticion.

• Entre mas grande es la proporcion de elementos de laclase que tienen ese atributo-valor, ese atributo-valor esmas predictivo sobre la clase.

• COBWEB desciende el arbol buscando el mejor lugar onodo para cada objeto

• Esto se basa en poner el objeto en cada nodo y en unnodo nuevo y medir en cual se tiene la mayor gananciade utilidad de categorıa.

(INAOE) 31 / 70

Page 32: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Cobweb

• COBWEB tambien considera en cada iteracion unir losdos mejores nodos evaluados y dividir el mejor nodoevaluado

• Esto es, cada vez que se considera un lugar en un nivelpara un nuevo objeto, se consideran los dos mejoresobjetos (de mayor utilidad) y se considera juntarlos.

• El caso contrario, sucede una vez que se encuentra elmejor lugar para un nuevo objeto, pero el unir nodos noresulta beneficioso, entonces se considera dividir esenodo.

(INAOE) 32 / 70

Page 33: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Cobweb

• COBWEB depende del orden de los objetos, por lo quea veces es conveniente probarlo con objetos endiferente orden.

• La division entre el numero de cluster sirve paraincentivar tener clusters con mas de un elemento.

• COBWEB supone que la distribucion de probabilidadde los atributos es independiente de las demas.

(INAOE) 33 / 70

Page 34: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Classit• Cobweb se puede extender a valores numericos

usando gaussianas (CLASSIT).

f (a) =1√

2πσ2e−

(a−µ)2

2σ2

• El equivalente a la sumatoria de probabilidades es:∑j

P(Ai = Vij)2 ∼

∫f (ai)

2dai =1

2√πσi

• Ahora se estima la desviacion estandar del atributonumerico con los datos en el cluster y en los datos paratodos los clusters:

CU =1k

n∑k=1

P(Ck )1

2√π

∑i

(1σik− 1σi

)(INAOE) 34 / 70

Page 35: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

COBWEB

Classit

• Si la desviacion estandar es cero el valor de utilidad sevuelve infinito, por lo que se impone un valor devarianza mınimo en cada atributo (acuity).

• El otro parametro que se usa en COBWEB es el decorte (cutoff), que basicamente se usa para parar lageneracion de nuevos nodos.

(INAOE) 35 / 70

Page 36: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Clustering basado en probabilidades

Clustering basado en probabilidades

• Desde el punto de vista bayesiano, lo que buscamos esel grupo de clusters mas probables dados los datos.

• Ahora los objetos tienen cierta probabilidad depertenecer a un grupo o cluster.

• La base de un clustering probilıstico esta basado en unmodelo estadıstico llamado finite mixtures (mezcla dedistribuciones).

• Una mezcla es un conjunto de k distribuciones,representando k clusters.

(INAOE) 36 / 70

Page 37: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Clustering basado en probabilidades

Clustering basado en probabilidades

• Cada distribucion nos da la probabilidad de que unobjeto tenga un conjunto particular de paresatributo-valor si se supiera que fuera miembro de esecluster.

• La mezcla mas sencilla es cuando tenemos purosatributos numericos con distribuciones gaussianas condiferentes medias y varianzas.

• La idea es, dado un conjunto de datos, determinar las kdistribuciones normales (medias y varianzas) y lasprobabilidades particulares de cada distribucion(pueden ser diferentes).

(INAOE) 37 / 70

Page 38: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Clustering basado en probabilidades

Mezcla de Gaussianas

• Por ejemplo, si tuvieramos dos distribuciones A y B conµA, σA y µB, σB, y PA (PA + PB = 1), podemos generarun conjunto de datos.

• Si supieramos de que distribucion salio cada dato, esfacil calcular su media y varianza, y las PA y PB.

µ =x1 + x2 + . . . xn

n

σ2 =(x1 − µ)2 + (x2 − µ)2 + . . . (xn − µ)2

n − 1

(INAOE) 38 / 70

Page 39: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Clustering basado en probabilidades

Mezcla de Gaussianas

• Calcular la probabilidad de que un objeto (x)pertenezca a un cluster (e.g., A), es:

P(A|x) = P(x |A)P(A)P(x)

=f (x ;µA, σA)PA

P(x)

donde f (x ;µA, σA) es una distribucion normal:

f (x ;µA, σA) =1√

2πσ2e−

(x−µ)2

2σ2

Podemos ignorar P(x) y al final normalizar.

(INAOE) 39 / 70

Page 40: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmo EM

Algoritmo EM

• El problema es que no sabemos de que distribucionviene cada dato y no concemos los parametros de lasdistribuciones.

• El algoritmo EM (Expectation Maximization) empiezaadivinando los parametros de las distribuciones y losusa para calcular las probabilidades de que cada objetopertenezca a un cluster

• Usa esas probabilidades para re-estimar losparametros de las probabilidades, hasta converger (sepuede empezar adivinando las probabilidades de queun objeto pertenezca a una clase).

(INAOE) 40 / 70

Page 41: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmo EM

Algoritmo EM

• El calculo de las probabilidades de las clases o losvalores esperados de las clases es la parte deexpectation.

• El paso de calcular los valores de los parametros de lasdistribuciones, es maximization, maximar laverosimilitud de las distribuciones dados los datos.

• Para estimar los parametros, tenemos que considerarque tenemos unicamente las probabilidades depertenecer a cada cluster y no los clusters en si.

(INAOE) 41 / 70

Page 42: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmo EM

Algoritmo EM

• Estas probabilidades actuan como pesos:

µA =w1x1 + w2x2 + . . .wnxn

w1 + w2 + . . .wn

σ2A =

w1(x1 − µ)2 + w2(x2 − µ)2 + . . .wn(xn − µ)2

w1 + w2 + . . .wn

donde wi es la probabilidad de que el objeto ipertenezca al cluster A y se suma sobre todos losobjetos (no solo los de A).

(INAOE) 42 / 70

Page 43: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Algoritmo EM

Algoritmo EM

• El algoritmo tiende a converger pero nunca llega a unpunto fijo.

• Podemos ver que tanto se acerca calculando laversorimilitud general de los datos con esosparametros, multiplicando las probabilidades de losobjetos individuales (i):∏

i

(PAP(xi |A) + PBP(xi |B))

• Esta medida crece en cada iteracion, y se itera hastaque el crecimiento es despreciable.

• Aunque EM garantiza convergencia, esta puede ser aun maximo local, por lo que se recomienda repetir elproceso varias veces.

(INAOE) 43 / 70

Page 44: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Extensiones

Extensiones

• Extender a mas de dos distribuciones es practicamentedirecto.

• Extenderlo a instancias con atributos multiples, si sesupone independencia de los atributos, se puede hacermultiplicando las probabilidades para obtener unadistribucion de probabilidad conjunta.

• Si existen dos atributos correlacionados, se puedenanalizar con una distribucion normal bi-variable endonde se utiliza una matriz de covarianza

• El numero de parametros crece al cuadrado del numerode atributos que se consideren correlacionados entre sı

(INAOE) 44 / 70

Page 45: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

Extensiones

Extensiones

• Se pueden especificar diferentes distribuciones (cadauna con sus propios parametros) para diferentes tiposde datos.

• Se puede penalizar el modelo que instroduzcaparametros y el que defina un numero mayor declusters.

(INAOE) 45 / 70

Page 46: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

AutoClass

AutoClass

• Realiza un descubrimiento automatico de clases endatos (P. Cheeseman, J. Stutz).

• Una vez que las clases han sido identificadas, estaspueden servir para clasificar nuevos datos.

• La idea es encontrar la hipotesis mas probable, dadoslos datos e informacion a priori.

(INAOE) 46 / 70

Page 47: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

AutoClass

AutoClass

• Normalmente se busca un balance entre que tan biense ajustan los datos a las clases y complejidad de lasclases (casos extremos, una clase por dato o una solaclase para todos los datos).

• En AutoClass los datos se pueden representar porvalores discretos, enteros y reales.

• El modelo es una mezcla finita de distribuciones deprobabilidad, cada una con su conjunto de parametros.

(INAOE) 47 / 70

Page 48: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

AutoClass

AutoClass

• Para cada dato se asigna una probabilidad depertenencia a una clase (o un peso).

• Dado un conjunto de datos se busca:1 Los valores mas probables (MAP) de los parametros

(para las distribuciones y clases dadas), dada unadistribucion de probabilidad.

2 La distribucion de probabilidad mas probable (numerode clases y modelos alternativos), independientementede los parametros.

(INAOE) 48 / 70

Page 49: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

AutoClass

AutoClass

• Se supone que los datos son condicionalmenteindependientes dada la clase, por lo que la distribucionconjunta de los datos es el producto de lasprobabilidades individuales.

• Cada dato pertenece a una y solo una clase (de unconjunto disjunto de clases) con probabilidadP(Xi ∈ Cj | ~Vc ,Tc), donde ~Vc es el vector deparametros de la distribucion y Tc es la distribucionparticular).

• Las clases representan una particion discreta de losdatos y por lo tanto la distribucion mas apropiada esuna distribucion Bernoulli o binomial

(INAOE) 49 / 70

Page 50: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

AutoClass

AutoClass

AutoClass trata de encontrar los parametros de lasdistribuciones de probabilidad dependiendo del tipo devalores de las variables:• Discretos: Bernoulli• Reales: Gaussianas• Reales - Escalares (e.g., edad, peso): log-Gaussianas• Enteros: Poisson

(INAOE) 50 / 70

Page 51: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

AutoClass

AutoClass

• En general se debe de establecer cuantas clases ycorrer el proceso.

• Al correrlo, existen muchos maximos locales, por lo quehay que correr el proceso varias veces a partir dediferentes valores iniciales para los parametros.

(INAOE) 51 / 70

Page 52: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

¿Cuantos Clusters?

• Para algunas aplicaciones es facil determinar elnumero de clusters, ”K”, de acuerdo al conocimiento deldominio.

• Para la mayorıa de los casos, ”K” se desconoce y seestima a partir de los datos.

• Muchos algoritmos de clustering requieren a ”K” comoparametro de entrada y la calidad de los resultadosesta fuertemente ligada a este valor.

(INAOE) 52 / 70

Page 53: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

¿Cuantos Clusters?

• Una division con muchos clusters complica losresultados porque los hace difıciles de interpretar yanalizar.

• Una division con muy pocos clusters lleva a una perdidade informacion y puede llevar a tomar malas decisiones.

• Al problema de determinar el numero de clusters se leconoce como “el problema fundamental de la validezdel cluster”

(INAOE) 53 / 70

Page 54: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Numero de Clusters

Algunos metodos que se han utilizado para encontrar elnumero adecuado de clusters son:

• Visualizacion del conjunto de datos, lo que funcionabien para dos dimensiones pero generalmente nuestrosconjuntos de datos son mucho mas complicados.

• Construccion de ındices (o reglas de paro). En estecaso se utilizan ındices para enfatizar la compactesintra-cluster e isolacion inter-cluster considerandoefectos tales como: el error cuadratico, propiedadesgeometricas o estadısticas de los datos, el numero depatrones, la disimilaridad o similaridad, numero declusters.

(INAOE) 54 / 70

Page 55: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Numero de Clusters

• Optimizacion de alguna funcion de criterio bajo elmarco del modelo de mezcla de probabilidades.

• En este caso se utiliza el algoritmo EM (usualmente),para encontrar el valor de ”K” que maximize o minimizeel criterio definido como optimo.

• Criterio de Informacion de Akaike (AIC).• Criterio de Inferencia Bayesiana.

• Otros metodos heurısticos basados en una variedad detecnicas y teorıas.

(INAOE) 55 / 70

Page 56: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

X-means

Variante de K-means para determinar automaticamente elnumero de clustersAlgoritmo X-Means (rango de K : [Kmin . . .Kmax ])

1 Mejora parametros (corre K-means)2 Mejora estructura (ver abajo)3 Si K > Kmax termina y regresa el modelo mejor

evaluado, si no regresa a 1

(INAOE) 56 / 70

Page 57: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Mejora Estructura

• Divide cada cluster en 2 (a una distancia proporcional asu tamano a lo largo de un vector aleatorio)

• Corre un K-means local, con K=2• Evalua si la medida mejora (con 2 clusters) o no

(cluster original)

(INAOE) 57 / 70

Page 58: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Medida

BIC(Mj) = l(Dj)−pj

2· logR

l(Dn) = −Rn2 log(2π)− Rn·M

2 log(σ2)

−Rn−K2 + RnlogRn − RnlogR

σ2 =1

R − K

∑i

(xi − µ(i))2

pj = numero de parametros = K − 1 + (M · K ) + 1R = |D| y Ri = |Di |M = numero de dimensiones

(INAOE) 58 / 70

Page 59: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

X-means

(INAOE) 59 / 70

Page 60: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Medidas de Calidad

• La evaluacion de los clusters tambien es complicada• ¿Cual agrupacion es mejor?

(INAOE) 60 / 70

Page 61: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

¿Cual agrupacion es mejor?

(INAOE) 61 / 70

Page 62: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Medidas de Calidad

Existen dos clases:• Evaluacion interna: Entre los grupos generados• Evaluacion externa: Contra grupos conocidos

La evaluacion final generalmente la realiza una persona

(INAOE) 62 / 70

Page 63: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Indice Davies-Bouldin (interna)

DB =1n

n∑i=1

maxj 6=i

(σi + σj

d(ci , cj)

)

• n = numero de clusters• cx = centroide del cluster x• σx = distancia promedio de todos los elementos en el

cluster x a su centroide cx y d(ci , cj) es la distanciaentre centroides ci y cj .

• El algoritmo que produce el valor menor entre todos losclusters es el mejor

(INAOE) 63 / 70

Page 64: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Induce Dunn (interna)

• Busca indentificar clusters densos y claramenteseparados.

D =min1≤i<j≤nd(i , j)max1≤k≤nd ′(k)

• d(i , j) = distancia entre clusters i y j (intra-clusters), quepuede ser la distancia entre centroides.

• d ′(k) = distancia intra-cluster de cluster k . Puede ser ladistancia maxima entre pares de elementos del cluster.

• Grupos con valores mayores del ındice son mejores

(INAOE) 64 / 70

Page 65: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Coeficiente de Silueta (interna)

• El coeficiente de silueta (silhouette) contrasta ladistancia promedio de elementos en el mismo clustercon la distancia promedio de elementos en otrosclusters

• Elementos con alto valor se consideran bienagrupados, mientras que objetos con medidas bajas seconsideran outliers

• Funciona bien para k-means

(INAOE) 65 / 70

Page 66: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Purity (externa)

• La pureza mide en que medida los clusters contienenuna sola clase

1N

∑m∈M

maxd∈D|m ∩ d |

• M = clusters• D = clases• N = datos

(INAOE) 66 / 70

Page 67: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Indice Rand (externa)

• Mide que tan parecidos son los clusters a las clases

RI =TP + TN

TP + FP + TN + FN

• TP = true positives• FP = false positives• TN = true negatives• FN = false negatives

(INAOE) 67 / 70

Page 68: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

F-Measure (externa)

• Puede balancear los falsos negativos usando precision(P) y recuerdo (R)

Fβ =(β2 + 1) · P · Rβ2 · P + R

P =TP

TP + FP

R =TP

TP + FN

(INAOE) 68 / 70

Page 69: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Indice de Jaccard (externo)

• Mide la similaridad entre dos grupos.• Los elementos comunes entre los dos grupos entre los

elementos de los dos grupos

J(A,B) =|A ∩ B||A ∪ B|

=TP

TP + FP + FN

(INAOE) 69 / 70

Page 70: Clustering - ccc.inaoep.mxccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/clustering.pdf · Outline Introduccion´ Medidas de similaridad Algoritmos k-Means COBWEB Clustering basado

Outline

Introduccion

Medidas desimilaridad

Algoritmos

k-Means

COBWEB

Clusteringbasado enprobabili-dades

Algoritmo EM

Extensiones

AutoClass

¿CuantosClusters?

¿Cuantos Clusters?

Otros (externos)

Indice Dice:

D(A,B) =2TP

2TP + FP + FN

Indice Fowlkes-Mallows: La media geometrica deprecision y recuerdo (tambien conocida como G −measure(F-Measure es la media armonica)

FM =

√TP

TP + FP· TP

TP + FN

(INAOE) 70 / 70