Fuzzy Clustering

53
Fuzzy Clustering Erick López Estudiante Ing. Civil Informática

Transcript of Fuzzy Clustering

Page 1: Fuzzy Clustering

Fuzzy Clustering

Erick LópezEstudiante Ing. Civil Informática

Page 2: Fuzzy Clustering

Temas a Ver Fuzzy Logic Clustering Clustering Fuzzy Fuzzy k-means Aplicaciones

Page 3: Fuzzy Clustering

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.

Page 4: Fuzzy Clustering

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:

0

1)(xA

Axsi

si

Ax

1,0: XA

En la lógica difusa la función de pertenencia se relaja

1,0: XA

Page 5: Fuzzy Clustering

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.

XxxxAA ,/)(

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

Page 6: Fuzzy Clustering

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) >

AXx

Page 7: Fuzzy Clustering

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

Page 8: Fuzzy Clustering

Funciones de inclusión

• Función tipo trapezoidal:

1.0

a b c d

0

1

0

),,,;(

cd

xd

ab

ax

dcbaxA

ax

bxa

cxb

dxc

dx

Esta función resulta adecuada para modelar propiedades que comprenden un rango de valores (adulto, normal, adecuada…)

Page 9: Fuzzy Clustering

Funciones de inclusión (cont.)

• Función tipo triangular:

a b c

1.0

0

0

),,;(

bc

xcab

ax

cbaxA

cx

cxb

bxa

ax

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.

Page 10: Fuzzy Clustering

Funciones de inclusión (cont.)

• Función tipo S:

a b c

1.0

cx

cxb

bxa

ax

0.5

1

21

2

0

),,;(2

2

ac

ax

ac

ax

cbaxA

Esta función es adecuada para modelar propiedades como grande, mucho, positivo, etc…

Page 11: Fuzzy Clustering

• Función tipo :

c-b c-b/2

1.0

0.5

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…

b

c c+b/2 c+b

),2/,;(1

),2/,;(),,;(

cbcbcxA

cbcbcxAcbaxA

s

s

cx cx

Funciones de inclusión (cont.)

Page 12: Fuzzy Clustering

Variable LingüísticaSe 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)

Page 13: Fuzzy Clustering

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]

Variable Lingüística (cont.)

Page 14: Fuzzy Clustering

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

Page 15: Fuzzy Clustering

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

Page 16: Fuzzy Clustering

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)

Page 17: Fuzzy Clustering

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)

Page 18: Fuzzy Clustering

Operaciones Difusas (cont.)

En general las t-normas no satisfacen las siguientes leyes de la lógica bivaluada:

• Contradicción:

• Exclusión del medio:

AAXAA

Excepción

• t-norma: = max [0, A(x) + (1-A(x)) -1] = 0

• s-norma: = min [1, A(x) + (1-A(x))] = 1

)()( xAA

)()( xAA

Page 19: Fuzzy Clustering

Principio de ExtensiónEl 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)}Xx

1

1X

Y

B

A

f

Page 20: Fuzzy Clustering

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 = X1 x X2 x X3 x …. x Xn

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) }

Xx

Page 21: Fuzzy Clustering

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;

Page 22: Fuzzy Clustering

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).

Page 23: Fuzzy Clustering

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}

Page 24: Fuzzy Clustering

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.

Page 25: Fuzzy Clustering

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)

Page 26: Fuzzy Clustering

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

2'

xx

• 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.

),( EAPoss i

),(1 EANec i

Page 27: Fuzzy Clustering

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.

Vy

M

l

l

lM

l

l

yB

yByy

1

1

)(

)(

ly

Page 28: Fuzzy Clustering

Ejemplo (Control Difuso)

Z PPNP PGNG

-100 100

dtd /FLC

F

Page 29: Fuzzy Clustering

R1: Si es Z y es Z entonces F es Z

R2: Si es PP y es NP entonces F es NP

Ejemplo (Control Difuso)(cont.)

NG NP Z PP PG

NG NG NP NP NP NP

NP NP Z PP NP Z

Z NP PP Z PG PP

PP Z PP PP Z PP

PG PP PP PP PP PG

Page 30: Fuzzy Clustering

Ejemplo (Control Difuso)(cont.)

NG NP Z PP PG

NG NP Z PP PG

NG NP Z PP PG

NG NP Z PP PG

R1

R2

10 5

6.01 0.80.6

0.60.2

2.02

Page 31: Fuzzy Clustering

Ejemplo (Control Difuso)(cont.)

6.01

2.02 y2=30 y1=0

Page 32: Fuzzy Clustering

Ejemplo (Control Difuso)(cont.)

5.7

2.06.0

302.00*6.0

)(),...,(min

)(),...,(min)(

1 11

1 11

M

l nl

nl

M

l nl

nll

xBxB

xBxByxf

Page 33: Fuzzy Clustering

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.

Page 34: Fuzzy Clustering

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.

c

i Xxiie mxJ

1

2||||

Page 35: Fuzzy Clustering

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

Page 36: Fuzzy Clustering

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.

Page 37: Fuzzy Clustering

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.

11

c

iij j = 1,2,…N

Page 38: Fuzzy Clustering

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

Page 39: Fuzzy Clustering

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)

Page 40: Fuzzy Clustering

k-means / Fuzzy k-means

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

Page 41: Fuzzy Clustering

k-means

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

Page 42: Fuzzy Clustering

k-means

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

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

Page 43: Fuzzy Clustering

k-means

Si

En otro caso

22 |||||||| jkik cxcx

i

ji

c

i Cxkik

c

ii

ik

cxJJ1 ,

2

1

||||

0

1ik

Page 44: Fuzzy Clustering

Fuzzy k-means

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

zTiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

Page 45: Fuzzy Clustering

Fuzzy k-means (cont.)

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

-8 -6 -4 -2 0 2-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

log(intensity) 475 Hz

log

(inte

nsi

ty)

55

7 H

z

Tiles data: o = whole tiles, * = cracked tiles, x = centres

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

Page 46: Fuzzy Clustering

Fuzzy k-means (cont.)

c

j

q

jk

ik

ik

dd

m

1

1/2

1 |||| ikik cxd

m

i

nji

c

jj

c

j

m

iji

nji cxdJ

1,

11 1, 1),(

ik

Xx

nxk

Xx

nxk

j

xc

Page 47: Fuzzy Clustering

Fuzzy k-means (cont.)

1/21/22

1/21

1/2

1/21/2

2

1/2

1

1

1/2

111

1

1

1

qck

qk

qk

qik

q

ck

ik

q

k

ik

q

k

ik

c

j

q

jk

ik

ddd

d

dd

dd

dd

dd

ikmik

Page 48: Fuzzy Clustering

Fuzzy k-means vs. K-means

Fuzzy k-means k-means

Page 49: Fuzzy Clustering

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, y0 Np )(CR

dxv: D x C R, (x,v) |||| vx

Entonces existe un conjunto V R, tal que la partición difusa f: X F(V), f(x)(v) , minimiza la función

xv

Xx Vv

xvxv drJ 22

Page 50: Fuzzy Clustering

Fuzzy Minimal

Xx xv

Xx xv xv

2

2

Page 51: Fuzzy Clustering

Aplicaciones• Tratamiento de imágenes• Inteligencia artificial• Medicina• Estudio de mercado• Minería de Datos

El uso de lógica difusa abre la posibilidad de trabajar con datos mezclados

• Minería de texto• Sistemas complejos• Censos de población• …

Pero ese es otro tema de estudio, ya que es solo una parte del “Reconocimiento de patrones en datos mezclados”…

Page 52: Fuzzy Clustering

Estudios a seguir… Trabajar con datos mezclados orientado al

marketing… Visión artificial mezclando clustering, lógica

difusa y redes de kohonen… Descubrimiento de conocimiento en sistemas

dinámicos difusos.

Page 53: Fuzzy Clustering

¿ Preguntas ?