Fuzzy K Means
Mariano Rivera
Abril 2017
A diferencia de K-Means, en cada iteración se asigna una membrecía (no se asigna exclusivamente un dato a cada clase)
El grado membrecía es el que dá el nombre de Fuzzy (o difuso)
Puede interpretarse como la probabilidad de que una clase sea la correcta para un dato.
Sinónimos:
Membrecía = Pretenecia = Similitud
Sean
- x={xi}i=1,2,…,M con xi∈Rn son los datos,
- m={mk}k=1,2,…,K con mk∈Rn los centroides (representantes o medias) para los K clusters
- p={pik}i=1,2,…,M;k=1,2,…,K; tal que pik se interpreta como la pertenecia del dato xi al cluster cuyo representante es mk (i-ésimo dato and k-ésimo cluster)
- ∥⋅∥2 es la norma Euclideana al cuadrado.
Función Objetivo de Fuzzy K-Means
Luego,el clustring por Fuzzy K-Means se obtiene de minimizar
(1)
m,pargmin21k∑i∑∥xi−mk∥2pikμs.t.k∑pik=1pik≥0
donde μ∈(1,∞) es un parámetro del algoritmo.
Lagrangiano
El Lagrangiano del problema (1) esta dado por
(2)
L(m,p,λ,s)=21k∑i∑∥xi−mk∥2pikμ−i∑λi(k∑pik−1)−k∑i∑sikpik
donde λ<>0 y s≥0 son los multiplicadores de Lagrange de las restricciones de igualdad y nonegatividad, respectivamente.
definimos
(3)
dik=def∥xi−mk∥2
Condiciones KKTs
(4)
∂mk∂L=0→i∑(mk−xi)pikμ=0→mk=∑ipikμ∑ixipikμ
(5)
∂pik∂L=0→2μdikpikμ−1−λi−sik=0
(6)
k∑pik−1=0
(7)
piksik=0
(8)
pik,sik≥0
Tomando (5):
(9)
pikμ−1=μ2dikλi+sik
Ahora, haremos una “apuesta”, asumiremos que el valor óptimo del multiplicador de Lagrange de la nonegatividad será sik=0. Luego, por (7) y (8) debemos obtener una fórmula para la membrecia que satisfaga estrictamente pik>0. Si la suposición no es correcta, la fórmula que obtengamos para pik no garantizará que ésta sea estrictamente positiva.
Entonces, asumiendo que sik∗=0, (9) se reduce a:
pikμ−1=μ2dikλi
y tenemos que
(10)
pik=[μ2dikλi]μ−11
Sumando sobre k y aplicando (6):
(11)
k∑[μ2dikλi]μ−11=1λiμ−11k∑[μdik2]μ−11=1
y tenemos que
(12)
λi=⎣⎢⎡∑k[μdik2]μ−111⎦⎥⎤μ−1
Es posible notar que λi>0, y sustituyendo en (9) tendremos pik>0. Luego, fué correcto suponer sik=0.
Procedamos a hacer la sustitución de (12) en (9):
(13)
pik=[μ2dik1]μ−11⎣⎢⎡∑q[μ2diq1]μ−111⎦⎥⎤
Un caso particularmente interesante ocurre para μ=2:
(14)
pik=∑qdiq1dik1
Algoritmo de Solución Fuzzy K-Means
La estrategia de solución consiste en
Inicializar para los centroides m. Entonces
Iterar hasta ∥m(t)−m(t−1)∥≤τ (donde τ es un umbral propuesto):
- Calcular el cuadrado de las distancias Eicideanas: dik con (3).
- Calcular pik usando (13).
- Actualizar los centroides mk usando (4).
Terminar con la asignación de clases ci=kargmaxpik.
Ejercicios.
Derive las versiones del algoritmo para:
a) Usar ∥xi−mk∥Ak=(xi−mk)⊤Ak(xi−mk) la norma inducida por la matrix de pesos simétrica positiva definida A∈Rm×m. Con Ak=Σk−1 la matriz de covarianza que puede ser recalculada:
Σk=m−11i∑(xi−mk)⊤(xi−mk)pikμ
b) Para el caso límite μ→1.
K-Medoides
Un variante de Fuzzy K-Medias (FKM) es K-Medoides.
K-Medoides consiste en generalizar el método para datos en espacios donde la distancia Eclideana no esta definida; pero si tenemos definida una disimilaridad.
Dado que no se tienen definida la distancia Euclideana, no es posible calcular una media.
El método selecciona la medoide, que es el dato con la menor suma de disimilaridades a los miembros de la misma clase (similarmente a como se motiva K-Medias).
El algorithmo de K-Medoides esta dado por
Inicializar aleatoriamente las medoides m usando k datos.
Iterar hasta {m(t)}∖{m(t−1)}=∅:
- Calcular las disimilaridades dik.
- Calcular ci=kargmindik.
- Actualizar las medoides, para la clase k:
i∗=iargmin⎩⎨⎧j:ci,cj=k∑dij⎭⎬⎫
Luego mk=xi∗
Terminar con la asignación de clases ci.