420 likes | 814 Views
Clustering (Agrupamiento). Dr. Elmer A. Fernández Universidad Católica de Córdoba Fac. Ingeniería. Definición.
E N D
Clustering (Agrupamiento) Dr. Elmer A. Fernández Universidad Católica de Córdoba Fac. Ingeniería
Definición Clustering: Se basa en intentar responder como es que ciertos Objetos (casos) pertenecen o “caen” naturalmente en cierto número de clases o grupos, de tal manera que estos objetos comparten ciertas características. Esta definición asume que los objetos pueden dividirse , rasonablemente, en grupos que contienen objetos similares. Si tal división existe, ésta puede estar oculta y debe ser descubierta.Este es el objetivo principal de las técnicas o estudios de clustering
Objetos (Datos) y Variables • Un Objeto es un dato, el cual esta formado por un conjunto finito de variables. • Variables: • Numéricas: son números reales en general • Nominales : Son variables discretas pero que no tienen un orden especificado (color de ojos) • Ordinales: Son variables discretas con una relación de orden (temp. Alta, Media, baja) • Binarias: solo pueden tomar dos estados posibles (dicotómicas)
Medidas de Disimilaridad (Similaridad) • Asocian un número (dij) a un par de Objetos/Datos (i,j) , donde: (Sea S el subespacio de objetos a clasificar) • dij 0 para todo i, j S • dij = 0 para todo i==j S • dij = dji para todo i, j S • dij diz + dzj
Distancias City-Block Euclídea Minkowski
Distancias ? ?
Problemas frecuentes • Incompatibilidad en las Unidades de Medida • Variables de distinto tipo (Numericas, Nominales,etc..) • Variables faltantes (Missing Values)
Tipos de Clustering • Jerárquico (Hierarchical) : dendrogramas, Grafos (Arboles) • De partición: División en grupos (SOM, LVQ, etc.)
Clustering Jerárquico Dendrogramas • El primer paso es calcular las distancias entre todos los pares de objetos. Esto es lo mismo que asumir que cada objeto constituye un cluster: {C1, ...,CN}. • Se buscan los dos clusters más cercanos (Ci, Cj), éstos se juntan y constituyen uno solo Cij. • Se repite el paso 2 hasta que no quedan pares de comparación. En general se representan como árboles binarios.
Clustering Jerárquico Dendrogramas • La cuestión crítica de este método es la forma de “juntar” los clusters entre sí, se utilizan básicamente tres formas: • Enlace simple • Enlace promediado • Enlace completo
Clustering Jerárquico Dendrogramas: Ejemplo en matlab Datos=[ 0.8 1.8;... 1.1 1.6;... 0.8 1.3;... 1.0 0.9;... 1.4 0.6;... 1.5 0.1;... 1.1 0.1]; En formato Matlab
Clustering Jerárquico Dendrogramas:Enlace simple (Single Linkeage) • El primer paso (común a todos los métodos) es calcular la matriz de distancias o matriz de disimilaridad. • Buscar el par mas cercano.
Clustering Jerárquico Dendrogramas:Enlace simple (Single Linkeage) • Los junto, formo un nuevo cluster y me quedo con las mínimas distancias de ambos clusters.
Clustering Jerárquico Dendrogramas:Enlace simple (Single Linkeage)
Clustering Jerárquico Dendrogramas:Enlace simple (Single Linkeage)
Clustering Jerárquico Dendrogramas:Enlace simple (Single Linkeage)
Clustering Jerárquico Dendrogramas:Enlace simple (Single Linkage)
Clustering de Partición KMeans • El algoritmo de las K-medias es otro algoritmo de partición. Básicamente este algoritmo busca formar clusters (grupos) los cuales serán representados por K objetos. Cada uno de estos K objetos es el valor medio de los objetos que pertenecen a dicho grupo.
Clustering de Partición KMeans • Inicialmente se seleccionan K objetos del conjunto de entrada. Estos K Objetos serán los centroides iniciales de los K-grupos. • Se calculan las distancias de los objetos(datos) a cada uno de los centroides. Los Datos (Objetos) se asignan a aquellos grupos cuya distancia es mínima con respecto a todos los centroides.
Clustering de Partición KMeans • Se actualizan los centroides como el valor medio de todos los objetos asignados a ese grupo. • Se repite el paso 2 y 3 hasta que se satisface algún criterio de convergencia. KMdemo
Clustering de Partición Self-Organizing Maps • Los Mapas Autoorganizativos o Self-Organizing Maps es un modelo de red neuronal desarrollado por Teuvo Kohonen en los 80s. • Básicamente este modelo procesa una base de datos, resultando en un mapa (usualmente bidimensional) donde casos similares se “mapean” en regiones cercanas. • De esta manera “vecindad” significa “similaridad”.
Clustering de Partición Self-Organizing Maps • La estructura de este modelo es una capa de nodos (uni, bi o tridimensional). La disposición de los nodos es sobre un espacio geométrico y no están conectados entre si. • Todos los nodos se conectan a las mismas entradas del modelo.
Clustering de Partición Self-Organizing Maps • Disposición de los nodos en el array
Clustering de Partición Self-Organizing Maps • Funcionamiento
Se inicializan los pesos de cada nodo (por ej. aleatoriamente.) Se presenta una entrada a la red. Se busca el nodo ganador Se actualizan los pesos del nodo ganador y de sus vecinos. Se vuelve al paso 2 hasta que se satisface el criterio de detención impuesto. Clustering de Partición Self-Organizing Maps: Entrenamiento
Clustering de Partición Self-Organizing Maps: Entrenamiento • Consideraciones Iniciales: • Selección de la dimensión de la red • Selección de la cantidad de nodos • Selección de una medida de similaridad • Inicialización aleatoria de pesos • Selección del coeficiente de aprendizaje • Elección de una vecindad inicial.
Clustering de Partición Self-Organizing Maps: Entrenamiento • Búsqueda del nodo ganador: • Actualización de los pesos:
Clustering de Partición Self-Organizing Maps: Entrenamiento
Clustering de Partición Self-Organizing Maps: Resultado Espacio de Entrada Espacio de Salida (Mapa) Vectores de Pesos Nodos
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: Base de datos de animales
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: Mapa de animales
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: Mapa de animales (Distancias – Clusters)
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: presentación de un nuevo caso
Clustering de Partición Self-Organizing Maps: Ejemplo Hijo’e tigre !!!