Métodos no supervisados: Agrupamientocalonso/MUI-TIC/MineriaDatos/NoSupervisa... · Agrupamiento 3...

Post on 01-Oct-2018

229 views 0 download

Transcript of Métodos no supervisados: Agrupamientocalonso/MUI-TIC/MineriaDatos/NoSupervisa... · Agrupamiento 3...

Carlos J. Alonso GonzálezDepartamento de InformáticaUniversidad de Valladolid

Métodos no supervisados: Agrupamiento

Agrupamiento –clustering-

Agrupamiento 2

Contenido

1. Introducción2. Basados en particiones3. Métodos jerárquicos4. Métodos basados en modelos

Agrupamiento 3

1 IntroducciónFormación de conceptos

Dado Instancias de un concepto, posiblemente

desconocido

Obtener Caracterización del concepto

Dos aproximaciones principales Agrupamiento Descubrimiento

Agrupamiento 4

Descubrimiento de conceptos

Amplia clase de sistemas Los más sencillos: descubrimiento empírico, leyes

generales que describen observaciones BACON

Descubrimiento de leyes cuantitativas Proust, Gases Ideales, Kepler, Ohm...

Los más complejos: formación de teorías, manipulando conocimiento base junto a observaciones ABACUS

Leyes cuantitativas y precondiciones para su uso

Agrupamiento 5

Agrupamiento –cluster analysis-

Objetivo: encontrar grupos que reflejen la estructura del espacio de entrada

Cluster: conjunto de instancias Similares en el mismo cluster Distintos entre clusters diferentes

Clustering: agrupar datos de entrada en clusters

Usos principales Herramienta de análisis de datos Etapa de preprocesado para otros algoritmos

Agrupamiento 6

Aparentemente simple

Agrupamiento 7

En la práctica, complejo

Agrupamiento 8

Calidad del agrupamiento

Clusters con Alta similitud intra clase Baja similitud inter clase

Dificultad de evaluación Depende a la medida de similitud

Subjetivo Dependiente de la aplicación

Capacidad para encontrar patrones ocultos

Agrupamiento 9

Principales aproximaciones

Basados en particiones Crean particiones sucesivas del conjunto de datos

Jerárquicos Descomposición jerárquica del conjunto de objetos

Basados en densidades Funciones densidad y conectividad

Basados en rejillas Estructuras de diversa granularidad

Basados en modelos Se supone un modelo del cluster y se ajustan sus

parámetros ¡Combinaciones de los anteriores!

Agrupamiento 10

2. Basados en particiones

Dividen el conjunto de entrenamiento, D, en kparticiones

Objetivo: dado k, dividir D en k grupos que optimice el criterio de partición -similitud-

Óptimo global: requiere búsqueda exhaustiva de todas las particiones

Métodos heurísticos: Óptimo local K-medias K-medianas

K-medias (centros móviles)

Método clásico (67)

Seleccionar aleatoriamente k centros iniciales Repetir

Asignar instancias a cluster con centro más próximo Calcular los nuevos centroides de los clusters

Hasta criterio de convergencia

Agrupamiento 11

K-medias: ejemplo I

K-medias: ejemplo II

Agrupamiento 13

K-medias: ejemplo II (continuación)

Agrupamiento 14

Agrupamiento 15

Discusión

El algoritmo minimiza el error cuadrático de la distancia a los centros de los clusters Convergencia si distancia euclídea Mínimo local

Simple y relativamente eficiente, O(tkn) t iteraciones, k particiones, n=|D| Usualmente t, k << n

Limitaciones Hay que fijar k Solo aplicable si está definida la media Sólo clusters convexos Poco robusto al ruido Outliers Diferencias significativas con selección inicial de centros

Agrupamiento 16

Influencia selección inicial

Agrupamiento 17

Influencia selección inicial

Agrupamiento 18

K-medianas

Usar como centros las medianas y no las medias

Mediana de un cluster: la instancia más centrada No se ve afectada por outliers Más robusto al ruido

Estrategia de substitución de medianas más sofisticada

Agrupamiento 19

Estrategia de substitución de medianas

Para determinar si instancia mh es un buen substituto de mi – centroide i-ésimo -, se examinan 4 posibilidades para cada instancia no centroide, j

1. j en centroide mi; si al reemplazar mi por mh j está más próximo a mt, i≠t, asignar j a mt

2. j en centroide mi; si al reemplazar mi por mh j está más próximo a mh, asignar j a mh

3. j en centroide mt; si al reemplazar mi por mh j sigue más próximo a mt, i≠t, no modificar asignación

4. j en centroide mt; si al reemplazar mi por mh j está más próximo a mh, i≠t, asignar j a mh

Ejemplo substitución medianas

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

j

ih

t

Cjih = 0

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

t

i hj

Cjih = d(j, h) - d(j, i)

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

h

i t

j

Cjih = d(j, t) - d(j, i)

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

t

ih j

Cjih = d(j, h) - d(j, t)

Agrupamiento 21

Coste del intercambio

Cada vez que se produce un intercambio, se puede modificar el error cuadrático

Para cada punto no centroide, se calcula la diferencia del error cuatrático del nuevo al antiguo centroide: Cjih j no centroide, i centroide anterior, h nuevo

centroide

El coste total es la suma extendida a todos los no centroides CTih=∑j Cjih

Si CTih <0 se produce el cambio

Ejemplo costes intercambios

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

j

ih

t

Cjih = 0

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

t

i hj

Cjih = d(j, h) - d(j, i)

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

h

i t

j

Cjih = d(j, t) - d(j, i)

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

t

ih j

Cjih = d(j, h) - d(j, t)

Agrupamiento 23

PAM: Partition around medoids

Uno de los primeros algoritmos k-medianas (87)

• Seleccionar aleatoriamente k centros iniciales• Asignar instancias a cluster con centro más próximo • Repetir

• Para cada centro i • seleccionar aleatoriamente una instancia no central, xh

• Calcular el coste total de intercambiar i e h: CTih

• Si CTih <0, reemplazar i por h y reasignar instancias no centroides

• Hasta criterio de convergencia

Agrupamiento 24

PAM: discusión

Efectivo para conjuntos de datos pequeños

No es adecuado para conjuntos de datos grandes

Alternativas CLARA CLARANS

Agrupamiento 25

CLARA (Clustering Large Applications, 1990)

CLARA Extrae múltiples muestras del conjunto de

entrenamiento Aplica PAM a cada muestra Devuelve partición con menor error cuadrático

Ventaja: permite trabajar con conjuntos de datos más grandes

Inconvenientes La eficiencia depende del tamaño de la muestra Si la muestra está sesgada, un buen clustering de la

muestra no será un buen clustering del conjunto de datos

Agrupamiento 26

CLARANS (Clustering Large Applications based upon RANdomize Search, 1994)

CLARANS Búsqueda en grafo de particiones: cada nodo,

posible solución (conjunto de k-medoides) Extrae, dinámica y aleatoriamente, nuevas muestras

vecinas de instancias ya consideradas Genera nodos al modificar centros, mientras

disminuya error cuadrático Si mínimo local, selecciona aleatoriamente otro nodo Más eficiente y escalable que PAM y CLARA

Agrupamiento 27

3 Métodos jerárquicos

Agrupan las instancias en un árbol de clusters: Dendograma

Dos aproximaciones Métodos aglomerativos o botton-up

Inicialmente asignan un cluster a cada instancia Fusionan los clusters según criterio de similitud Más frecuente

Métodos divisorios o top-down Inicialmente único cluster con todas las instancias Didive los clusters

Agrupamiento 28

Ejemplo

Step 0 Step 1 Step 2 Step 3 Step 4

b

dc

e

a a b

d ec d e

a b c d e

Step 4 Step 3 Step 2 Step 1 Step 0

agglomerative(AGNES)

divisive(DIANA)

Agrupamiento 29

Dendograma

Descompone datos en particiones anidas (árbol de clusters)

Una partición se obtiene cortando el dendograma al nivel deseado: cada componente conectado es un cluster

Agrupamiento 30

Características

Utilizan matriz de distancias mi,j=d(xi,xj)

No es preciso conocer k Condición de terminación (salvo único

cluster o todas las instancias)

Agrupamiento 31

Criterios de unión

Distancias habituales entre clases Mínima: puntos más cercanos del cluster (simple linkage) Máxima: puntos más alejados del cluster (complete

linkage) Medias: ente las medias de los dos clusters Promedio: entre los puntos de los dos clusters

Método de Ward: se fusionan los dos clusters cuya unión genera el mínimo incremento del error cuadrático (tb. basado en distancias)

Complete y Ward crean clusters más compactos: Generalmente, Ward mejor comportamiento, Ward mayor coste computacional (aunque método efectivo

si distancia euclídea)

Agrupamiento 32

AGNES AGlomerative NESting

Introducido 90 Inicialmente, un cluster por instancia En cada paso se agrupan clusters más

cercanos Hasta condición de terminación o un único

cluster

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Agrupamiento 33

Ejemplo: 5 instancias y distancia mínima

Tree Diagram for 5 VariablesSingle Linkage

Dissimilarities from matrix

Linkage Distance

VAR5

VAR4

VAR2

VAR3

VAR1

0 1 2 3 4 5 6 7

1 2 3 4 5

1 0 7 1 9 8

2 7 0 6 3 5

3 1 6 0 8 7

4 9 3 8 0 4

5 8 5 7 4 0

Agrupamiento 34

DIANA: DIvisive ANAlysis

90 Inicialmente, un único cluster con todas las

instancias En cada paso, generar clusters más separados Hasta condición de terminación o cada cluster

una instancia

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Agrupamiento 35

Métodos Jerárquicos: Discusión

Método simple No precisa conocer k: cortar el dendográma al nivel

deseado Determinista Clusters no esféricos Dificultades

Selección puntos de fusión o división Irrevocable Si errónea, malos resultados Costosa

Coste 0(n2) Posibilidades

Combinar clustering jerárquico con otras técnicas: BIRCH, CURE, etc

Agrupamiento 36

BIRCH (96)

Balanced Iterative Reducing and Clustering using Hierarchies

Construcción incremental del árbol CF (Clustering Feature: información cada cluster) Fase 1: escanear base de datos para construir,

dinámicamente, el árbol Fase 2: Utilizar un algoritmo arbitrario de clustering

para agrupar nodos hojas

Escalable (lineal), cluster de calidad con único escán

Sólo datos numéricos

Agrupamiento 37

Inconvenientes métodos basados en error cuadrático

Un representante por clase Clusters esféricos

Precisan buena estimación de K

Agrupamiento 38

CURE: Clustering Using Representatives (98)

Usa varios centroides para representar un cluster Adaptación a geometría no esférica

Extraer muestra aleatoria Particiona instancias en p grupos Clustering de cada partición (jerárquico) Eliminar outliers muestreando Agrupa cluster parciales

Agrupamiento 39

Ejemplo

p=2

xx

x

y

y y

y

x

y

x

Agrupamiento 40

CURE: agrupación

x

y

x

y

Agrupamiento 41

4 Métodos basados en modelos

Asumen la existencia de un modelo matemático

Intentan optimizar el ajuste ente el modelo y los datos

Habitualmente, asumen que el espacio de instancias esta gobernado por una mezcla de distribuciones de probabilidades

Dos aproximaciones principales Probabilísticos: Clustering conceptual, algoritmo EM Redes de neuronas: competitivos, mapas

autoorganizados

Agrupamiento 42

Limitaciones del clustering basado en similitud

Define los cluster por extensión No proporciona ninguna descripción del

concepto No utilizan conocimiento

Incapaces, por ejemplo, de encontrar el concepto galaxia a partir de imágenes del cielo

No tienen en cuenta el objetivo final ¿Por qué clasificar la ballena como

mamífero y no como pez?

Agrupamiento 43

Clustering Conceptual

Introducido por Michalski, 80

Agrupa las instancias en clases, según los valores de los atributos, intentando crear un concepto que las explique

Obtiene una descripción del concepto Incluyen conocimiento: probabilidades, bias,

etc. Objetivo: obtener conceptos que no se basen

sólo en la similitud de los datos

Agrupamiento 44

COBWEB, Fischer, 87

Agrupamiento conceptual incremental Crea un cluster jerárquico en forma de árbol

de clasificación Cada nodo corresponde a un concepto Descrito en términos probabilísticos, P(Ck),

p(ai=vij/Ck) Hijos de un nodo: partición

Utiliza medida de utilidad para guiar la construcción

Añade instancias una a una, realizando operaciones sobre el árbol que maximizan utilidad

Agrupamiento 45

Árbol de clasificación

Agrupamiento 46

Utilidad de la categoría

K

K

k

I

i

J

jijikijik VAPCVAPCP∑ ∑∑

= = =

=−=1 1 1

22 ]))|([)( (

Similitud en las clases (intraclass), previsibilidad

Disimilitud entre las clases, (interclass), predictibilidad

)( 2|CVAP kiji=

)( 2| VACP ijik =

Sólo tiene sentido introducir una clases si p(ai=vij/Ck) >p(ai=vj)

Favorece:

Agrupamiento 47

Factor 1/k?

Penalizar la creación de clusters para evitar sobreajuste

Valor máximo de la utilidad sin factor 1/k: un cluster por instancia p(ai=vij/Ck)=1 para el valor actual de la

única instancia de la clases, 0 restantes valores

numerador:

n: número de atributos

)2

1 1

( VA iji

I

i

J

jPn =−∑∑

= =

Agrupamiento 48

Insertar instancia

Clasificar la instancia

Crear una nueva clase1. Utilidad de instancia en mejor clase2. Utilidad de instancia en nueva clase3. Crear si alguna de las opciones de 2 es

mejor que 1

Agrupamiento 49

Operaciones sobre el árbol

Añadir una nueva categoría para una sola instancia

Combinar dos categorías existentes y añadir la instancia a la categoría resultante

Dividir una categoría existente y colocar la instancia en la mejor categoría del nuevo árbol

Agrupamiento 50

Combinación

BA

P

… … …

P

… …

BA

N

Combinación

Agrupamiento 51

Separación

BA

P

… … …

P

… …

BA

N

Separación

Agrupamiento 52

Discusión

Capaz de obtener descripciones de conceptos en base al conocimiento previo (probabilidades)

Limitaciones Solo atributos discretos

CLASSIT, extensión atributos continuos Asume atributos independientes No hay garantía de mínimo local Sensible al orden de presentación de los ejemplos 1/k?

Agrupamiento 53

Algoritmo EM (Expectation Maximization)

La división de un conjunto de datos en grupos disjuntos puede no ser la mejor solución Especialmente si los datos son heterogéneos, en el

sentido de que los datos pueden reflejar fenómenos de diferente naturaleza

Necesitaríamos Permitir que una instancia pueda pertenecer a más

de un grupo, en distinto grado

Solución estadística clásica: Mixture Models La población se describe como una combinación

lineal de distribuciones

Agrupamiento 54

Ejemplo: combinación de dos distribuciones normales

Cada instancia se genera Eligiendo una de las dos Normales aleatoriamente (por

ejemplo, distribución uniforme) Generando la instancia de acuerdo a la distribución elegida

Varianza idéntica y conocida

Agrupamiento 55

Estimación de las k medias

La tarea de aprendizaje se plantea Asumir instancias responden a una

combinación de k Normales Medias desconocidas <µ1, µ2, ... µk> No sabemos que instancia xi fue generada

por que normal µj

Determinar Estimación máxima verosimilitud de

<µ1, µ2, ... µk>

Agrupamiento 56

Variables ocultas

Plantear el problema en términos de variables no observables

Describir cada instancia comoyi=<xi, zi1, zi2>

zij=1 si generada por j-ésima normal xi observable zij no observable

Agrupamiento 57

EM para la estimación de 2 medias normales, σ conocida

Hipótesis inicial aleatoria, h=<µ1, µ2>

Paso 1, ECalcular el valor esperado E[zij] de cada variable oculta zij,

asumiendo hipótesis actual h=<µ1, µ2>

Paso 2, MCalcular nueva hipótesis h’ =<µ’1, µ’2> de máxima

verosimilitud, asumiendo que el valor de cada variable oculta zij, es el valor esperado calculado en Paso 1, E[zij]. Reemplazar h por h’.

Agrupamiento 58

EM para la estimación de 2 medias normales

Paso 1

Paso 2

=−−

−−

=

=

==

===

2

12/)(

2/)(

2

1

22

22

)/(

)/(][

nx

x

nin

jiji

ni

ji

ee

xxp

xxpzE

σµ

σµ

µµ

µµ

∑=

=m

iijij xzE

m 1

][1'µ

Agrupamiento 59

Extensión a k medias normales

Inmediata

Paso 1

Paso 2

∑ =−−

−−

= k

nx

x

jinni

jji

eezE

12/)(

2/)(

22

22

][σµ

σµ

∑=

=m

iijij xzE

m 1

][1'µ

21

2 )()(1' jim

i jij xzEm

µσ −= ∑ =

Agrupamiento 60

Discusión

Converge a máximos locales y proporciona estimas de las variable ocultas Máximo local de E[ln p(Y/h)] Y=X U Z

Extensión a varios atributos (x) Simple si se asume independencia (como Naïve

Bayes) Distribuciones conjuntas, introduce matriz de

covarianza simétrica, n*(n+1)/2: aumenta el riesgo de sobreajuste por exceso de parámetros

Atributos discretos, simple si independientes Estimación de k

Bibliografía

Chirstopher M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006

Jiawei Hand and Micheline Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2nd edition, 2006.

http://www.cs.cmu.edu/~tom/mlbook-chapter-slides.html

http://www.cs.waikato.ac.nz/ml/weka/

http://www.cs.sfu.ca/~han/dmbook

http://scalab.uc3m.es/%7Edocweb/ad/transparencias/agrupamiento.pdf