Está en la página 1de 14

UPC

UNIVERSITAT POLITECNICA DE CATALUNYA

ETSETB- DEPARTAMENT DENGINYERIA ELECTRONICA

Curso de Redes Neuronales Artificiales (2000-2001)

K-means

$XWRU 6HUJL %HUPHMR 5HVSRQVDEOH GHO FXUVR -RDQ &DEHVWDQ\

Ttol del captol

1. K-medias
1.1. Cuantificacin vectorial En el aprendizaje no supervisado se pretende construir una funcin F(x; D) que sea un buen estimador de vector aleatorio X p a partir de un conjunto de entrenamiento D={xi, i=0... N-1}. Los cuantificadores vectoriales construyen su solucin (F) de forma local asignando un conjunto infinito de valores ( p ) a un conjunto finito de K valores discretos (proceso de cuantificacin), siendo K un parmetro del cuantificador a determinar por el usuario. Estos valores discretos se denominan vectores prototipo {wi, i=1...K} y son utilizados de la siguiente manera en un cuantificador vectorial euclidiano F :

F(x ) = g i (x )w i
i =1

1 x R i y R i = x x w i mn x w j con g i (x ) = j=1..K 0 sino

As F aproxima localmente x con el vector prototipo ms cercano. Para determinar el conjunto de vectores prototipo se suele minimizar el error cuadrtico medio definido como
U I emp [F(x; D )] =

1 N 1 1 N 1 p 1 2 x i F(x i ) = (x ij Fj (x i ))2 2 N i =0 2 N i =0 j= 0

La solucin a dicho problema de minimizacin, es decir

{w

* j

, j = 1...K = arg min I

{w }
j

U emp

N 1 [F(x; D)] = 1 x i arg sminK x i w s 2 N i =0 {w j } =1...

2 2

resulta ser los centroides calculados a partir de las muestras de entrenamiento que caen en cada Rj, es decir, los estimador de la esperanza de pertenecer a cada regin de Voronoi Rj

wj =

g (x )x
s =0 N 1 s =0 j s

N 1

g (x )
j s

As al minimizar IempU, los K vectores prototipo se distribuyen sobre el espacio de entrada de manera que aproximan de forma discreta la densidad de probabilidad desconocida pX(x). Donde x es denso o disperso, los codevectores tienden a ser densos o dispersos. La funcin densidad de probabilidad ser bien estimada por ese conjunto de vectores prototipo, y por consiguiente X ser bien aproximada, si K es lo suficientemente adecuado para el problema en cuestin. En los dos siguientes apartados veremos las dos versiones del algoritmo k-medias que es el encargado de calcular el conjunto de vectores prototipo que minimizan el funcional IUemp. 1.2. K-medias en lnea Supongamos que disponemos de un conjunto de muestras {xi, i=0...N-1} pertenecientes a un espacio de entrada extrado de un proceso computacional a modelar por el sistema de aprendizaje. El algoritmo K-

Ttol del llibre

medias en su versin en lnea realiza descenso de gradiente en lnea sobre IUemp. Este algoritmo consta de los siguientes parmetros y pasos:
algoritmo k-medias en lnea(C,K, D, alpha[n], cclico, rlen) C es el conjunto de vectores prototipo o codevectores K es el nmero de codevectores D es el conjunto de entrenamiento {xl, l=0...N-1} alpha[n] es la funcin del tamao de paso en funcin del tiempo discreto n asociado a la ecuacin iterativa cclico indica si vale 1 que el algoritmo muestrea cclicamente el conjunto de muestras. Si vale 0, el algoritmo muestra la base de datos de forma secuencial rlen es el nmero de veces que el algoritmo iterativo se va ejecutar 8. n=0 2. Inicializacin del conjunto de codevectores o codebook C={wj[0], j=1...K} 3. Si cclico entonces x[n+1]=xn mod N sino x[n+1]=xn 4. Calcula el codevector actual ms cercano a x[n+1], wW[n], utilizando la distancia Euclideana:

w W [n ] = arg min x[n + 1] w j [n ]


w j , j =1..K

(en el improbable caso de que existieran dos o ms codevectores que estuvieran exactamente a la misma distancia de la muestra de entrada, escoger como vector ganador cualquiera de ellos o bien dejar sin actualizar ninguno de escoger otra muestra de la base de datos) 5. Actualiza nicamente el codevector ganador de la siguiente manera:

w W [n + 1] = w W [n ] + [n ](x[n + 1] w W [n ])
6. n=n+1 7. Si n<rlen entonces ve al paso 3 sino ve al paso 8 8. Fin

Existen dos posibles modos de funcionamiento del algoritmo. En el caso de que est inmerso en un entorno del cual continuamente el algoritmo est recibiendo muestras: alpha[n] debe de ser constante en relacin a n para que el algoritmo pueda adaptarse continuamente al entorno rlen puesto que el algoritmo se ejecuta permanentemente (o al menos donde el ciclo de vida del entorno) x[n+1]=xn puesto que las muestras llegan de forma continuada: As el algoritmo se comporta como si muestreara de forma secuencial una base de datos de tamao N (con N si rlen). En cambio en el caso de que dispongamos de antemano de toda la base de datos, alpha puede ser tanto constante como variable y el muestreo puede ser cclico o secuencial. Una funcin que habitualmente se utiliza para alpha variable es la siguiente funcin linealmente decreciente:

[n] = [0] 1

n rlen

Ttol del captol

1.3. K-medias en lotes (Batch K-means) K-medias en lotes utiliza el mtodo de optimizacin de Newton, que se define como:

w 1 [n + 1] U = W[n ] H[n ]1 I emp [F[n ]] W[n + 1] = W[n ] w K [n + 1] U 2 I emp 2IU emp 2 w 1 w K w1 H= U 2 I emp 2IU emp 2 wK w K w 1

  

La matriz Hessiana H y la derivada parcial de Iemp respecto cada codevector resultan ser:
U I emp

1 N 1 = 1(x l R j )(x l w j ) w j N l= 0 si i j 0 = w i w j N j N si i = j
U 2 I emp

donde Nj es el nmero de muestras de entrenamiento que caen en la regin de Voronoi Rj. As la ecuacin de aprendizaje es la siguiente:

w j [n + 1] =

N j [n ] l =0

1(x

N 1

R j [n ]) x l

j = 1...K

Entonces el algoritmo K-medias en lotes se define como


algoritmo k-medias en lotes(C,K, D, rlen) C es el conjunto de vectores prototipo o codevectores K es el nmero de codevectores D es el conjunto de entrenamiento {xl, l=0...N-1} rlen es el nmero de veces que el algoritmo iterativo se va ejecutar
1. n=0 2. Inicializar C[0]={wj[0], j=1...K} 3. Calcular TR j [n ] = x i R j n

[ ]}
N 1

donde R j n = x x w j n = min x w i n
i =1..K

[]

[]

[]

y xi\Rj[n] son las muestras de entrenamiento que caen en la regin Rj[n] 4. Aplicar la siguiente ecuacin de actualizacin:

w j [n + 1] =

N j [n ] l =0

1(x

R j [n ]) x l

j = 1...K

5. n=n+1 6. Si n<rlen entonces ve al paso 3 7. Fin

10

Ttol del llibre

1.4. Simulaciones con la versin en lnea Es habitual encontrarse que las versiones en lnea de los algoritmos de aprendizaje suelen ser, computacionalmente hablando, menos eficientes que otro tipo de versiones del mismo algoritmo puesto que en su mayor parte se basan en la tcnica del descenso de gradiente. No obstante, las versiones en lnea tienen como principal ventaja el hecho de que nicamente necesitan coger a la vez unas pocas muestras del entorno para adaptarse (habitualmente una). De esta forma pueden ser empleados en problemas que varan con el tiempo y donde es necesario un sistema que se adapte de forma continuada (ej. Problemas de control). En este apartado vamos a utilizar un sencillo ejemplo a partir del cual estudiaremos las propiedades ms evidentes del k-medias en su versin en lnea. Supongamos que disponemos de un conjunto de muestras (digamos 500) extradas de una variable aleatoria gaussiana bidimensional con la siguiente media y matriz de covarianzas:

0 1 0 m = , Co var = 0 0 1
Ejecutaremos entonces el algoritmo con alpha constante situando un nico codevector cuyo valor inicial es igual a una muestra del conjunto de entrenamiento escogida aleatoriamente. Pasaremos cclicamente el algoritmo sobre el conjunto de entrenamiento. Empezaremos por un valor pequeo de alpha como 0.0005. El resultado se puede observar en la figura 1. El codevector parece converger de manera exponencial hacia la media de la nube gaussiana, concretamente hacia el valor [0.050655 -0.078301]' en 63 epochs (63*500=31500 iteraciones!!). (Converge significa en trminos prcticos que el algoritmo se encalla, es decir, a pesar de continuar la ejecucin del mismo, el valor en este caso del codevector no vara.) De hecho, como posteriormente demostraremos matemticamente, el algoritmo tiende a minimizar el error medio de cuantizacin que se comete en asignar para cada muestra de entrada que pertenece al conjunto de entrenamiento, el codevector ms cercano a l, aplicando para el clculo de "cercana" la distancia euclideana. Por lo tanto era de esperar que si nicamente disponemos de un codevector, aquel que minimiza el error de cuantizacin sea un valor cercano a la esperanza de la V.A gaussiana, que en nuestro esta situado en el origen de coordenadas. En realidad como trabajamos con un conjunto finito de datos de entrenamiento, el algoritmo no converge hacia el origen de coordenadas sino hacia la media emprica resultante de sumar todo el conjunto de entrenamiento y dividir por el nmero de muestras existentes. En nuestro caso esta media emprica est situada en el punto [0.050367 -0.077919]'. Como vemos el algoritmo prcticamente converge hacia este punto, aunque tarde para ello bastante iteraciones. (Podramos aumentar la precisin de la convergencia, disminuyendo todava ms alpha, aunque se tardara todava ms en llegar!!) La causa de que la convergencia sea lenta es que el algoritmo utiliza la tcnica de optimizacin conocida con el nombre de descenso de gradiente. En la figura 2 se muestran las curvas de nivel (aquellos lugares geomtricos de una funcin cuyo valor es constante) del error medio de cuantizacin para el conjunto de muestras de que disponemos en el caso de utilizar un slo codevector. Podemos observar que el mnimo de la funcin se sita en el origen de coordenadas. Adems en la figura se ha aadido el gradiente de dicha funcin en diversos puntos de plano y de nuevo la trayectoria que sigue el algoritmo y el conjunto de datos. Visualmente se puede comprobar que la trayectoria que sigue el algoritmo coincide con el gradiente del error medio de cuantizacin. Puesto que alpha controla cuanto aumentan los codevectores por iteracin, uno podra pensar que aumentando alpha se podra conseguir disminuir el tiempo necesario para que el algoritmo converja. Esto es as, lo que sucede es que el punto fijo, el punto en donde se encalla el algoritmo, cambia, alejndose del origen de coordenadas. Este fenmeno se puede observar en la en la tabla 1. A medida que alpha aumenta, aumenta tambin la velocidad de convergencia aunque el punto fijo de aleja cada vez ms del origen de

Ttol del captol

11

coordenadas que es la solucin de nuestro problema. Tambin a medida que alpha aumenta, aumenta la inestabilidad (Figura 3): Las trayectorias comienzan a oscilar alrededor del origen de coordenadas. Podemos observar en detalle el ruido que se introduce en la trayectoria en la figura 4.

Figura 1. Ejecucin del k-medias cclico con k=1, alpha=0.0005.

alpha
0.0005 0.005 0.05 0.5 0.99 1.55 1.99 2.1

punto fijo
[0.050655 -0.078301]' [0.052756 -0.083249]' [0.081969 -0.086159]' [-0.035331 -0.498855]' [-0.486020 -1.250637]' [0.812157 -3.382718]' [10.302406 -20.463701]' -

epochs
63 6 1 1 1 1 4 -

Tabla 1. Punto fijo alcanzado por el k-medias con k=1 para diversos valores de alpha. Se muestra adems el nmero de epochs necesarios para alcanzar dicho punto. Para valores de alpha superiores a 2, el algoritmo es numricamente inestable por lo que no existen puntos fijos.

Para el caso concreto alpha=1, este ruido o desorden se hace notoriamente evidente puesto que el codevector toma en cada iteracin el valor de la muestra de entrenamiento escogida. Este ruido tiene que ver con el hecho de que a medida de que alpha aumenta el algoritmo deja de seguir la direccin del gradiente y puede oscilar en zonas cncavas de la funcin error. Estas zonas cncavas se corresponden

12

Ttol del llibre

con los mnimos locales de la funcin y en nuestro caso est en el origen. Finalmente comentar que para valores de alpha cercanos a dos, el sistema empieza a desestabilizarse tendiendo de manera incontrolada hacia puntos fijos muy alejados del origen. En el caso de valores de alpha superiores a dos, el algoritmo es numricamente inestable por lo que no existen puntos fijos. Si en lugar de un nico vector situamos ahora 5 vectores sobre el espacio de entrada y ejecutamos el kmedias, los vectores tienden a representar discretamente el conjunto de muestras de entrenamiento. Si alpha es lo suficientemente pequea, podemos observar como se sitan alrededor del centro de manera regular (Figura 5).

Figura 2. Descenso de gradiente del k-medias a travs del error medio de cuantizacin.

Ttol del captol

13

Figura 3. Influencia de alpha en la convergencia y estabilidad del algoritmo. Se muestran todos los valores iteracin a iteracin obtenidos por el algoritmo. El smbolo O marca el valor inicial del codevector, mientras que * su valor final.

Figura 4. Detalle del ruido introducido en la trayectoria para el caso alpha=0.05. Al igual que en la figura anterior se muestran los valores iteracin a iteracin.

Conclusiones de las simulaciones En relacin a los objetivos computaciones del algoritmo podemos decir lo siguiente: El algoritmo tiende a minimizar (localmente) el error medio de cuantizacin que se comete al asignar cada muestra de entrenamiento al codevector ms cercano a l, utilizando como media de cercana la distancia euclidiana. As el algoritmo sita sobre el espacio de entrada ms codevectores en regiones de mayor densidad de muestras y menos en aquellas regiones donde hay menor nmero de ellas. Por ello, el k-medias permite (en principio) modelar discretamente la funcin densidad de probabilidad asociada a las muestras de entrenamiento (siempre y cuando el nmero de muestras de entrenamiento sea lo suficientemente significativo).

En relacin al mtodo de optimizacin empleado por el algoritmo: Las trayectorias de los codevectores siguen las direcciones marcadas por el gradiente de la funcin de error, siempre y cuando alpha sea lo suficientemente pequea (p.e. <0.001). Debido a esto, la convergencia del algoritmo hacia los puntos fijos es exponencial, lo que supone en la prctica una convergencia lenta.

14

Ttol del llibre

Figura 5. k-medias con k=5, con alpha=0.005. El smbolo O marca el valor inicial de los codevectores, mientras que * indica su valor final. Al igual que en el caso anterior nicamente si alpha es lo suficientemente pequea, la solucin ofrecida por el algoritmo nos muestra una representacin discreta del conjunto de entrenamiento. Sino, los puntos fijos se alejan de la solucin ptima a medida que alpha aumenta.

En relacin a como alpha afecta a la solucin alcanzada por el algoritmo: Si alpha es lo suficientemente pequea, existe una convergencia hacia la media en torno a cada regin donde cada codevector domina sobre el resto. Ello permite como hemos visto modelar discretamente, la funcin densidad de probabilidad asociada a las muestras de entrenamiento ya que se minimiza el error medio de cuantizacin. Si alpha aumenta indiscriminadamente (por debajo de un valor lmite, que es 2), la velocidad de convergencia aumenta aunque los puntos fijos del algoritmo iterativo a pesar de ser todava estables varan: ya no se converge hacia a la media. Adems se puede observar que el ruido del algoritmo aumenta en torno al punto fijo, a medida que alpha aumenta. Es decir, el algoritmo tiende a no seguir el gradiente a medida que alpha aumenta. Este fenmeno se hace evidente en las zonas cncavas de la funcin de error donde el algoritmo comienza a oscilar hasta que finalmente converge en un punto desviado del ptimo. Si alpha aumenta por encima de 2, el algoritmo es numricamente inestable. Es decir, existe un punto de bifurcacin o de cambio de estabilidad en el sistema dinmico discreto descrito por el algoritmo iterativo para alpha=2. Para ese valor de alpha, los puntos fijos pasan a ser inestables.

Ttol del captol

15

Anexo: Ejemplo de aplicacin del k-medias en lnea. Adaptacin continua en procesos estocsticos no estacionarios.
Veamos un sencillo ejemplo ilustrativo aplicado al k-medias en un entorno no estacionario. Supongamos que nuestro entorno se modela como un proceso estocstico discreto gaussiano cuyos momentos son los siguientes:

k / 5 1 0 m= , Co var = 0 1 k / 5
siendo k el tiempo discreto asociado al entorno. Supongamos que la relacin entre el tiempo discreto del entorno k y el del algoritmo de aprendizaje n es la siguiente:

k = n mod 250
De esta manera el algoritmo de aprendizaje puede muestrear hasta un mximo de 250 veces antes de que la estadstica del proceso discreto cambie. Disponemos de 250 muestras para cada instante en k (ver figura Anexo-1). Aplicamos entonces el algoritmo 1-medias para diferentes valores de alpha utilizando un muestreo del entorno sequencial (ya que no disponemos nunca de un conjunto fijo de muestras sino que estas van cambiando con el tiempo). Los resultados se pueden observar en la figura Anexo-2: Si alpha es demasiado pequeo el algoritmo se engancha al proceso no estacionario aunque es incapaz de seguirlo a la misma velocidad con que vara. Si alpha aumenta el algoritmo ya es capaz de seguir el proceso y converge instante a instante hacia la media temporal del proceso. Si alpha aumenta demasiado, el algoritmo empieza a tener problemas y aunque se engancha al proceso ya no es capaz de seguir su media.

16

Ttol del llibre

Figura Anexo-1. Aspecto de las muestras procedentes del entorno en dos instante diferentes de tiempo.

Figura Anexo-2. Resultados de aplicar de forma continuada el algoritmo 1-medias sobre el entorno de entrada no estacionario entre los instantes k=0 y k=10. Las muestras marcadas con puntos son las correspondientes al proceso en el instante k=0. Las marcadas con + son las muestras del proceso en k=10.

Ttol del captol

17

Referencias.
(Baxter, 1998) "The Canonical Distortion Measure for Vector Quantization and Function Approximation" en (Thrun, 1998) (Bezdek, 1981) James C. Bezdek. "Pattern Recognition with Fuzzy Objective Function Algorithms", Plenum Press: New York, 1981, pp. 65-85. (Bezdek, 1992) James C.Bezdek, Sankar K. Pal (Eds.) "Fuzzy Models for Pattern Recognition", IEEE Press: New York, 1992, Captulo 2. Anlisis de Clusters. (Bottou, 199?) Leon Bottou, Yoshua Bengio. "Convergence Properties of the K-means Algorithms", Advances in Neural Information Processing Systems 5?, 199? (Carpenter, 1988) Gail A. Carpenter, Stephen Grossberg. "The ART of Adaptive Pattern Recognition by a Self-Organizing Neural Network", IEEE magazine, 1988 (Duda, 1973) R. O. Duda and P. E. Hart. "Pattern Classification and Scene Analysis", John Wiley Interscience, 1973, pp. 225-228 (Gersho, 1992) Allen Gersho, Robert M. Gray. "Vector Quantization and Signal Compresion", Kluwer Academic Publishers: Boston, 1992, captulos 10,11,12 (Gray, 1984) Robert M. Gray, "Vector Quantization", IEEE Acoustics, Speech and Signal Processing Magazine, Vol. 1 No. 2, April 1984 (Gray, 1997) Robert M. Gray, Richard A. Olshen. "Vector Quantization and Density estimation", Technical Report, Department of Electrical Engineering, Stanford University, 1997 (Gray, 1998) Robert M. Gray, David L. Neuhoff. "Cuantization", Technical Report, Department of Electrical Engineering, Stanford University, June 1998 (Karayiannis, 1996a) Nicolaos B. Karayiannis, James C. Bezdek, Nikhil R. Pal, Richard J. Hathaway, "Repairs to GLVQ: A New Familiy of Competitive Learning Schemes", IEEE Transactions on Neural Networks, Vol. 7, No. 5, September 1996 (Karayiannis, 1996b) Nicolaos B. Karayiannis. "Fuzzy Algorithms for Learning Vector Quantization", IEEE Transactions on Neural Networks, Vol. 7, No. 5, September 1996 (Karayiannis, 1997) Nicolaos B. Karayiannis. "A Methodology for Constructing Fuzzy Algorithms for Learning Vector Quantization", IEEE Transactions on Neural Networks, Vol. 8, No. 3, May 1997 (Kosko, 1991) Bart Kosko. "Stochastic Competitive Learning", IEEE Transactions on Neural Networks, Vol. 2, No. 5, September 1991 (Kosko, 1992) Bart Kosko. "Neural Networks and fuzzy Systems: A Dynamical Systems Approach to Machine Intelligence", Prentice-Hall, 1992 (Kosmatopoulos, 1996) Elias B. Kosmatopoulos, Manolis A. Christodoulou. "Convergence Properties of a Class of Learning Vector Quantization Algorithms", IEEE Transactions on Image Processing, Vol. 5, No. 2, February 1996

18

Ttol del llibre

(MacQueen, 1967) J. MacQueen. "Some methods for classification and analysis of multivariate observations", Proceeding of the 5th Berkeley Symposium on Mathematics, Statistics and Probability, Vol. 1, pp. 281-296, University of California Press: LA, 1967 (Mitchell, 1997) Tom M. Mitchell. "Machine Learning", McGraw-Hill: New York, 1997, pp. 191-196 (Thrun, 1998) Thrun, Sebastian & Pratt, Lorien. (Eds.) "Learning to Learn", Kluwer Academic Press:Boston, 1998 (Oehler, 1995) Karen L. Oehler, Robert M. Gray. "Combining Image Compresion and Classification using Vector Quantization", IEEE Trans. on PAMI, Vol. 17, No. 5, May, 1995 (Perlmutter, 1996) Keren O. Perlmutter, Sharon M. Perlmutter, Robert M. Gray, Richard A. Olshen, Karen L. Oehler. "Bayes Risk Weeighted Vector Quantization with Posterior Estimation for IMage Compresion and Classification", IEEE Trans. on Image Processing, Vol. 5, No. 2, February, 1996 (Pal, 1993) Nikhil R. Pal, James C. Bezdek, Eric C. Tsao. "Generalized Clustering Networks and Kohonen's Self-Organizing Schemes", IEEE Transactions on Neural Networks, Vol. 4, No. 4, July 1993 (Yair, 1992) Eyal Yair, Kenneth Zeger, Allen Gersho. "Competitive Learning and Soft Competition for Vector Quantizer Design", IEEE Transactions on Signal Processing, Vol. 40, No. 2, February 1992 (Xu, 1993) Lei Xu, Adam Krzyzak, Erkki Oja. "Rival Penalized Competitive Learning for Clustering Analysis, RBF Net, and Curve Detection", IEEE Transactions on Neural Networks, Vol.4, No. 4, July 1993

También podría gustarte