610 likes | 1.07k Views
Fuzzy Clustering. Erick López Estudiante Ing. Civil Informática. Temas a Ver. Fuzzy Logic Clustering Clustering Fuzzy Fuzzy k-means Aplicaciones. Fuzzy Logic. La lógica difusa nace bajo la necesidad de trabajar con la incertidumbre de los datos (conceptos sin definición clara).
E N D
Fuzzy Clustering Erick López Estudiante Ing. Civil Informática
Temas a Ver • Fuzzy Logic • Clustering • Clustering Fuzzy • Fuzzy k-means • Aplicaciones
Fuzzy Logic La lógica difusa nace bajo la necesidad de trabajar con la incertidumbre de los datos (conceptos sin definición clara). Muchos conceptos que manejamos los humanos a menudo, no tienen una definición clara: ¿qué es una persona alta? ¿a qué edad una persona empieza a ser longeva?; por lo cual, con esta lógica podemos representar el lenguaje natural del hombre. Esta lógica es una extensión de la lógica multivaluada, el cual puede tomar valores entre [0,1] lo que indica un grado de pertenencia a un conjunto.
Conjuntos Difusos En la lógica bivaluada un concepto pertenece en su totalidad a un conjunto o no. Su función de pertenencia vendría siendo: si si En la lógica difusa la función de pertenencia se relaja
Conjuntos Difusos (cont.) Un conjunto difuso A se define como una función de pertenencia que enlaza o empareja los elementos de un dominio o Universo de discurso X con elementos del intervalo [0,1]. El conjunto A puede representarse como un conjunto de pares de valores en el que cada elemento esta acompañado de su grado de pertenencia. Por ejemplo: Conj. de alturas del concepto difuso “alto” A = 0.25/1.75 , 0.5/1.8 , 0.75/1.85 , 1/1.9
Conjuntos Difusos (cont.) Una representación grafica de un conjunto clásico v/s un conjunto difuso • Dado un conjunto difuso A se definen los siguientes términos: • El conjunto soportado (o soporte de un conjunto difuso) es el conjunto clásico de todos los valores de X para los que A(x)>0. • Los puntos de cruce son aquellos valores para los que A(x)=0.5 • El conjunto -corte de un conjunto difuso A, es el conjunto clásico de todos los tal que A(x) >
Conjuntos Difusos (cont.) • Un conjunto difuso se dice que esta normalizado cuando el valor máximo de su función de pertenencia es 1. • Se dice que un conjunto difuso es del tipo singleton si su conjunto soportado es de un solo valor. Conjunto soportado Puntos de cruce Conjunto 0.75-corte Conjunto singleton
Funciones de inclusión • Función tipo trapezoidal: 1.0 a b c d Esta función resulta adecuada para modelar propiedades que comprenden un rango de valores (adulto, normal, adecuada…)
Funciones de inclusión (cont.) • Función tipo triangular: 1.0 a b c Esta función es adecuada para modelar propiedades con un valor de inclusión distinto de cero para un rango de valores estrecho en torno a un punto b.
Funciones de inclusión (cont.) • Función tipo S: 1.0 0.5 a b c Esta función es adecuada para modelar propiedades como grande, mucho, positivo, etc…
Funciones de inclusión (cont.) • Función tipo : 1.0 b 0.5 c-b c-b/2 c c+b/2 c+b Esta función usa la misma definición del tipo S (As). Esta función resulta adecuada para conjuntos definidos en torno a un valor c, como medio, normal, cero, etc…
Variable Lingüística • Se denomina variable lingüística a aquella que puede tomar por valor términos del lenguaje natural, como mucho, poco, positivo, negativo, etc., que son las palabras que desempeñan el papel de etiquetas en un conjunto difuso. • En términos formales, una variable lingüística se define por la tupla (N, U, T(N), G, M). • N es el nombre de la variable • U es el dominio subyacente (el universo de discurso de la variable x) • T(N) es el conjunto de términos o etiquetas que pueden tomar N. • G es la gramática para generar las etiquetas de T(N): “muy alto, no muy bajo”,… • M es la regla semántica que asocia cada elemento de T(N) con un conjunto difuso en U de entre todos los posibles: M:T(N) F(U)
Variable Lingüística (cont.) Por ejemplo: La variable lingüística será Temperatura, de modo que N = Temperatura. T(temperatura) es el conjunto de todos los términos que pueden hacer referencia a la temperatura, como muy fría, fría, normal, alta, muy alta. El universo de discurso U va, en general, desde cero absoluto al infinito, pero en aplicaciones normales se restringe al rango [0,40]
Operaciones Difusas • Sean 2 conjuntos difusos A y B, entonces… • Igualdad: A(x) = B(x) • Union: (A U B)(x) = máx {A(x), B(x)} • Intersección: (A B)(x) = min {A(x), B(x)} • Complemento: ~A(x) = 1 – A(x) • Norma: Anorma(x) = A(x) / máx[A(x)] • Concentración: Aconc(x) = (A(x))2 • Dilatación: Adilat(x) = (A(x))0.5
Operaciones Difusas (cont.) • Las operaciones de unión e intersección pueden generalizarse, cumpliendo ciertas propiedades básicas (conmutativa, asociativa, monotonicidad y condiciones de frontera). Estas funciones se conocen respectivamente como conorma triangular y norma triangular. • Conorma Triangular (t-conorma o s-norma):s: [0,1]2 [0,1] • Conmutativa: x s y = y s x • Asociativa: x s (y s z) = (x s y) s z • Monotonicidad: Si x < y , y w < z, entonces x s w < y s z • Condición de frontera: x s 0 = x ; x s 1 = 1
Operaciones Difusas (cont.) • Norma Triangular (t-norma):t: [0,1]2 [0,1] • Conmutativa: x t y = y t x • Asociativa: x t (y t z) = (x t y) t z • Monotonicidad: Si x < y , y w < z, entonces x t w < y t z • Condición de frontera: x t 0 = 0 ; x t 1 = x • Algunas s-normas y t-normas más usadas son: • s-normas: Max (a,b) t-normas: Min (a,b) • (a+b-ab) (ab) • Min (1, a+b)Max (0,a+b-1)
Operaciones Difusas (cont.) Intersección Unión • Para cada t-norma, existe su s-norma dual o conjugada y viceversa (leyes De Morgan) • x s y = (1-x) t (1-y) • x t y = (1-x) s (1-y)
Operaciones Difusas (cont.) • En general las t-normas no satisfacen las siguientes leyes de la lógica bivaluada: • Contradicción: • Exclusión del medio: • Excepción • t-norma: = max [0, A(x) + (1-A(x)) -1] = 0 • s-norma: = min [1, A(x) + (1-A(x))] = 1
Principio de Extensión El principio de extensión permite convertir conjuntos difusos, que tengan igual o distintos universos, y conceptos no difusos en difusos, siendo la base de la inferencia en sistemas difusos. Sea X e Y dos universos de discurso y f una función de X a Y. El principio sostiene que la imagen de A en Y, bajo la función f es un conjunto difuso B = f(A), definida por: B(y) = sup {A(x) | , y = f(x)} Y f B 1 X 1 A
Principio de Extensión (cont.) Se puede generalizar para el caso en el que el Universo X sea el producto cartesiano de n Universos: X = X1xX2xX3x …. xXn La función de transformación f: X Y, y = f (x), con x = (x1, x2, x3, …, xn) El principio transforma n conjuntos difusos A1, A2, A3, …, An, de los universos X1, X2, X3,… Xn respectivamente, en el conjunto difuso B = f (A1, A2,…, An) en Y definido como: B (y) = sup { min [A1(x1), A2(x2), …, An(xn)] | , y = f (y) }
Principio de Extensión (cont.) • Ejemplos: Sean X e Y, ambos, el universo de los números naturales. • Función sumar 4: y = f (x) = x + 4 • A = 0.1/2 + 0.4/3 + 1/4 + 0.6/5; • B = f (A) = 0.1/6 + 0.4/7 + 1/8 + 0.6/9; • Función suma: y = f (x1+x2) = x1 + x2 • A1 = 0.1/2 + 0.4/3 + 1/4 + 0.6/5; • A2 = 0.4/5 + 1/6; • B = f (A1+A2) = 0.1/7 + 0.4/8 + 0.4/9 + 1/10 + 0.6/11;
Medidas importante • Distancia entre conjuntos: Mide la cercanía entre conjuntos. • Similitud: Mide el parecido entre 2 conjuntos. • Entropía: Indica cuanta información aporta este conjunto a la descripción de la variable x. • Posibilidad: Mide en que medida se superponen los conjuntos (“posibilidad de que el valor de A sea igual al valor de B”). Poss(A,B) = Poss(B,A) • Necesidad: Mide el grado con el que B esta incluido en A (“necesidad de que el valor B sea igual al valor A”). Nec(A,B) Nec(B,A) • Compatibilidad: Mide en que medida cierto conjunto es compatible con otro (definido en el mismo espacio).
Implicación (A B) Conjunción difusa A B = A t B Disyunción difusa A B = A s B Implicación material A B = ~A s B Calculo proposicional A B = ~A s (A t B) Modus Pones generalizado A B = sup {c [0,1] | A t c B} Modus Tolens generalizado A B = inf {c [0,1] | B s c A}
Reglas Difusas Si …. entonces …… con certeza … Por ejemplo: Si error es positivo_pequeño y derivada_de_error es negativo_pequeño entonces acción es positiva_pequeña. La base de reglas se puede representar bien como una tabla de las reglas que la forman, o bien como una memoria asociativa difusa o FAM (Fuzzy Associative Memory). Las FAM son matrices que representan la consecuencia de cada regla definida para cada combinación de 2 entradas.
Reglas Difusas (cont.) Formalmente , una base de reglas difusa es una colección de reglas R(l) con el formato R(l): Si x1 es F1 y … y xn es Fl entones y es Gl donde Fil y Gl son conjuntos difusos en X e Y respectivamente. Este formato de reglas se conoce como difuso puro o de tipo Mamdani. Otro formato frecuente para las reglas es el llamado de tipo Sugeno. En este caso, la función de salida es una combinación lineal de las variables de entrada. R(l): Si x1 es F1 y … y xn es Fl entones yl = f l(x)
Fusificador (fuzzifier) • El fusificador establece una relación entre los puntos de entrada no borrosos al sistema x = (x1, …, xn)T, y sus correspondiente conjuntos difusos A en X. • Fusificador singleton. Este método de fusificación consiste en considerar los propios valores discretos como conjuntos difusos. • Fusificador no singleton. Este método de fusificación se utiliza una función exponencial del tipo siguiente • A(x) = a * exp • Fusificador usando posibilidad: Expresa el grado con el que el dato E está superpuesto con algún componente Ai. • Fusificador usando necesidad: Expresa el grado con el que el dato E está incluido en algún Ai.
Defusificador (defuzzifier) • Es la función que transforma un conjunto difuso en un valor no difuso. • Defusificador por máximo: y = arg sup (B(y)) • es decir, y es el punto V en que B(y) alcanza su valor máximo. • Defusificador por media de centros: • donde representa el centro del conjunto difuso Gl.
Ejemplo (Control Difuso) NG NP Z PP PG -100 100 F FLC
Ejemplo (Control Difuso)(cont.) R1: Si es Z y es Z entonces F es Z R2: Si es PP y es NP entonces F es NP
NG NP Z PP PG NG NP Z PP PG NG NP Z PP PG NG NP Z PP PG Ejemplo (Control Difuso)(cont.) 0.8 0.6 R1 R2 0.6 0.2
Ejemplo (Control Difuso)(cont.) y2=30 y1=0
Clustering • Problema: Disponemos de un conjunto de muestras sin etiquetar y queremos agruparlas en clases. • Solución: Técnicas de Agrupamiento. • Se aplican cuando no se conoce la forma de las densidades de probabilidad o cuando el aplicar un método parametrico es muy complejo. • Se define una función que nos indique, para cada posible partición, “lo bien agrupados” que están las muestras. • Tenemos que definir una medida de similitud (o disimilitud) entre prototipos.
Clustering (cont.) La función objetivo es minimizar: error cuadrático total en el que se incurre si representamos las muestras de cada conjunto por sus medias. Es una función criterio que da buenos resultados cuando los conjuntos forman nubes compactas y están alejados los unos de los otros. Sin embargo, falla cuando existen una gran diferencia de puntos entre conjuntos.
Clustering (cont.) • Una vez establecido la función objetivo, el problema queda bien definido: • “Encontrar la partición del conjunto de muestras que hace que la función criterio sea minima” • Esto podría resolverse por enumeración, pero el número de posibles particiones crece de manera exponencial con el número de muestras, entonces en la practica se emplean métodos aproximados. • Algunos Algoritmos son: • Algoritmo de las distancias encadenadas (Chain-Map) • Algoritmo Max-Min • Algoritmo k-means • Agrupamiento Jerárquico
Clustering (cont.) • Problemas: • Manejo de datos mezclados • Sensible al ruido, out-layer,… • Sensible a datos vagos (con incertidumbre) • Lentoooo…. • En k-means, escoger el número de clases y los centros iniciales. • Escoger la función objetivo.
Fuzzy Clustering Para manejar la incertidumbre de los datos y enfrentar el problema de sensibilidad ante ruido y out-layer, se utiliza los grados de pertenencia de un objeto a un cluster, logrando más flexibilidad y robustez en la selección de los cluster. De esta forma se cambia la idea de que un objeto pertenece a un solo cluster, ahora un objeto puede pertenecer a varios cluster, pero con un cierto grado, donde debe cumplirse que la suma de todos los grados que un objeto tiene con todos los cluster debe ser 1. j = 1,2,…N
Fuzzy Clustering (cont.) • Algunos algoritmos de Fuzzy clustering son: • fuzzy c-means (FCM): Cluster esféricos aproximadamente de igual tamaño • Gustafson-Kessel (GK): Cluster elipsoidal con aprox. igual tamaño ; Estos usan una medida de similitud distinta para cada cluster. • Gath-Geva (GG) / Gaussian mixture decomposition (GMD): Cluster elipsoidal de varios tamaños; • fuzzy c-varieties (FCV): Detección de múltiples líneas (líneas infinitas en 2D) • adaptive fuzzy c-varieties (AFC): Detección de segmentos de línea en datos 2D • fuzzy c-shells (FCS): Detección de círculos
Fuzzy Clustering (cont.) • fuzzy c-spherical shells (FCSS): Detección de círculos • fuzzy c-rings (FCR): Detección de círculos • fuzzy c-quadric shells FCQS): Detección de elipsoides • fuzzy c-rectangular shells (FCRS): Detección de rectangulos (y variantes de eso)
k-means M = 0.0000 1.0000 0.0000 1.0000 0.0000 1.0000 0.0000 1.0000 0.0000 1.0000 1.0000 0.0000 1.0000 0.0000 1.0000 0.0000 1.0000 0.0000 1.0000 0.0000
k-means Si En otro caso
Fuzzy k-means (cont.) M = 0.0025 0.9975 0.0091 0.9909 0.0129 0.9871 0.0001 0.9999 0.0107 0.9893 0.9393 0.0607 0.9638 0.0362 0.9574 0.0426 0.9906 0.0094 0.9807 0.0193
Fuzzy k-means vs. K-means Fuzzy k-means k-means
Fuzzy k-means minimal Una variante del fuzzy k-means es el algoritmo fuzzy minimal propuesto por Flores-Sintas: Sea , D = Rp, X={x1, x2,…, xn} D, C = Rp, y dxv: D x C R, (x,v) Entonces existe un conjunto V R, tal que la partición difusa f: X F(V), f(x)(v) , minimiza la función