130 likes | 301 Views
Taller de Base de Datos. Búsqueda de Aproximaciones: Algoritmos Basados en centroides Jerárquicos: aglomerativos o divisivos. Taller de Base de Datos. Algoritmos Basados en Centroides El problema tiene la siguiente definición:
E N D
Taller de Base de Datos Búsqueda de Aproximaciones: Algoritmos • Basados en centroides • Jerárquicos: aglomerativos o divisivos
Taller de Base de Datos • Algoritmos Basados en Centroides • El problema tiene la siguiente definición: • -Buscar k grupos de los datos que maximicen una función de evaluación que usa alguna noción de centroide • Problema de búsqueda en hasta aprox. Mk posibles agrupaciones. • Búsqueda exhustiva no es factible, problema NP--hard. • Heurística general de estos algoritmos : Reubicación Iterativa
Taller de Base de Datos • Algoritmo K-Means • Elegir k objetos (semillas) como centroides de los grupos. • Asignar los objetos al grupo cuyo centroide esté más cerca. • Recalcular los centroides • Reasignar cada objeto al grupo cuyo centroide sea más cercano. • Así sucesivamente hasta que la calidad de la agrupación sea aceptable c.r.a función de evaluación aceptada.
Taller de Base de Datos Funciones de Evaluación en K-means • Varianza intra-grupo W(C) donde C={C1,...,Ck} y mi es el centroide del grupo i: • Varianza inter-grupo B(C): • Función de evaluación: Problema: incluso si fijamos k, F(C) nos puede llevar a una mala agrupación
Taller de Base de Datos Costo de K-Means • Complejidad O(kmdI), donde: -I es el número de iteraciones, -m el número de objetos, -d es el costo de computar una distancia (depende del número de dimensiones) • Si la base de datos no cabe en RAM tenemos que hacer I lecturas de la base de datos.
Taller de Base de Datos Cómo Determinamos k? K F(C) 1 100 2 80 3 60 4 50 6 46 .. ..
Taller de Base de Datos Variantes • K-Modes: espacios con variables categóricas. • K-Medoid: utiliza el objato mas central en lugar del centroide -Más robusto ante ruido pero más costoso. • Fuzzy K-Means
Taller de Base de Datos Fuzzy K-Means Dunn y Bezdek 1981. Un objeto puede pertenecer a distintos grupos, con grados de pertenencia. • Definir semillas para grupos iniciales • En una iteración, encontrar el grado de pertenencia U(x, Cj) de cada objeto a x a cada grupo Cj, por ejemplo: • Recalcular los centroidesponderando para cada punto por su grado de pertenencia al grupo.
Taller de Base de Datos Problemas de K-Means • Converge a un mínimo local: la elección de la semilla es clave. - Ejecutar con distintas semillas. - Usar técnicas de optimización. • Sólo opera en espacios euclidianos. Se necesita noción de centroide. • Encuentra agrupaciones esféricas - No funciona para agrupaciones con forma de cadenas de puntos
Taller de Base de Datos Algoritmos Jerárquicos Objetivo: generar un dendograma o jerarquía de grupos. Algoritmos Aglomerativos: • Inicialmente cada punto es un cluster • En cada paso juntamos pares de clusters más cercanos. • Sucesivamente hasta agrupar todo.
Taller de Base de Datos Criterios para Determinar Fusiones • Single-Link: la distancia entre dos grupos es igual a la distancia entre sus puntos más cercanos. -útil para detectar cadenas. -Sensible a pequeñas perturbaciones en los datos -Propiedad: el orden en que se producen las fusiones no altera el resultado final. • Complete-Link: la distancia entre dos grupos es igual a la distancia entre sus puntos más lejanos. - Tiende a generar grupos que ocupan volúmenes similares. • Optros criterios:cualquier medida de distancia inter-grupos
Taller de Base de Datos Algoritmos Aglomerativos Ventajas: • No existe noción de función de evaluación global. • No requiere espacio euclidiano, sólo necesitamos distancias. Desventajas: El costo.
Taller de Base de Datos Complejidad Algoritmos Aglomerativos • En la iteración i hay que encontrar los pares de grupos más cercanos. • Existen muchos métodos para definir la distancia entre grupos, pero todos ellos necesitan al menos combinarlos pares de grupos, lo que toma O(m2) como mínimo. • El número de iteraciones es log m por lo que el algoritmo toma O(m2log m)