REDES NEURONALES NO SUPERVISADAS CON...

86
UNIVERSIDAD DE M ´ ALAGA ESCUELA T ´ ECNICA SUPERIOR DE INGENIER ´ IA INFORM ´ ATICA INGENIERO T ´ ECNICO EN INFORM ´ ATICA DE SISTEMAS REDES NEURONALES NO SUPERVISADAS CON TOPOLOG ´ IA DIN ´ AMICA PARA LA SEGMENTACI ´ ON DE IM ´ AGENES EN COLOR. Realizado por ANTONIO D ´ IAZ RAMOS Dirigido por EZEQUIEL L ´ OPEZ RUBIO Departamento LENGUAJES Y CIENCIAS DE LA COMPUTACI ´ ON M ´ ALAGA, Noviembre 2010 1

Transcript of REDES NEURONALES NO SUPERVISADAS CON...

Page 1: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

UNIVERSIDAD DE MALAGAESCUELA TECNICA SUPERIOR DE INGENIERIA

INFORMATICA

INGENIERO TECNICO EN INFORMATICA DESISTEMAS

REDES NEURONALES NO

SUPERVISADAS CON TOPOLOGIA

DINAMICA PARA LA SEGMENTACION

DE IMAGENES EN COLOR.

Realizado porANTONIO DIAZ RAMOS

Dirigido porEZEQUIEL LOPEZ RUBIO

DepartamentoLENGUAJES Y CIENCIAS DE LA COMPUTACION

MALAGA, Noviembre 2010

1

Page 2: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

UNIVERSIDAD DE MALAGAESCUELA TECNICA SUPERIOR DE INGENIERIA

INFORMATICA

INGENIERO TECNICO EN INFORMATICA DESISTEMAS

Reunido el tribunal examinador en el dıa de la fecha, constituido por:

Presidente/a Do/Da.

Secretario/a Do/Da.

Vocal Do/Da.

para juzgar el proyecto Fin de Carrera titulado:

realizado por Do/Da

tutorizado por Do/Da.

y, en su caso, dirigido academicamente por

Do/Da.

ACORDO POR OTORGAR LA CALIFICACION

DE

Y PARA QUE CONSTE, SE EXTIENDE FIRMADA POR LOS COM-PARECIENTES DEL TRIBUNAL, LA PRESENTE DILIGENCIA.

Malaga a de del 20

2

Page 3: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Indice general

1. Introduccion. 41.1. Descripcion de un mapa auto-organizado. . . . . . . . . . . . . 71.2. Aprendizaje en un mapa auto-organizado. . . . . . . . . . . . 111.3. Algunas variantes de mapas auto-organizados. . . . . . . . . . 151.4. Otras variantes de mapas auto-organizados. . . . . . . . . . . 20

2. Nuevo enfoque teorico. 232.1. Recuperando las variantes. . . . . . . . . . . . . . . . . . . . . 26

3. Un mapa auto-organizado generalizado. 283.1. Construccion de la densidad continua. . . . . . . . . . . . . . . 303.2. Construccion del grafo de distancias. . . . . . . . . . . . . . . 323.3. Construccion de las geodesicas y la distancia geodesica. . . . . 363.4. Funcionamiento del mapa auto-organizado. . . . . . . . . . . . 42

4. Aplicacion a la segmentacion de imagenes. 434.1. Implementacion MATLAB. . . . . . . . . . . . . . . . . . . . . 474.2. Dependencia de los parametros. . . . . . . . . . . . . . . . . . 504.3. Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.3.1. Algoritmo de aprendizaje de dos fases. . . . . . . . . . 614.3.2. Algoritmo de aprendizaje de dos fases con criterio de

convergencia. . . . . . . . . . . . . . . . . . . . . . . . 66

5. Discusion y conclusiones. 69

A. Geometrıa y Topologıa. 74

B. Glosario. 81

3

Page 4: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Capıtulo 1

Introduccion.

Los mapas auto-organizados o redes de Kohonen (SOM por sus siglas

en ingles, self-organizing map) fueron introducidos por el profesor finlandes

Teuvo Kohonen en los artıculos [8, 9]. Un mapa auto-organizado es una he-

rramienta que analiza datos en muchas dimensiones con relaciones complejas

entre ellos y los presenta en una visualizacion sencilla en solo dos dimensiones.

La propiedad mas importante de una SOM es que preserva las propiedades

topologicas de los datos, es decir, que datos proximos aparecen proximos en

la visualizacion.

Para entender las posibilidades de un mapa auto-organizado imaginemos

por un momento que queremos comparar los niveles de vida de distintos

paıses. Los datos estadısticos del Banco Mundial para 126 paıses dan 39

indicadores de calidad de vida para cada paıs, relacionados con salud, nutri-

cion, educacion, etc. El efecto conjunto y complejo de todos estos factores se

puede visualizar en un mapa auto-organizado. Los paıses que tienen niveles

de vida similares aparecen uno junto a otro en el mapa, y los colores solo se

han anadido para resaltar las similitudes entre paıses:

4

Page 5: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Figura 1.1: Niveles de vida de diversos paıses en un mapa auto-organizado.

Los datos son del Banco Mundial son de 1992 y el ejemplo esta tomado de

la Universidad Tecnologica de Helsinki (http://www.cis.hut.fi/research/som-

research/worldmap.html), donde actualmente trabaja el profesor Kohonen.

En este caso, datos estadısticos complejos en 39 dimensiones han sido repre-

sentados usando unicamente dos dimensiones y preservando en el proceso las

relaciones de proximidad entre los datos.

La literatura relacionada con los mapas auto-organizados y sus aplicacio-

nes es muy diversa y numerosa. Desde su origen en 1981 se han publicado

mas de 7000 artıculos que usan, analizan o se benefician de las SOM de

algun modo, incluyendo las siguientes areas: imagen y vıdeo, reconocimiento

de patrones, tecnicas matematicas, inteligencia artificial, software, ingenierıa

en biologıa y medicina, teorıa de la informacion y la codificacion, recono-

cimiento de voz, control, procesamiento de senales, circuitos, ciencias de la

informacion y documentacion y negocios y administracion [10, 16, 19].

Este trabajo arranca del concepto de mapa auto-organizado y se ramifica

en una parte teorica y otra practica. Partiendo de una descripcion de los

mapas auto-organizados y algunas de sus variantes mas populares desarro-

llamos un nuevo concepto de mapa auto-organizado generalizado. El nuevo

enfoque se llevara a cabo mediante conceptos matematicos del area de la

5

Page 6: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Geometrıa y la Topologıa. La parte practica del proyecto se concretara en la

aplicacion de estas ideas al diseno de un mapa auto-organizado generalizado

que realice segmentacion de imagenes en color. Este constara esencialmente

de los mismos elementos que posee un mapa auto-organizado, a saber, un

conjunto de neuronas con una topologıa y un algoritmo de aprendizaje. Para

evaluar la eficacia de este nuevo tipo de red neuronal no supervisada en

la segmentacion de imagenes en color se realizara un analisis estadıstico a

posteriori.

El contenido del trabajo se subdivide en 3 capıtulos y 2 apendices. El

primero de ellos empieza con esta introduccion y las dos secciones siguientes

1.1 y 1.2 se dedican, respectivamente, a una primera descripcion elemental

de los mapas auto-organizados tras introducir conceptos basicos de redes

neuronales artificiales, y a una exposicion detallada del algoritmo de apren-

dizaje de un mapa auto-organizado, incluyendo las ecuaciones introducidas

por Kohonen.

Las dos siguientes secciones se dedican a revisar algunos artıculos que pre-

sentan variantes de mapas auto-organizados o construcciones relacionadas.

La seccion 1.3 se centra en las variantes que modifican la topologıa, distancia

entre neuronas o distancia entre la entrada y las neuronas. La seccion 1.4 en

cambio presenta trabajos no tan directamente relacionados con estas compo-

nentes de un mapa auto-organizado. En ambas secciones se van abstrayendo

y resaltando las ideas que dan a lugar a variantes de mapas auto-organizados

y que a nuestro juicio merece la pena destacar.

El Capıtulo 2 contiene el desarrollo teorico. Como hilo motivador y con-

ductor del desarrollo teorico se usaran las ideas que se destacaron en la sec-

ciones 1.3 y 1.4. Para lo conceptos matematicos involucrados se remite al

lector al Apendice A.

El Capıtulo 3 contiene una aplicacion de las ideas desarrolladas en el

Capıtulo 2. Se describe un mapa auto-organizado generalizado cuya dife-

rencia fundamental con los mapas auto-organizados clasicos estriba en que

las neuronas recorren las geodesicas en cierta metrica en vez de segmentos

rectilıneos. Esta construccion se complementa con el Capıtulo 4, donde se

proporciona una instancia de este mapa auto-organizado aplicado al proble-

6

Page 7: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

ma de la segmentacion de imagenes en color. Esto se ha concretado como

una serie de ejecutables en MATLAB y en C. Se concluye el capıtulo con un

estudio comparativo estadıstico de la calidad de los resultados obtenidos con

este nuevo metodo.

El ultimo capıtulo contiene una discusion de los logros y limitaciones de

este trabajo, ası como varias direcciones en las que seguir investigando a par-

tir de lo aquı expuesto. El Apendice A contiene las definiciones matematicas

necesarias del ambito de la Geometrıa y Topologıa para introducir el concepto

de variedad diferenciable Riemanniana, ası como los conceptos de distancia

geodesica y geodesica (minimizante) en estas variedades. El Apendice B con-

tiene un glosario de terminos especializados relacionados con el area de redes

neuronales artificiales y algunas de sus aplicaciones.

1.1. Descripcion de un mapa auto-organizado.

Un SOM o mapa auto-organizado se puede clasificar como un tipo parti-

cular de red neuronal artificial. Recordemos que una red neuronal artificial

es un objeto computacional que hace las veces de una funcion o aplicacion

entre un determinado espacio de entrada y un espacio de salida f : X → Y :

Figura 1.2: Red neuronal artificial como una funcion.

Las redes neuronales artificiales estan modeladas en la biologıa del cere-

bro humano y constan de una serie de unidades o neuronas interconectadas.

La funcion f que representa un red neuronal artificial depende directamente

de estas neuronas y sus interconexiones. Su principal virtud y aquello que

7

Page 8: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

caracteriza a las redes neuronales artificiales es que son capaces de aprender.

El aprendizaje se consigue alterando la naturaleza de la red misma: las co-

nexiones y su intensidad ası como las neuronas mismas se modifican. Estos

cambios producen a su vez que la funcion f que representa la red se altere.

Este proceso ocurre en una serie de etapas o iteraciones en cada una de las

cuales se produce una actualizacion de la red neuronal y de la funcion que

representa.

Las redes neuronales artificiales se clasifican segun el tipo de aprendizaje

que contemplen:

Aprendizaje supervisado: dado un conjunto de pares {(xi, yi)}i=1,...,M

pertenecientes a X × Y la red aprende para dar la mejor aproximacion

a una funcion f que satisfaga f(xi) = yi.

Aprendizaje no supervisado: se parte de un conjunto o distribucion en

el espacio de entrada {xi}i=1,...,M y la red aprende para dar una funcion

f que minimize una funcion de coste C = C(f).

En vez de introducir aquı en detalle el paradigma completo de las redes

neuronales artificiales y sus distintos tipos vamos a centrarnos en describir

en profundidad los mapa auto-organizados, ya que son el unico tipo de red

neuronal artificial que se utiliza a lo largo de este trabajo.

Los mapas auto-organizados son un tipo particular de red neuronal arti-

ficial con aprendizaje no supervisado. Un mapa auto-organizado consiste en

un conjunto de nodos o neuronas usualmente dispuestos en forma unidimen-

sional o en forma de malla de dos dimensiones con distribucion ortogonal o

hexagonal:

8

Page 9: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Figura 1.3: Distribuciones tıpicas de las neuronas en un mapa auto-organizado.

Las conexiones entre las neuronas que se observan en la figura son crıticas

para el funcionamiento del mapa auto-organizado. Cada neurona de la malla

tiene asociado un vector de las mismas dimensiones que el espacio de entrada.

Este vector se conoce como vector de pesos de la neurona. Por esto mismo uno

puede imaginar la red neuronal como un un segmento unidimensional o una

malla bidimensional, segun corresponda, que yace en el espacio de entrada.

Durante el proceso de aprendizaje estos vectores se modifican iterativamente:

cuando se presenta un dato de entrada x a la red la neurona con el vector de

pesos mas cercano y sus neuronas proximas en la malla de la red modifican

sus pesos de forma que se asemejen mas a la entrada x.

Figura 1.4: Aprendizaje en un mapa auto-organizado.

En la figura anterior se representa una red bidimensional dispuesta en el

espacio de entrada a la izquierda. En la imagen central un dato de entrada

x es presentado a la red y la neurona mas cercana se selecciona (en rojo).

Finalmente, esta neurona y su vecinas en la malla se mueven hacia la entrada

x. La neurona mas cercana o neurona ganadora se suele denotar por sus siglas

en ingles BMU (best matching unit). Este tipo de aprendizaje se conoce como

9

Page 10: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

aprendizaje competitivo ya que las neuronas compiten por ser la mas cercana

a la entrada.

Despues de un numero suficiente de iteraciones, la red se adapta a la

forma de los datos o distribucion de entrada {xi}i=1,...,M :

Figura 1.5: Mapa auto-organizado tras un numero grande de iteraciones.

La funcion f : X → Y asociada a un mapa auto-organizado es la funcion

que asigna a cualquier valor de entrada x la neurona de la malla cuyo vector

de pesos es mas cercana a la entrada, es decir, la BMU. Por tanto en este

caso el espacio de salida es la malla de la red. Por sencillez denotemos a esta

funcion por BMU : X → malla de la red, en vez de por f . Abusando un

poco de notacion usaremos BMU tanto para denotar la neurona ganadora

en la malla como para denotar su vector de pesos en el espacio de entrada.

Que version estamos usando estara claro por el contexto.

Como comentamos anteriormente un mapa-organizado es un red neuronal

artificial con aprendizaje no supervisado y por tanto debe haber una funcion

de coste asociada que el mapa intenta minimizar durante su aprendizaje. En

nuestras aplicaciones esta funcion de coste sera el error cuadratico medio o

MSE por sus siglas en ingles, mean squared error:

MSE =

∑M

i=1 ||xi −BMU(xi)||2

M, (1.1)

donde {xi}i=1,...,M son los datos de entradas y M el numero de entradas o

10

Page 11: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

muestras. Esta cantidad mide como de bien la red ha capturado la distribu-

cion de entrada.

En general, el funcionamiento de un mapa auto-organizado se puede di-

vidir en tres etapas:

1. Inicializacion de los vectores de peso de las neuronas.

2. Aprendizaje de la red.

3. Evaluacion de una funcion de coste como (1.1).

En la siguiente seccion se explican las dos primeras etapas en detalle.

1.2. Aprendizaje en un mapa auto-organizado.

En esta seccion repasamos las ecuaciones clasicas introducidas por Koho-

nen que determinan el aprendizaje en un mapa auto-organizado.

Supongamos que los datos de entrada viven en el espacio real de n di-

mensiones Rn. Ası que xi ∈ R

n para cada muestra de los datos de entrada

{xi}i=1,...,M . Consideremos una poblacion de N neuronas y denotemos por ni

el vector de pesos de Rn asociado a la neurona i para i = 1, . . . , N . Usemos

la variable t para denotar la iteracion actual t = 0, 1, 2, 3, . . ., de manera que

ni(t) corresponde al vector de la neurona i en el instante t. Por ultimo, de-

notemos por x(t) el dato de entrada que se presenta a la red en la iteracion

t. Este valor sera una de las muestras de entrada {xi}i=1,...,M y es elegida de

entre todas ellas mediante algun orden o algun procedimiento aleatorio.

Podemos dar ahora una formula explıcita para el movimiento de las neu-

ronas hacia la entrada cuando esta es presentada a la red:

ni(t+ 1) = ni(t) + γ(t, x(t), i)(x(t) − ni(t)). (1.2)

Notese que x(t) − ni(t) es un vector que apunta desde la posicion de la

neurona i hacia la entrada x(t). Por tanto, los nuevos pesos de la neurona

i, ni(t + 1), se obtienen sumando a la posicion actual, ni(t), un multiplo

de este vector. La magnitud de este multiplo viene dada por la cantidad

11

Page 12: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

γ = γ(t, x(t), i) que depende de la iteracion en la que nos encontramos t, de

la entrada x(t) y de la neurona i en cuestion. Esta cantidad γ debe ser un

numero entre 0 y 1, 0 ≤ γ ≤ 1, y por tanto la nueva posicion de la neurona

i-esima se encuentra recorriendo γ por ciento del segmento que va desde la

posicion actual de la neurona hasta la entrada.

Figura 1.6: Recorrido a lo largo del segmento neurona-entrada.

La funcion γ debe satisfacer las dos siguientes condiciones:

ser funcion decreciente de la distancia entre la neurona i y la neurona

ganadora BMU en la malla unidimensional o bidimensional del mapa

auto-organizado, y

ser funcion decreciente del tiempo t.

Esto quiere decir que cuanto mas alejada en la malla este una neurona de la

BMU menos aprendera y que conforme avanza el numero de iteraciones las

neuronas iran aprendiendo menos.

Por lo general la funcion γ se escribe como el producto de dos funciones

γ = θ(t, x(t), i)·η(t), donde θ se conoce como la funcion de entorno o vecindad

y η es la funcion de aprendizaje.

Un ejemplo habitual de funcion de entorno es la (pseudo) distribucion

normal

θ(t, x(t), i) = e−d2

malla(i,BMU)

2σ(t)2 , (1.3)

donde dmalla(i, BMU) es la distancia en la malla entre la neurona i y la

neurona ganadora BMU . Esta distancia se define como la distancia euclıdea

entre las neuronas en el espacio euclıdeo en el que la malla se halla inmersa.

Ademas, asumimos que la distancia entre dos neuronas adyacentes de la malla

12

Page 13: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

es 1. Esto es una normalizacion que sera util despues. El papel de la varianza

σ(t) es determinar como de lejos llega la influencia de la BMU en la malla.

Recordemos que aproximadamente el 68 % de la distribucion θ se lo llevaran

las neuronas que esten a una distancia menor o igual que la varianza σ(t).

La varianza σ(t) debe decrecer con el tiempo. De esta forma, el entorno

de neuronas de la malla alrededor de la BMU que aprenden va decreciendo

con el tiempo:

Figura 1.7: Los entornos alrededor de la BMU encogen con el tiempo.

El decrecimiento de la varianza se modela como sigue:

σ(t) = σ0 · e−tλ ,

donde λ es una constante relacionada con el numero maximo de iteraciones

y tamano del entorno inicial:

λ =NumMaxIteraciones

log(σ0).

Se deduce que cuando t iguala el numero maximo de iteraciones σ(t) toma el

valor 1. Por tanto, la influencia del aprendizaje de la BMU se reduce a ella

misma (ya que las neuronas adyacentes estan a una distancia de 1). Por otro

lado, el entorno inicial σ0 se inicializa con la mitad de la distancia maxima

entre cualesquiera dos neuronas de la malla, es decir, con el “radio” de la

malla.

13

Page 14: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

La funcion de aprendizaje tiene una expresion similar:

η(t) = η0 · e−tλ ,

donde el coeficiente de aprendizaje inicial η0 es un numero entre 0 y 1. Esto

quiere decir que las neuronas sufriran un proceso de “aprendizaje rapido y

olvido lento”.

Los vectores de pesos de las neuronas se inicializan con algun procedimien-

to aleatorio, como tomar valores aleatorios dentro de un rango significativo

o tomar directamente el valor de muestras elegidas aleatoriamente.

El numero maximo de iteraciones que llevara a cabo el algoritmo de apren-

dizaje lo hemos denotado NumMaxIteraciones. Este numero puede ser, por

ejemplo, el numero de muestras, con lo que se realiza una iteracion para cada

muestra. Tambien puede existir algun criterio de convergencia que determine

la parada del algoritmo antes de llegar a NumMaxIteraciones iteraciones.

Por ejemplo, se puede estudiar si el cambio de posicion en las neuronas es

suficientemente pequeno como para parar el proceso de aprendizaje.

Esto describe en reglas generales el aprendizaje en un mapa auto-organi-

zado. En las aplicaciones practicas puede haber variaciones en las exponen-

ciales usadas, la inicializacion de las neuronas, el criterio de convergencia,

etc.

Ejemplo 1.2.1. Como ejemplo practico de los coeficientes de aprendizaje

supongamos que tenemos una malla unidimensional de 10 neuronas, que to-

mamos 100 muestras y que realizamos una iteracion por muestra. Segun las

formulas vistas anteriormente tendremos los siguientes valores para el en-

torno inicial y para la constante λ:

σ0 = 5 , λ = 100/ log(5) ≈ 62,133.

Tomemos ademas el coeficiente de aprendizaje inicial η0 = 0,9. En la

siguiente grafica hemos representado en rojo el coeficiente γ = θ · η para la

BMU y en azul el mismo coeficiente para una neurona que se encuentra a la

distancia maxima de la BMU, es decir, para los casos dmalla(i, BMU) = 0 y

14

Page 15: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

dmalla(i, BMU) = 9 respectivamente.

0 20 40 60 80 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Número de iteración

coef

icie

nte

neurona BMUneurona adistancia máxima

Figura 1.8: Coeficientes para la BMU y para una neurona a distancia maxima.

1.3. Algunas variantes de mapas auto-orga-

nizados.

En esta seccion comentamos algunos artıculos que presentan variantes de

los mapas auto-organizados tal y como fueron introducidos en las secciones

1.1 y 1.2. En el apendice A se puede encontrar una introduccion a los con-

ceptos matematicos que usamos. A lo largo de la seccion se iran destacando

variantes a las que puede someterse un mapa auto-organizado.

Una de las fuentes mas ricas de alteraciones de los mapas auto-organizados

clasicos es el uso de distintas topologıas y distancias entre las neuronas.

Aquı entendemos por esta topologıa la manera en que las neuronas estan co-

nectadas entre sı. Por ejemplo, hemos visto anteriormente que las topologıas

clasicas consisten en un grafo lineal con cada neurona (salvo los 2 extremos)

conectada a 2 vecinos o un grafo plano en que cada neurona (excepto los

15

Page 16: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

4 bordes) se conecta a 4 vecinos (distribucion ortogonal) o 6 vecinos (dis-

tribucion hexagonal). Recordemos (Seccion 1.2) que para estos casos hemos

definido la distancia entre neuronas como la distancia euclıdea entre ellas en

el espacio en el que la malla se halla inmersa.

Una primera idea es sustituir el segmento por un cırculo y la malla cua-

drada por un toro. Ası se consigue que todas las neuronas tengan 2 vecinos

en el caso unidimensional o 4 o 6 vecinos en el caso bidimensional.

Figura 1.9: Malla unidimensional con topologıa circular.

Los trabajos [13] y [15] van mas alla y consideran una matriz cuadrada

que almacena la distancia entre cada par de neuronas de la malla. Estas

distancias no provienen de la inmersion de la malla en un espacio (euclıdeo

por ejemplo) como anteriormente, por lo que no corresponden a las distancias

entre las neuronas en algun espacio si no a una medida abstracta.

De estas ideas podemos abstraer el concepto de que la topologıa y distan-

cias entre neuronas podrıan estar en general determinadas por un espacio al

que las neuronas pertenecen. Este espacio serıa el sustituto para el espacio

euclıdeo o el cırculo o el toro vistos arriba. Como requerimos una distancia

entre puntos de este espacio, debemos considerar espacios metricos, es decir,

espacios dotados de una metrica o distancia. De lo comentado sobre [15] nos

quedamos con la idea de que las distancias entre neuronas podrıan variar, o

equivalentemente, las neuronas podrıan moverse en este espacio metrico. En

resumen:

Variante 1.3.1. Sustituir la topologıa y distancia entre neuronas por la to-

pologıa y distancias en una espacio metrico al que pertenecen y en el que se

16

Page 17: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

mueven las neuronas.

Otro grupo de autores han apostado por conservar la topologıa y distan-

cias clasicas y variar en cambio el tipo de distancia entre la entrada y las

neuronas en el espacio de entrada. Recordemos que una fase fundamental del

aprendizaje es determinar la BMU calculando el mınimo de estas distancias.

Ası que estamos ante variaciones crıticas de un mapa auto-organizado. En lo

que llevamos visto el espacio de entrada es un espacio euclıdeo y la distancia

de la entrada a las neuronas es simplemente la distancia euclıdea entre la

entrada y el vector de pesos de las neuronas.

El nuevo enfoque consiste en conservar el espacio euclıdeo como espacio

de entrada pero dotarlo de otra metrica. Esta nueva metrica se usa para

calcular las distancias entrada-neuronas. Esto se hace en dos fases:

(a) se da un modelo continuo de densidad que ajuste los datos de entrada,

y

(b) se usa esta densidad para definir una metrica Riemanniana en el espacio

euclıdeo de entrada.

Estas metricas se conocen como metricas de aprendizaje (learning me-

trics) y se utilizan en los artıculos [20], [18] y [11]. Estas nuevas metricas se

ajustan a los datos y permiten descubrir propiedades intrınsecas de los da-

tos, lo cual es basico en un paradigma no supervisado como el de los mapas

auto-organizados.

Ejemplo 1.3.1. Como ejemplo veamos como estas metricas pueden permi-

tir aislar agregaciones de datos en problemas de clustering [20]. La siguiente

figura muestra una configuracion de datos con forma de dos medias lunas en-

garzadas, ası como un modelo de densidad continuo que se ajusta a los datos.

Los entornos rojos y azules corresponden a entornos en metrica euclıdea y en

metrica de aprendizaje de un mismo punto respectivamente. Claramente la

metrica de aprendizaje es capaz de separar mucho mejor las dos componentes

de los datos que la metrica euclıdea.

17

Page 18: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Figura 1.10: Metrica de aprendizaje versus metrica euclıdea.

En este caso la matriz de la metrica Riemanniana en el punto x ∈ Rn

viene dada por [20, Ecuacion (2)]

G(x) = ∇log p(x)(∇log p(x))t,

donde p es el modelo de densidad continua y ∇ es gradiente. Esto quiere

decir que la metrica es sensible a los cambios (en el logaritmo) de la densi-

dad. Zonas con pocos cambios corresponden a distancias cortas y zonas con

muchos cambios a distancias largas. En el trabajo original el autor aplica el

algoritmo de clustering “medias-k” (o k-means en ingles) para mostrar como

la metrica Riemanniana supera con creces a la euclıdea al agrupar los datos

de entrada de una configuracion similar a la mostrada aquı [20, Figure 2].

De esto podemos concluir otro tipo de variante para los mapas auto-

organizados

Variante 1.3.2. Sustituir la metrica euclıdea en el espacio de entrada por

una metrica Riemanniana construida a partir de una una densidad continua

que se ajusta a los datos de entrada.

Entre los metodos para construir la densidad continua a partir de la

nube de datos de entrada (a) cabe destacar [14]. La densidad construida

aquı consiste en un conjunto de distribuciones normales cuyos parametros

se estiman a partir de los datos de entrada y cuyo numero de direcciones

principales se ajustan tambien a los datos. Este metodo sera descrito con

mayor detalle en la Seccion 3.1.

18

Page 19: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Profundizando un poco mas en el punto (b) destaca el problema de como

calcular la distancia entre dos puntos alejados dada, como en el ejemplo

1.3.1, la matriz de la metrica en cada punto. Esto es, queremos calcular la

geodesica o camino mas corto entre dos puntos p y q del espacio euclıdeo

dotado de una metrica Riemanniana. En vez de minimizar la longitud en la

metrica Riemanniana (integral de camino) sobre todos los caminos entre p y

q aquı seguimos un enfoque practico e intentamos aproximar esta geodesica

por un camino lineal a trozos.

El metodo mas sencillo es definir la distancia geodesica como la longitud

en la metrica Riemanniana del segmento rectilıneo entre p y q. La integral de

camino resultante se puede aproximar con un trapezoide. Otro metodo mas

razonable, usado en [18] y [20], consiste en elegir el camino que minimiza la

distancia entre p y q en un grafo con vertices en el espacio euclıdeo de entrada

que incluye a p y q, y cuyas aristas tienen pesos dados por las longitudes en la

metrica Riemanniana de los segmentos rectilıneos entre los vertices (metodo

explicado antes). La eleccion del camino optimo en el grafo se puede realizar

con un algoritmo como el de Floyd. La discusion de que vertices y aristas se

usan para construir el grafo la posponemos.

Figura 1.11: Geodesicas y distancias geodesicas usando un segmento y ungrafo.

Al camino construido segun este metodo lo llamaremos geodesica entre

p y q y a la suma de los pesos de las aristas que incluye dicho camino la

llamaremos distancia geodesica entre p y q.

19

Page 20: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Variante 1.3.3. Sustituir la distancia euclıdea entre la entrada y las neuro-

nas por la distancia geodesica correspondiente.

Es interesante que aunque los trabajos citados usen distancia geodesica

para calcular la BMU no usan en ningun caso la geodesica para desplazar

las neuronas hacia la entrada. En realidad se usa el camino que minimiza la

distancia geodesica solo localmente y, como se deduce en [11, III.A y III.B],

esto nos trae de vuelta al segmento rectilıneo entre la neurona y la entrada.

Esto nos permite introducir la siguiente novedad:

Variante 1.3.4. Sustituir el desplazamiento a lo largo del segmento entre la

neurona y la entrada por el desplazamiento a lo largo de la geodesica corres-

pondiente.

1.4. Otras variantes de mapas auto-organiza-

dos.

En esta seccion discutimos otras variantes de mapas auto-organizados

que no estan tan directamente relacionados con la topologıa, distancia entre

neuronas o distancia entre entrada y neuronas como las de seccion anterior.

Aquı tambien recopilamos las variantes destacadas.

Empezamos discutiendo modificaciones que se centran en la dinamica de

la poblacion de neuronas. Recordemos que en los casos clasicos las neuronas

y las conexiones entre ellas son estaticas. Sin embargo, en el trabajo [1] se

presenta el mapa auto-organizado LARFSOM (local adaptive receptive field

SOM), en el cual las neuronas y las conexiones entre ellas pueden crearse y

destruirse segun las necesidades de la red. La creacion de neuronas tiene lugar

cuando la BMU no esta suficientemente cerca de la entrada. Una neurona es

destruida cuando queda desconectada del resto de la red.

En el trabajo [6] se presentan “The Growing Hierarchical Self-Organizing

Map”, el mapa auto-organizado jerarquico que crece. En este caso hay cons-

truccion de neuronas y aristas cuando la informacion que guarda una porcion

de la red necesita ser subclasificada con mas detalle. No hay destruccion de

neuronas o aristas.

20

Page 21: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

Variante 1.4.1. Permitir la creacion y destruccion de neuronas y aristas en

la malla para adaptarse mejor a los datos de entrada.

Por otro lado, en los trabajos [5] y [21] se modifican las estrategias mis-

mas de competitividad entre las neuronas con los mapas auto-organizados

FS-SOM (frequency sensitive SOM) y SA-SOM (sample-size adaptive SOM)

respectivamente. En ambos casos las neuronas que ganan repetidamente son

penalizadas de forma que tienen menos posibilidades de ganar en las proximas

iteraciones. De esta forma se favorece a todas las neuronas mas homogenea-

mente. En [21] ademas el entorno de una neurona se reduce progresivamente

cuando esta neurona es la BMU repetidamente.

Variante 1.4.2. Modificar la estrategia de competitividad para dar iguales

oportunidades a todas las neuronas.

Siendo la visualizacion en dos dimensiones de datos en muchas dimensio-

nes una de las caracterısticas mas destacadas de los mapas auto-organizados

no es de extranar que se hayan planteado otras opciones con este objetivo en

mente. En [12] se explica un metodo para crear una representacion en un toro

dos dimensional de datos en muchas dimensiones, preservando las distancias

tanto como sea posible. El metodo se conoce como relational perspective

map, mapa en perspectiva relacional. La idea es resolver las ecuaciones dife-

renciales que resultan de una dinamica de partıculas sobre el toro en la que

se considera una partıcula por cada dato de entrada y en el que las fuerzas

son proporcionales a las distancias originales en el espacio de entrada (e in-

versamente proporcionales a las distancias sobre el toro). Esta idea de que

las neuronas “se mueven” al aprender refuerza la Variante 1.3.1.

Por otro lado, en [3] se presenta la “GTM: The Generative Topographic

Mapping”, la aplicacion topografica generativa. En este caso la visualizacion

dos dimensional se consigue en dos fases. Primero, se construye una funcion

que va de una malla bidimensional de neuronas al espacio de entrada. Esta

funcion se define a traves de funciones no lineales y el proceso de aprendiza-

je consiste en ajustar los parametros de estas funciones hasta conseguir una

adaptacion optima a la nube de datos de entrada. Notese que la funcion BMU

en un mapa auto-organizado clasico es del tipo BMU : X → malla de la red

21

Page 22: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 1. INTRODUCCION.

(ver Seccion 1.1) y que aquı estamos considerando una funcion en sentido

contrario malla de la red → X (donde X es el espacio de entrada). La se-

gunda fase de este metodo consiste en construir una aplicacion en el “sentido

correcto” usando el teorema de Bayes.

Los dos ultimos trabajos comentados no son variantes de un mapa auto-

organizado sino conceptos esencialmente distintos aunque relacionados. Lo

mismo ocurre con el trabajo [17], que esta relacionado con problemas de

clustering. Aquı se expone el concepto de afinidad como concepto alternati-

vo al de clustering: en vez de decidir que datos pertenecen al mismo cluster

se construye un numero, la afinidad, entre cada par de datos de entrada.

Esta afinidad se construye a partir de un “feature space” o espacio de carac-

terısticas como un histograma, y es proporcional a la longitud del camino en

este espacio que minimiza la distancia euclıdea y evita las regiones de baja

densidad. Nos quedamos con la siguiente idea:

Variante 1.4.3. La metrica Riemanniana de que se dota al espacio de entra-

da a partir de una densidad continua podrıa ser tal que las geodesicas eviten

las zonas de baja densidad.

Notese que la metrica Riemanniana presentada en el Ejemplo 1.3.1 tiende

a evitar las zonas con mucho cambio en la densidad, lo cual es diferente de

lo expuesto en la variante anterior.

Por ultimo, mencionar los trabajos [22] y [7]. En el primero se presenta

un tipo especial de mapa auto-organizado con dos tipos de neuronas como

solucion a un problema de cuantificacion vectorial (VQ por sus siglas en

ingles, vector quantization). Se aplica a compresion de imagenes.

En el trabajo [7] un mapa auto-organizado es usado como paso previo

a un proceso de clustering mediante templado simulado (SA por sus siglas

en ingles, simulated annealing). El templado es un proceso fısico en el que

algun material es sometido a altas temperaturas para despues dejarlo enfriar

lentamente. Destaquemos aquı tambien que este artıculo trata sobre segmen-

tacion de imagenes en color y que trabaja en el espacio de color CIELUV ,

un espacio de color donde la diferencia en percepcion es proporcional a la

diferencia entre los colores (en el espacio de color RGB este no es el caso).

22

Page 23: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Capıtulo 2

Nuevo enfoque teorico.

Este capıtulo se puede considerar como un ejercicio de abstraccion del

concepto de mapa auto-organizado. Basandonos en las Secciones 1.3 y 1.4

daremos una definicion de mapa auto-organizado generalizado. Esta no ser-

vira directamente como herramienta practica sino mas bien como marco des-

de que el iniciar o generar aplicaciones concretas. Esto es, por ejemplo, lo que

haremos en el Capıtulo 3, donde elegiremos de este concepto de mapa auto-

organizado generalizado los elementos que nos interesen para desarrollar en

el Capıtulo 4 una aplicacion a la segmentacion de imagenes en color. En la

Seccion 2.1 veremos que variantes de mapas auto-organizados de la Secciones

1.3 y 1.4 encajan dentro de este nuevo concepto.

Quizas la propiedad mas interesante del concepto que presentamos es que

es simetrico: los datos de entrada en el espacio de entrada por un lado y las

neuronas por otro lado juegan ahora papeles intercambiables. Esta simetrıa

puede, en potencia, dar lugar a nuevos desarrollos.

Comencemos con la variantes 1.3.1 y 1.3.3, las cuales reproducimos aquı pa-

ra la conveniencia del lector:

Variante. Sustituir la topologıa y distancia entre neuronas por la topologıa

y distancias en una espacio metrico al que pertenecen y en el que se mueven

las neuronas.

Variante. Sustituir la distancia euclıdea entre la entrada y las neuronas por

la distancia geodesica correspondiente.

23

Page 24: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 2. NUEVO ENFOQUE TEORICO.

Por la primera variante impondremos que las neuronas vivan en un espacio

metrico por el que se pueden desplazar. De la tercera variante queremos que

el espacio de entrada sea tambien un espacio metrico (metrica es la distancia

geodesica).

Ası que tenemos dos espacios, uno en el que viven las neuronas y otro, el

espacio de entrada, en el que tenemos los datos de entrada. Queremos que

estos dos espacios tengan una nocion de distancia, es decir, que sean espacios

metricos. Ası que denotemos por N y por X a sendos espacios metricos. El

primero de ellos contendra a las neuronas y el segundo de ellos a los datos

de entrada. Por tanto, cada neurona tiene un posicion dinamica en N y

cada dato de entrada tiene una posicion dinamica en X . En un mapa auto-

organizado clasico estas posiciones son estaticas, es decir, que no varıan con

el tiempo.

En el caso clasico, el vector de pesos de cada neurona es una posicion en el

espacio de entrada X . Ası, que cada neurona tiene en realidad asociadas dos

posiciones, una en N y otra en X . Por otro lado, la funcion best matching

unit, BMU, introducida en la Seccion 1.1, asocia a cada dato de entrada

una posicion en N . Notese que el codiminio de la funcion BMU definida en

esa seccion es la malla de la red o el conjunto de las neuronas, no el espacio

donde viven las neuronas como aquı. En cualquier caso, cada dato de entrada

tambien tiene asociadas dos posiciones, una en X y otra en N .

Definicion 2.0.1. Un mapa auto-organizado generalizado consta de dos es-

pacios metricos X y N en cada uno de los cuales se dan dos poblaciones

iniciales de M puntos y de N puntos.

En cada iteracion t = 0, 1, 2, 3, . . . un algoritmo de aprendizaje genera las

nuevas posiciones de los 2·(M+N) puntos a partir de las posiciones actuales.

La funcion de coste para evaluar el aprendizaje depende de las posiciones de

los puntos.

En el caso clasico, las M posiciones en X son los datos de entrada y son

estaticas. Las M posiciones en N son la evaluacion de la funcion BMU sobre

los datos de entrada y son dinamicas. Las N posiciones en N corresponden a

las posiciones de las neuronas en la malla y son estaticas. Las N posiciones en

24

Page 25: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 2. NUEVO ENFOQUE TEORICO.

X corresponden a los vectores de peso de las neuronas y son dinamicas. En

un mapa auto-organizado generalizado todas las posiciones son dinamicas.

Figura 2.1: Un mapa auto-organizado generalizado.

No se ha especificado ninguna propiedad del algoritmo de aprendizaje

ası que este es totalmente generico. Esto da lugar a que la definicion sea

quizas un poco vaga, pero hemos preferido centrarnos en los dos espacios y

su simetrıa.

Recordemos ahora las variantes 1.3.2 y 1.3.4:

Variante. Sustituir la metrica euclıdea en el espacio de entrada por una

metrica Riemanniana construida a partir de una una densidad continua que

se ajusta a los datos de entrada.

Variante. Sustituir el desplazamiento a lo largo del segmento entre la neu-

rona y la entrada por el desplazamiento a lo largo de la la geodesica corres-

pondiente.

En nuestra definicion de mapa auto-organizado generalizado no hemos

exigido que las distancias de X y N vengan inducidas por una metrica Rie-

manniana. Esto darıa lugar a:

Definicion 2.0.2. Una mapa auto-organizado Riemanniano es un mapa

auto-organizado generalizado en el que las metricas de X y/o N vienen in-

ducidas por una metrica Riemanniana.

La segunda variante expuesta arriba impone que las neuronas se desplacen

por geodesicas:

25

Page 26: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 2. NUEVO ENFOQUE TEORICO.

Definicion 2.0.3. Una mapa auto-organizado geodesico es un mapa auto-

organizado generalizado en el que los espacios X y/o N son espacios geodesi-

cos, es decir, espacios dotados de una geodesica entre cada par de puntos, y

el algoritmo de aprendizaje actualiza las nuevas posiciones mediante despla-

zamientos a lo largo de geodesicas.

2.1. Recuperando las variantes.

Recordemos que todas las variantes de la seccion 1.3 se centraban en mo-

dificar la topologıa, distancia entre neuronas o distancia entrada-neuronas

de la red. Todas ellas salvo [13] y [15] encajan como mapas auto-organizados

generalizados, y algunas de ellas dan lugar a mapas auto-organizados Rie-

mannianos. Notese que, como tambien comentamos al final de esa seccion,

ninguna de ellas da lugar a un mapa auto-organizado geodesico.

Revisemos ahora las variantes de la Seccion 1.4 algunas de las cuales,

como ya dijimos, estan solo relacionadas con mapas auto-organizados.

La Variante 1.4.1

Variante. Permitir la creacion y destruccion de neuronas y aristas en la

malla para adaptarse mejor a los datos de entrada,

no se contempla en el mapa auto-organizado generalizado, ya que las po-

blaciones de neuronas y datos de entrada son estaticas (no ası sus posiciones).

Ası que los trabajos [1] y [6] no se pueden enmarcar dentro del nuevo con-

texto teorico. Por otro lado, los trabajos [5] y [21] dieron lugar a la Variante

1.4.2

Variante. Modificar la estrategia de competitividad para dar iguales oportu-

nidades a todas las neuronas.

Como no se han impuesto restricciones en el algoritmo de aprendizaje de

un mapa auto-organizado generalizado esta variante sı es abarcada.

Pasamos ahora a los dos trabajos mas interesante desde el punto de vista

de comparacion con un mapa auto-organizado generalizado. Empecemos por

26

Page 27: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 2. NUEVO ENFOQUE TEORICO.

el mapa en perspectiva relacional [12], con el cual se consigue representar da-

tos de dimension arbitraria en un toro bidimensional. Este trabajo se puede

ver como un mapa auto-organizado generalizado en el cual X es el espacio

euclıdeo y N es el toro bidimensional. Ademas, M = N y podemos iden-

tificar las dos poblaciones en X como una sola y las dos poblaciones en N

como una sola. Las M posiciones en X corresponden a los datos de entrada

y son estaticas. Las M posiciones en N son dinamicas y corresponden a las

iteraciones del algoritmo para resolver las ecuaciones diferenciales involucra-

das (hay una partıcula por cada dato de entrada). La funcion de coste que

se quiere minimizar [12, Ecuacion (1)] es funcion de las M posiciones en N .

La aplicacion topografica generativa [3] tambien se enmarca dentro del

presente contexto teorico. En este caso tanto X como N corresponden a

espacios euclıdeos de las dimensiones adecuadas. La poblacion deN puntos en

X corresponde a la funcion y(x;W) definida en [3, Ecuacion (7)] y evaluada

en las N posiciones de la malla en N . El algoritmo de aprendizaje serıan las

iteraciones del algoritmo EM [3, Seccion 2.1]. La funcion de coste a maximizar

se describe en [3, Ecuaciones (1) y (6)], y depende de las N posiciones en X .

Las M posiciones en N solo se construyen despues del aprendizaje usando el

teorema de Bayes [3, Seccion 2.1]. Nuestro parametros M y N corresponden

a N y K respectivamente en [3].

El trabajo [17], en el cual se asocia una numero llamado afinidad a cada

par de puntos del espacio de entrada, no se enmarca dentro de los mapas auto-

organizados generalizados, ya que no existe un proceso de aprendizaje. Los

mapas auto-organizados descritos en [22] y [7] encajan sin mas novedad como

mapas auto-organizados generalizados debido, otra vez, a que no imponemos

condiciones a nuestro algoritmo de aprendizaje.

27

Page 28: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Capıtulo 3

Un mapa auto-organizado

generalizado.

En este capıtulo describimos un mapa auto-organizado generalizado par-

ticular. Conforme a las definiciones del Capıtulo 2 estarıamos consideran-

do una mapa auto-organizado Riemanniano y geodesico, pero como escribi-

mos aquı todos los detalles no es necesario entender la notacion dada allı,

ası que emplearemos solo la notacion clasica para mapas auto-organizados del

Capıtulo 1. En el Capıtulo 4 se implementara una version de este algoritmo

aplicada a la segmentacion de imagenes en color.

La malla de nuestro mapa auto-organizado es una malla unidimensional

con N neuronas. El espacio de entrada es un espacio euclıdeo. A este espacio

lo dotaremos de una metrica Riemanniana obtenida a partir de una densidad

continua que modela la nube de datos de entrada. A partir de esta metrica

Riemanniana dotaremos a este espacio euclıdeo de entrada de una nocion de

geodesica y de una nocion de distancia geodesica, obteniendo una metrica

distinta a la de la euclıdea (ver Apendice A).

Supongamos que el espacio de entrada es el espacio euclıdeo Rm y que la

matriz de la metrica Riemanniana en x ∈ Rm es G(x). Dados p y q puntos del

espacio euclıdeo de entrada, la distancia geodesica entre ellos vendra dada

28

Page 29: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

entonces por:

dgeodesica(p, q) = Infimo

∫ 1

0

√γ′(t)G(γ(t))γ′(s)trdt, (3.1)

donde γ : [0, 1] → Rm es una curva continua y diferenciable a trozos que

empieza en p y termina en q, el ınfimo se toma sobre todas tales curvas y tr

significa traspuesta.

Las neuronas competiran por ser la neurona ganadora o BMU usando

para ello su distancia geodesica a la entrada. Las ecuaciones de aprendizaje

son similares a las clasicas de Kohonen (Seccion 1.2), pero los vectores de

pesos de las neuronas se moveran hacia la entrada siguiendo las geodesicas

del espacio. Es esto ultimo lo que distingue a este mapa auto-organizado de

los desarrollados hasta ahora (ver la Variante 1.3.4 en la Seccion 1.4).

Un elemento clave para entender la metrica Riemanniana que usamos es

que, siguiendo la Variante 1.4.3, la geodesica entre dos puntos del espacio de

entrada intentara evitar las zonas de baja densidad. Esto lo conseguiremos

definiendo la matriz de la metrica Riemanniana en el punto x ∈ Rn del

espacio de entrada Rm como

G(x) =1

d2(x)In,

donde d(x) es la densidad en el punto x e In es la matriz identidad n × n.

Ası que el espacio que obtenemos es isotropo, es decir que la longitud de un

vector no depende de su direccion. Mas precisamente, la longitud del vector

v en el espacio tangente de x viene dada por

1

d(x)||v||,

donde ||v|| es la norma euclıdea de v.

En las siguientes secciones se explican en detalle cada uno de los elementos

constituyentes del mapa auto-organizado.

29

Page 30: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

3.1. Construccion de la densidad continua.

Dado un conjunto de muestras o datos de entrada {xi}i=1,...,NumMuestras

en el espacio euclıdeo de entrada Rm, se dara una densidad continua que se

ajusta lo mas posible a estos datos. No hay que confundir estos datos con los

M datos de entrada que se presentaran a la red durante el aprendizaje. Para

construir esta densidad hemos usado el algoritmo descrito en el artıculo [14]

de los autores Ezequiel Lopez Rubio y Juan Miguel Ortiz de Lazcano Lobato.

En esta seccion explicamos a grandes rasgos como funciona dicho algoritmo,

para una descripcion detallada se remite al lector al citado trabajo.

Dicho algoritmo es un metodo de estimacion de la funcion de densidad de

probabilidad de una distribucion desconocida continua a partir de una can-

tidad finita de muestras de dicha distribucion. La presente solucion genera

como estimacion una suma de distribuciones normales o Gaussianas multidi-

mensionales. Las medias y demas parametros de las distribuciones se estiman

a partir de las muestras en dos fases:

Primero, para cada una de las NumMuestras muestras se crea un

entorno que incluye a las muestras vecinas (mas cercanas en distan-

cia euclıdea). Se calcula la media y matriz de correlaciones de estos

entornos.

Segundo, un proceso de suavizado. Se crean NumClusters clusters,

cada uno de los cuales tienen contribuciones o pesos de cada uno de los

entornos. Cada cluster recibira contribuciones de los entornos circun-

dantes de manera inversamente proporcional a la distancia a estos, con

lo que la informacion de todos ellos queda fusionada y suavizada a la

vez.

Cada cluster creado tendra una media y una matriz de correlaciones aso-

ciada obtenida a partir de las medias y matrices de los entornos involucrados

con los pesos adecuados. A partir de estos datos se construye entonces una

distribucion Gaussiana para cada cluster. En dicha construccion es de desta-

car que:

30

Page 31: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

La dimensionalidad o numero de direcciones principales de dicha dis-

tribucion Gaussiana se ajusta a la informacion del cluster, reflejando

la dimension de la variedad subyacente a los datos. Esto se consigue

reteniendo solo parte de los autovalores y autovectores de la matriz de

covarianza del cluster. La cantidad de autovalores a preservar se con-

trola mediante un parametro α ∈ [0, 1] que especifica que proporcion

de la traza de dicha matriz deben sumar los autovalores retenidos.

Para las direcciones no conservadas se hace una estimacion de la va-

rianza en estas direcciones especificando un nivel de ruido. Este nivel

se controla con un parametro γ ∈ [0, 1]. En general cuanto mayor sea

α menor debera ser γ y viceversa. Si α es proximo a 1 conservaremos

casi todas las direcciones principales y en el resto habra que anadir

poco ruido. Si α es proximo a 0 conservaremos muy pocas direcciones

y habra que anadir mas ruido en el resto de direcciones.

El presente procedimiento tiene las siguientes ventajas respecto a otros

metodos de estimacion de funcion de densidad de probabilidad anteriores:

Cada distribucion normal tiene sus propios parametros.

Existe un proceso de suavizado al pasar de los entornos a los clusters.

Para una comparativa detallada de este metodo con otros metodos de

estimacion de la funcion de densidad de probabilidad ver [14, Seccion 5]. A

la densidad calculada por este metodo la denotaremos por d(x) : Rm → R,

donde Rm es el espacio euclıdeo de entrada.

Ejemplo 3.1.1. En la siguiente figura mostramos una densidad continua

que queremos aproximar usando el metodo de estimacion de la densidad ex-

plicado. Esta es la distribucion desconocida.

31

Page 32: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

En la siguiente figura mostramos 100 muestras tomadas aleatoriamente de

la densidad anterior (cırculos azules), junto con los clusters (cruces verdes)

y la funcion de densidad computados por el algoritmo. Los parametros son

α = 0,1 y γ = 0,07.

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

muestracluster

10 20 30 40 50 60 70 80 90 100

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50

60

70

80

90

100

3.2. Construccion del grafo de distancias.

Con el objetivo de dotar al espacio euclıdeo de entrada Rm de geodesicas

necesitaremos introducir un grafo con pesos sobre el cual se computara el

camino mas corto o geodesica usando el algoritmo de Floyd (ver Seccion 1.3

y Figura 1.11).

Como vertices de este grafo tomaremos los clusters calculados por el al-

goritmo descrito en la Seccion 3.1. El peso de la arista entre los clusters en

posiciones p y q sera la longitud en la metrica Riemanniana del segmento

rectilıneo entre p y q.

Recordemos que la metrica Riemanniana que estamos considerando es

exactamente G(x) = 1d2(x)

In, para x ∈ Rm, y donde d(x) es la densidad

32

Page 33: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

continua calculada en la Seccion 3.1. Sean p y q las posiciones de dos clusters

y γ : [0, 1] → R la parametrizacion del segmento rectilıneo de p a q:

γ(t) = p+ t(q − p).

La longitud de este segmento en nuestra metrica viene dada por

∫ 1

0

√γ′(t)G(γ(t))γ′(t)trdt. (3.2)

Como γ′(t) = q − p al sustituir tenemos

∫ 1

0

√1

d2(p+ t(q − p))(q − p)In(q − p)trdt,

y reordenando y reparametrizando obtenemos

||q − p||

∫ 1

0

dt

d(p+ t(q − p))=

∫ ||q−p||

0

dt

d(p+ t q−p

||q−p||),

donde ||q − p|| es la norma euclıdea de q − p. Esta integral la aproximamos

con el siguiente trapezoide

||q − p||

NumSubdivisiones

NumSubdivisiones∑

i=1

1

d(p+ iNumSubdivisiones

(q − p)), (3.3)

donde NumSubdivisiones es el numero de segmentos en que dividimos el

segmento q − p, y que controla la precision de la integracion.

Una vez que sabemos como calcular el peso de una arista y que sabe-

mos que el conjunto de vertices del grafo esta formado exactamente por los

clusters calculados en la Seccion 3.1 hay que decidir que aristas incluir y

que aristas no. Con este fin, para cada cluster c, se incluyen las aristas de c

a los clusters mas cercanos. Este numero de clusters que se conectan al clus-

ter c es un numero fijo que denotamos NumV ecinosGrafo. La nocion de

cercanıa aquı no es distancia euclıdea. En su lugar, ya que el cluster c tiene

una distribucion Gaussiana asociada, se evalua esta distribucion en el resto

33

Page 34: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

de los clusters y se seleccionan los NumV ecinosGrafo clusters que obtengan

mayor valor. Este concepto de cercanıa intenta aproximar a escala local la

distancia geodesica que se quiere obtener a escala global, esto es, distancia

inversamente proporcional a la densidad.

Estas nociones quedan ilustradas en la siguiente figura, en la cual se mues-

tra un cluster (en rojo) con su distribucion normal asociada y los dos clusters

mas cercanos (NumV ecinosGrafo = 2, en verde) segun esta distribucion

normal, los cuales no coinciden con los dos clusters mas cercanos en distan-

cia euclıdea.

El numero NumV ecinosGrafo es crıtico. Como muestra el siguiente

ejemplo un numero bajo puede resultar insuficiente para mantener la co-

nexion de la densidad original y un numero muy alto puede dar lugar a

aristas “erroneas”.

34

Page 35: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

Ejemplo 3.2.1. En la siguiente figura mostramos una densidad a aproxi-

mar ası como la reconstruccion a partir de 100 muestras mediante el metodo

explicado en la Seccion 3.1:

10 20 30 40 50 60 70 80 90 100

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50

60

70

Las siguientes figuras muestran las muestras (cırculos azules), los clusters

(cruces verdes) y las aristas del grafo (en negro) para valores de NumV ecinosGrafo

iguales a 1, 5, 10 y 15 (de izquierda a derecha y de arriba abajo):

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

35

Page 36: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

Se observan aristas “erroneas” que se salen de la nube de densidad en la

ultima figura abajo a la derecha. Para evitar estos problemas en el caso gene-

ral se ensayaron los siguientes metodos en la eleccion de losNumV ecinosGrafo

vecinos a un cluster dado:

Elegir los 2·NumV ecinosGrafo clusters que maximizan sus Gaussianas

en el cluster dado, y despues elegir de estos los NumV ecinosGrafo

clusters que minimizan la integral del inverso de la densidad d(x) a lo

largo del segmento entre cada cluster y el cluster dado c.

Elegir los 2·NumV ecinosGrafo clusters que maximizan sus Gaussianas

en el cluster dado, y despues elegir de estos los NumV ecinosGrafo

clusters que minimizan la integral del inverso de la densidad d(x) a lo

largo del segmento entre cada cluster y el cluster dado c dividido por

la longitud de dicho segmento (valor medio del inverso de la densidad).

Elegir los 2·NumV ecinosGrafo clusters que maximizan sus Gaussianas

en el cluster dado, y despues elegir de estos los NumV ecinosGrafo

clusters que maximizan el mınimo de la densidad d(x) a lo largo del

segmento entre cada cluster y el cluster dado (maxmin, para evitar

atravesar cuellos de botella).

Sin embargo, se comprobo que estos metodos no proporcionan ventaja al-

guna en todos los casos y que la clave es seleccionar el valorNumV ecinosGrafo

correctamente segun la aplicacion. Notese que los calculos se hacen con

2 ·NumV ecinosGrafo clusters y no todos lo clusters por razones de tiempo

de computo.

3.3. Construccion de las geodesicas y la dis-

tancia geodesica.

Una vez que hemos construido el grafo de la Seccion 3.2 estamos prepara-

dos para la construccion de las geodesicas y las distancias geodesicas. Dados

dos puntos p y q del espacio de entrada Rm empezaremos determinando la

36

Page 37: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

geodesica de p a q. La distancia geodesica entre p y q sera la longitud de

dicha geodesica.

Si ambos puntos p y q fueran vertices del grafo entonces la geodesica serıa

directamente el camino mas corto en el grafo determinado, por ejemplo, por

el algoritmo de Floyd. En general ni p ni q seran vertices del grafo y un primer

escollo es determinar el vertice de entrada al grafo y el vertice de salida del

grafo. Es decir, la geodesica de p a q consistira de un segmento rectilıneo

desde p a un vertice del grafo, de un camino minimizante en el grafo y de un

segmento rectilıneo desde un vertice del grafo a q.

Para calcular los vertices de entrada y salida replicaremos lo hecho en

la Seccion 3.2 para calcular los vecinos de un cluster dado del grafo. Es de-

cir, vamos a seleccionar un numero determinado de clusters o vertices del

grafo vecinos al punto p y el mismo numero de clusters vecinos al punto q.

Este numero fijo lo denotaremos por NumV ecinos. Para el punto p elegi-

mos los NumV ecinos clusters que maximizan el valor de sus distribuciones

Gaussianas en p, y analogamente para q (notese que ahora p y q no tienen

distribuciones asociadas).

Una vez tenemos los vertices mas cercanos a p y a q calculamos, para

cada vertice vecino a p, cp, y para cada vertice vecino a q, cq, la longitud

del camino que empieza en p, continua por un segmento rectilıneo hasta cp,

sigue el camino minimizante en el grafo de cp a cq y termina con el segmento

rectilıneo de cq a q.

La longitud de los segmentos de p a cp y de cq a q viene dada por la

Ecuacion (3.3). La longitud de cada arista del grafo que se atraviesa se calcula

de la misma forma y de hecho ya se almaceno como el peso de dicha arista.

La longitud total del camino es la suma de todas estas longitudes.

La geodesica de p a q se obtiene eligiendo entre los vecinos de p y los

vecinos de q los vertices cp y cq tales que la distancia del camino p → cp →

camino minimizante → cq → q es mınima entre todos estos caminos. Pode-

mos representar estos elementos graficamente como sigue:

37

Page 38: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

En la figura se muestra el grafo con los vertices como clusters, ası como

las aristas. Cada vertices tiene 4 vecinos, es decir, NumV ecinosGrafo = 4.

Se muestran los vecinos mas cercanos a p y q encerrados en cırculos verdes,

ası como los segmentos rectilıneos de p y q a estos vecinos. Se ha elegido

NumV ecinos = 3. Por ultimo, se muestra en trazo grueso la geodesica de p

a q.

Ejemplo 3.3.1. La siguiente figura muestra una densidad a aproximar y su

aproximacion mediante 100 muestras:

20 40 60 80 100

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50

60

En la siguiente figura se muestran los clusters que se usaron para recons-

truir la densidad (cruces verdes), ası como una geodesica (trazo negro) y los

vecinos a los puntos de inicio y fin de la geodesica (puntos negros). Los ve-

38

Page 39: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

cinos seleccionados como entrada y salida al grafo de clusters estan rodeados

de un cırculo negro, y NumV ecinos = 5.

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Una version anterior del algoritmo elegıa unicamente el vertice mas cer-

cano a p y el vertice mas cercano a q (segun proximidad Gaussiana) y definıa

la geodesica pasando a traves del camino minimizante en el grafo a traves de

estos vertices. El metodo explicado arriba da resultados notablemente me-

jores. De nuevo, al igual que en la construccion del grafo, al determinar los

vertices de entrada y salida al grafo estamos aproximando a escala local la

distancia geodesica global y mientras que el metodo descrito arriba tiene una

componente global el descrito al principio de este parrafo no la tiene.

Otra version del algoritmo para geodesicas que implemente usaba como

vertices del grafo una retıcula ortogonal en vez de los clusters dados por el

algoritmo que reconstruye la densidad de la Seccion 3.2, y conectaba cada

vertice a sus vertices inmediatamente adyacentes. Por ejemplo, en 2 dimen-

siones los vecinos estarıan dispuestos ası:

39

Page 40: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

Ejemplo 3.3.2. La siguiente figura muestra una densidad a aproximar, su

aproximacion mediante 100 muestras y la retıcula o vertices del grafo super-

puestos (cruces verdes). Ademas se muestra una geodesica en trazo negro.

10 20 30 40 50 60 70 80 90 100

10

20

30

40

50

60

70

80

90

100

Esta version no se ha seguido desarrollando por el alto coste computacio-

nal en dimensiones superiores. En m dimensiones y con tamano de un lado

del retıculo L tenemos un total de Lm vertices. El algoritmo de Floyd tiene

una complejidad O(|V |3), donde |V | es el numero de vertices del grafo. En

nuestro caso esto darıa una complejidad O(L3m), con lo que para L fijo la

complejidad es exponencial en m.

En contraste, el algoritmo de la Seccion 3.2 genera como mucho un numero

de clusters NumClusters, y por tanto de vertices, igual al numero de mues-

tras de entradaNumMuestras. Ası que la complejidad esO(|NumMuestras|3)

donde NumMuestras es el numero de muestras. Esto es mucho mas mane-

jable que O(L3m) en las aplicaciones.

40

Page 41: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

Ejemplo 3.3.3. En una aplicacion de segmentacion a imagenes en color los

datos tienen 3 coordenadas, es decir, m = 3. Suponiendo que tomamos 100

muestras y que usamos un retıculo tridimensional de lado 20 tenemos:

O(L3m) = O(512000000000) y

O(|NumMuestras|3) = O(1000000).

La diferencia es patente incluso a esta pequena escala.

Para terminar esta seccion hacemos una pequena digresion sobre las com-

ponentes conexas del grafo y las geodesicas. Supongamos que tenemos un

grafo de distancias que tiene dos componentes conexas C1 y C2 (en termi-

nos de adyacencia). Si una neurona se encuentra suficientemente cerca de

C1 y suficientemente lejos de C2 los NumV ecinos clusters que se usen para

calcular su geodesica hasta la entrada estaran todos en la componente C1.

Ası mismo, si la entrada esta suficientemente cerca de C2, los NumV ecinos

clusters de la entrada perteneceran a la componente C2.

Resulta entonces que el algoritmo de Floyd dara distancia infinita para

estas NumV ecinos×NumV ecinos combinaciones de clusters, ya que estan

en componentes distintas del grafo de distancias. Una forma de remediarlo es,

en general, comparar las NumV ecinos×NumV ecinos distancias geodesicas

que se obtienen con la integral a lo largo del segmento rectilıneo entre la

neurona y la entrada del inverso de la densidad (Ecuacion (3.3)). Ası, en el

caso que tratamos de las dos componentes, aunque la distancia geodesica es

infinita si intentamos progresar por el grafo, si en cambio usamos el segmen-

to rectilıneo obtendremos una distancia finita (posiblemente muy grande si

atravesamos zonas de muy baja densidad).

Si no anadimos la solucion con el segmento rectilıneo permitiremos que

las neuronas sean “capturadas” por la componente del grafo mas proxima,

lo cual puede ser interesante segun la aplicacion que se este desarrollando.

41

Page 42: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

3.4. Funcionamiento del mapa auto-organiza-

do.

El funcionamiento algorıtmico de este mapa auto-organizado se divide en

las siguientes etapas:

(a) Construccion de la densidad continua a partir de los NumMuestras

datos de entrada en el espacio de entrada Rm (Seccion 3.1).

(b) Construccion del grafo de distancias con NumClusters clusters (Seccion

3.2).

(c) Calculo de la matriz de distancias mınimas entre clusters segun el algo-

ritmo de Floyd (Seccion 3.3).

(d) Inicializacion de los parametros de la red σ0, λ y η0.

(e) Inicializacion de los vectores de pesos de las N neuronas.

(f) Realizar iteraciones de aprendizaje presentando a la red o bien los clusters

de (b) o bien las muestras de (a) o bien nuevas muestras.

Para inicializar los vectores de pesos de las neuronas (e) se asigna a cada

una de ellas la posicion de un cluster elegido aleatoriamente. Cada iteracion

t en (f) se subdivide en las siguientes subetapas:

(f.1) Calculo de la geodesica y la distancia geodesica entre la entrada x(t) y

el vector de pesos de cada neurona ni(t).

(f.2) Seleccion de la neurona ganadora o BMU como la que minimiza su

distancia geodesica hasta la entrada.

(f.3) Calculo de los coeficientes de aprendizaje γ(t, x(t), i) segun lo explicado

en la Seccion 1.2 o alguna variante de estas ecuaciones. Recordemos que

estamos usando una malla unidimensional.

(f.4) Desplazamiento de cada neurona i a lo largo de la geodesica hasta la

entrada en una cantidad que es el γ(t, x(t), i) por ciento de su distancia

geodesica hasta la entrada.

42

Page 43: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Capıtulo 4

Aplicacion a la segmentacion de

imagenes.

En este capıtulo explicamos los detalles de implementacion de un ma-

pa auto-organizado generalizado (Capıtulo 3) aplicado a la segmentacion de

imagenes en color.

La segmentacion de imagenes en color trata de seleccionar los colores

mas caracterısticos de una imagen plana digital en color. En general esto se

realiza como uno de los pasos iniciales de un proceso de analisis de imagen por

ordenador. En esta seccion usaremos neurona y prototipo indistintamente.

De forma condensada, un numero de muestras M se toma de la imagen

y se situan en algun espacio de color (RGB por ejemplo). Las N neuronas o

prototipos se mueven por esta nube de datos de entrada durante el proceso

de aprendizaje de la red. Finalmente, la imagen original se reconstruye sus-

tituyendo cada color de la imagen por su prototipo mas cercano. Tanto la

percepcion visual de la imagen reconstruida como el error cuadratico medio

dan una idea de la bonanza de los prototipos seleccionados por la red.

Como espacio de entrada no usaremos el espacio de color RGB si no el

espacio de color CIELUV . Este espacio es tambien tridimensional (m = 3)

y tiene ventajas en cuanto a la percepcion de los colores. Ası que dada las

muestras RGB tomadas de la imagen estos valores se convierten a valores

CIELUV y todo el aprendizaje tiene lugar en este espacio de color CIELUV .

43

Page 44: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Solo al final, durante la reconstruccion de la imagen original, se vuelve al

espacio RGB. Con mas detalle, el funcionamiento de la red es como sigue:

(A) Se carga una imagen en color en algun formato estandar como .bmp,

.gif, etc.

(B) Se toman NumMuestras puntos aleatorios de la imagen y se almacenan

sus valores RGB.

(C) Estos valores se convierten a valores CIELUV dando lugar a los

NumMuestras datos de entrada en el espacio CIELUV que se usan

para construir la densidad continua.

(D) Se aplica el algoritmo del mapa auto-organizado generalizado tal y como

esta descrito en la Seccion 3.4 en el espacio de color CIELUV . Si se

requieren mas muestras para presentar a la red estas se iran generando

aleatoriamente en cada iteracion.

(E) Los N prototipos obtenidos se usan para reconstruir la imagen y calcular

el error cuadratico medio.

44

Page 45: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Ejemplo 4.0.1. En este ejemplo mostramos la ejecucion sobre una imagen

de tamano 128 × 128. Se usan 100 muestras (NumMuestras = 100) y 16

neuronas o prototipos (N = 16). Tambien ponemos NumV ecinosGrafo = 5,

NumV ecinos = 5 y η0 = 1. Los parametros del algoritmo de reconstruccion

de la densidad (Seccion (3.1)) son α = 0,1 y γ = 0,07.

20 40 60 80 100 120

20

40

60

80

100

120

Figura 4.1: Imagen original 128×128 y 100 muestras en el espacio CIELUVdecoradas con el color RGB original.

2040

6080

100

−20

0

20

40

60−40

−20

0

20

40

60

20 40 60 80 100 120

20

40

60

80

100

120

Figura 4.2: A la izquierda, grafo de clusters (clusters en verdes, aristas en ne-gro) y distribucion final de las 16 neuronas (en rojo) en el espacio CIELUV .A la derecha, reconstruccion de la imagen original usando los prototipos.

Como error cuadratico medio se obtuvo MSE = 0,045208.

En la siguiente seccion comentamos las distintas funciones disenadas en

MATLAB y C y que parte del algoritmo implementan. En la Seccion 4.2 se

45

Page 46: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

realiza un estudio sobre la dependencia del aprendizaje de los parametros de

la red. En la Seccion 4.3 se ha probado el nuevo mapa auto-organizado gene-

ralizado en imagenes de bancos estandares y se han comparado los resultados

con los obtenidos en otros trabajos de ındole similar.

46

Page 47: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

4.1. Implementacion MATLAB.

El mapa auto-organizado se ha implementado en MATLAB usando para

ellos scripts MATLAB y tambien codigo en C (funciones MEX) para opti-

mizar en velocidad. Las funciones MATLAB construidas son las siguientes.

Tambien especificamos que acciones de las listadas en la Seccion 3.4 o en la

introduccion a este capıtulo se implementa en el codigo de cada funcion.

Nombre funcion Descripcion Implementa

AnalizaImagen Script principal (A) (B)

(C) (e)

AprendeRed Ejecuta el algoritmo de aprendi-

zaje

(f)

DesplazaNeurona Desplaza una neurona a lo largo

de una geodesica en una propor-

cion dada

(f.4)

Geodesica Calcula la geodesica entre dos

puntos

(f.1)

IniciaRed Inicializa los parametros de la red (d)

IntegraInversoDensidad Aproximacion a la integral de

lınea sobre un segmento del inver-

so de la densidad (Ecuacion (3.3))

MatrizDistanciasLineales Crea el grafo de distancias dados

los clusters

(b)

MueveNeuronas Mueve las neuronas segun las re-

glas de aprendizaje

(f.2) (f.3)

Reconstruye Calcula el error cuadratico medio

para la imagen y las neuronas da-

das y reconstruye la imagen usan-

do dichas neuronas

(E)

RecorreCamino Recupera el camino mınimo entre

dos vertices

(f.1)

47

Page 48: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Ademas, se usan las siguientes funciones MATLAB. Las 3 primeras me

fueron proporcionadas por el profesor Ezequiel Lopez Rubio y constituyen la

implementacion del trabajo [14]. La funcion colorspace fue creada por Pas-

cal Getreuer (ColorSpace, Copyright (c) 2009, Pascal Getreuer). La ultima

funcion forma parte de la librerıa de grafos para MATLAB creada por David

Gleich (MatlabBGL, Copyright (c) 2006-2007, David Gleich).

Nombre funcion Descripcion Implementa

TrainSmoothParzen-

Windows

Construye la densidad continua a

partir de las muestras

(a)

TestSmoothParzen Evalua la densidad continua en

un punto

GaussianaLocal-

SmoothParzen

Evalua la distribucion Gaussiana

de un cluster en un punto

colorspace Conversion RGB ↔ CIELUV (C)

allshortestpaths Algoritmo de Floyd, computa la

matriz de distancias mınimas pa-

ra el grafo de distancias

(c)

La siguiente tabla muestra las dependencias entre las funciones MATLAB

y que funciones tienen una version MEX. El criterio para elegir que funciones

convertir a funciones MEX fue el profiler de MATLAB: se convirtieron a MEX

las funciones en las que se empleaba la mayorıa del tiempo de ejecucion.

48

Page 49: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Nombre funcion MEX Hijos Padres

AnalizaImagen NO IniciaRed AprendeRed

Reconstruye colorspace

TrainSmoothParzen-

Windows

allshortestpaths NO IniciaRed

AprendeRed NO MueveNeuronas AnalizaImagen

colorspace NO AnalizaImagen Recons-

truye

DesplazaNeurona NO MueveNeuronas

GaussianaLocal-

SmoothParzen

SI MatrizDistancias-

Lineales Geodesica

Geodesica SI GaussianaLocal-

SmoothParzen Integra-

InversoDensidad

RecorreCamino

IniciaRed NO MatrizDistancias-

Lineales allshortest-

paths

AnalizaImagen

IntegraInversoDensidad SI TestSmoothParzen MatrizDistancias-

Lineales, Geodesica

MatrizDistancias-

Lineales

NO GaussianaLocal-

SmoothParzen Integra-

InversoDensidad

IniciaRed

MueveNeuronas NO Geodesica Desplaza-

Neurona

AprendeRed

Reconstruye NO Geodesica colorspace AnalizaImagen

RecorreCamino SI RecorreCamino RecorreCamino

TestSmoothParzen SI IntegraInversoDensidad

TrainSmoothParzen-

Windows

NO AnalizaImagen

Practicamente el 100 % del tiempo de ejecucion de lo reparten entres las

5 funciones con versiones MEX de la tabla anterior. La funcion de calculo

49

Page 50: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

de geodesicas, Geodesica, esta optimizada de forma que se almacenan los

NumV ecinos clusters de cada neurona de una iteracion a otra. Ası, si la

neurona no se desplaza no se recalculan sus clusters vecinos en la siguiente

iteracion. Como el proceso de aprendizaje de la red tiende a mover las neuro-

nas menos cuanto mas iteraciones se realizan esto resulta en una aceleracion

del aprendizaje en su parte final.

En la version final los NumV ecinos elegidos para construir geodesicas

se seleccionan como aquellos que minimizan la distancia euclıdea y no co-

mo aquellos que minimizan la distancia Gaussiana (ver Seccion 3.3). Ası se

consigue mayor velocidad y mas estabilidad en los resultados. El segmen-

to rectilıneo entre una muestra y la entrada se elige como geodesica si las

geodesicas a traves del grafo dan todas distancia infinita (ver tres ultimos

parrafos de la citada seccion).

4.2. Dependencia de los parametros.

Durante el Capıtulo 3 se establecio que el algoritmo de aprendizaje del

mapa auto-organizado generalizado que estamos usando depende de los si-

guientes parametros:

1. Parametros α y γ, que determinan respectivamente la proporcion de

autovalores a conservar y el nivel de ruido en la construccion de la

densidad continua.

2. Parametro NumMuestras y NumClusters usados en la construccion

de la densidad continua.

3. Parametro NumV ecinosGrafo, que determinan el numero de clusters

vecinos a un cluster dado en la construccion del grafo de distancias, y

parametroNumV ecinos, que determina el numero de clusters vecinos a

la entrada o a una neurona en la construccion de geodesicas y distancias

geodesicas.

4. Parametros σ0, η0, que determinan respectivamente el entorno inicial y

la razon de aprendizaje inicial en las ecuaciones de aprendizaje.

50

Page 51: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

En esta seccion describimos un estudio realizado para estudiar la calidad

del aprendizaje del mapa auto-organizado generalizado en funcion de los dis-

tintos parametros. Las pruebas se han realizado sobre la imagen del mandril

del Ejemplo 4.0.1 en tamano 128× 128 con NumMuestras = 100 muestras,

NumClusters = 100 clusters y NumNeuronas = 10 neuronas (salvo cuando

son estos parametros los que se estan estudiando claro esta).

Empezamos por α y γ. Fijando una muestra con NumMuestras =

100 pıxeles aleatorios de la imagen hemos construido la densidad continua

d(x) : Rm → R con NumClusters = 100 clusters para distintos valores de α

y γ y evaluado la siguiente cantidad:

ANLL =−1

NumMuestras

M∑

i=1

ln d(xi), (4.1)

donde {xi}i=1,...,NumMuestras son las muestras y ln es logaritmo neperiano. Las

siglas vienen del ingles average negative log likelihood. Esta cantidad ANLL

cuantifica como de bien aproxima la densidad continua a las muestras, y

la optimizacion trata de minimizar su valor. La siguiente grafica muestra el

valor de ANLL para α y γ tomando valores entre 0 y 1.

0 10 20 30 40 50 60 70 80 90 100

0

20

40

60

80

1009

9.5

10

10.5

11

11.5

12

Gamma*100Alpha*100

51

Page 52: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Hemos encontrado que los valores optimos para α y γ son 0,1 y 0,14

respectivamente.

Debido al paso intermedio de la construccion de la densidad continua

hay otros parametros que estudiar en nuestro algoritmo. En particular, el

algoritmo depende del numero de muestras NumMuestras tomadas para

construir la densidad y tambien del numero de clusters NumClusters que

conforman la densidad. La siguiente grafica muestra valores de MSE para

NumMuestras entre 100 y 500 y NumClusters entre 20 y 100:

2030

4050

6070

8090

100

100

150

200

250

300

350

400

450

500

0.015

0.02

0.025

0.03

NumClusters

NumMuestras

En general y como era de esperar el error cuadratico medio MSE dismi-

nuye conforme aumentan el numero de muestras NumMuestras o el numero

de clusters NumClusters. En la siguiente seccion hacemos un estudio mas

detallado sobre la dependencia del aprendizaje de estos parametros.

Los parametros NumV ecinosGrafo y NumV ecinos tambien los hemos

estudiado al mismo tiempo. Dejando el resto de valores fijos hemos ejecutado

el algoritmo de aprendizaje y evaluado el error cuadratico medio barriendo los

valores para NumV ecinosGrafo y NumV ecinos entre 1 y 20. Los parame-

tros α y γ se fijaron en los optimos 0,1 y 0,14 encontrados anteriormente. La

siguiente figura muestra el MSE para los distintos valores de NumV ecinos

y NumV ecinosGrafo.

52

Page 53: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

0

5

10

15

20

0

5

10

15

200.015

0.02

0.025

0.03

0.035

0.04

NumVecinosNumVecinosGrafo

Como se observa para valores NumV ecinos ≥ 7 y NumV ecinosGrafo ≥

7 la dependencia es mınima y con valores NumV ecinos = 5 y

NumV ecinosGrafo = 8 hemos obtenido buenos resultados a la vez que

un compromiso con el tiempo de computo.

La cantidad de parametros de los que depende nuestro modelo hace que

su optimizacion sea una tarea a acometer seria. Para terminar esta seccion

notemos tambien la variedad de datos que podemos mostrar a la red durante

el aprendizaje. Tenemos tres candidatos: las NumMuestras muestras que se

usaron para construir la densidad, los NumClusters clusters de la densidad

o M nuevas muestras de la imagen.

Empıricamente hemos determinado que se obtienen buenos resultados ini-

ciando el aprendizaje con una fase competitiva pura en el que se muestran a

la red cada cluster de la densidad y a continuacion se siguen presentando a la

red dichos clusters de manera cıclica hasta alcanzar NumMaxIteraciones.

Hemos acompanado este metodo de funciones lineales a trozos para las fun-

ciones σ y η:

53

Page 54: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

0 20 40 60 80 100 120 140 160 180 2000

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0 20 40 60 80 100 120 140 160 180 2000.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figura 4.3: Funcion σ a la izquierda y funcion η a la derecha paraNumClusters = 100 y NumMaxIteraciones = 200.

Estudiando el error cuadratico medioMSE para distintos valores maximo

y residual de σ y distintos valores del segundo maximo de η y residual de η

(el primer maximo de η lo hemos fijado en 1) hemos obtenido optimos con

valor maximo de σ = 0,3, valor residual de σ = 0,1, segundo valor maximo

de η = 0,6 y valor residual de η = 0,25. Este algoritmo de aprendizaje de dos

fases junto con los parametros optimos comentados son los que usaremos en

la siguiente seccion.

54

Page 55: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

4.3. Resultados.

La calidad de la reconstruccion de la imagen se suele evaluar mediante la

razon senal-ruido pico, PSNR por sus siglas en ingles, definida como sigue:

PSNR = 10 · log10(3

MSE), (4.2)

donde el error cuadratico medio fue introducido en la Ecuacion (1.1) y re-

producimos aquı

MSE =

∑NumPixeles

i=1 ||xi −BMU(xi)||2

NumPixeles, (4.3)

donde notese que el valor MSE se calcula usando para ello todos los pıxeles

de la imagen.

Antes de pasar al estudio comparativo hemos estudiado en mas profundi-

dad la dependencia del PSNR con respecto aNumMuestras,NumClusters

y NumMaxIteraciones con el metodo de aprendizaje de dos fases descrito

en la seccion anterior. Para ello hemos calculado la media y desviaciones

tıpicas de PSNR sobre una muestra de 10 ejecuciones sobre la imagen del

mandril en tamano 128 × 128, tal y como muestran las siguientes tablas:

NumClusters NumNeuronas6 16 32 64 128 256

50 19.04 22.18 23.58 23.84 23.99 24.15100 19.61 22.98 23.77 24.74 25.19 25.48150 19.41 23.09 24.65 25.65 26.09 26.56200 19.12 23.2 25.08 26.25 27.02 27.39

Cuadro 4.1: Valores medios de PSNR con NumMuestras = 200 yNumMaxIteraciones = 200.

55

Page 56: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

NumClusters NumNeuronas6 16 32 64 128 256

50 1.25 0.6 0.57 0.54 0.56 0.28100 1.58 0.32 0.68 0.51 0.39 0.59150 1.54 0.39 0.59 0.51 0.52 0.37200 0.88 0.35 0.37 0.38 0.2 0.53

Cuadro 4.2: Desviaciones tıpicas de PSNR con NumMuestras = 200 yNumMaxIteraciones = 200.

Como muestran los valores medios de PSNR el aprendizaje mejora con-

forme aumenta el numero de clusters. Ademas, esta mejora es mayor cuanto

mas neuronas consideremos: para 256 neuronas la diferencia en PSNR entre

200 y 50 clusters es de 27,39 − 24,15 = 3,24, para 16 neuronas la diferencia

es de 23,2 − 22,18 = 1,02. La representacion grafica de los valores medios

PSNR es la siguiente:

6

16

32

64

128

256

50

100

150

20019

20

21

22

23

24

25

26

27

28

NumNeuronasNumClusters

56

Page 57: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

La siguientes tablas recopilan informacion sobre valores PSNR variando

NumMuestras frente a NumNeuronas:

NumMuestras NumNeuronas6 16 32 64 128 256

200 19.61 22.77 23.85 24.87 25.31 25.25500 19.97 22.93 24.08 24.55 25.37 25.571000 19.7 22.99 24.23 24.78 25.46 25.912000 20.21 23.2 24.26 25 25.78 25.995000 19.56 23.21 24.31 25.36 25.79 26

Cuadro 4.3: Valores medios de PSNR con NumClusters = 100 yNumMaxIteraciones = 200.

NumMuestras NumNeuronas6 16 32 64 128 256

100 1.58 0.33 0.52 0.51 0.49 0.45200 1.19 0.46 0.51 0.45 0.37 0.34500 1.23 0.37 0.41 0.59 0.27 0.312000 1.09 0.36 0.35 0.18 0.15 0.165000 1.39 0.29 0.53 0.22 0.15 0.17

Cuadro 4.4: Desviaciones tıpicas de PSNR con NumClusters = 100 yNumMaxIteraciones = 200.

Como se observa el aumento del numero de muestras produce una mejora

en el aprendizaje en terminos de PSNR y esta mejora no aumenta tan acu-

sadamente como en el caso anterior al incrementar el numero de neuronas.

Es de destacar sin embargo que el decremento de las desviaciones tıpicas es

mucho mas patente en este caso que en el anterior. Representamos a conti-

nuacion los valores medios PSNR:

57

Page 58: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

6

16

32

64

128

256

200

500

1000

2000

500019

20

21

22

23

24

25

26

NumNeuronasNumMuestras

Para terminar hemos estudiado los valores PSNR enfrentando

NumMaxIteraciones y NumNeuronas:

NumMaxIteraciones NumNeuronas6 16 32 64 128 256

200 18.81 22.63 24.03 24.84 25.25 25.15500 18.6 22.54 24.18 24.96 25.32 25.171000 18.69 22.54 24.22 24.98 25.35 25.172000 18.96 22.6 24.25 24.98 25.36 25.175000 19.23 22.59 24.27 24.97 25.36 25.17

Cuadro 4.5: Valores medios de PSNR con NumMuestras = 100 yNumClusters = 100.

58

Page 59: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

NumMaxIteraciones NumNeuronas6 16 32 64 128 256

200 1.33 0.55 0.63 0.46 0.42 0.56500 1.42 0.8 0.57 0.47 0.42 0.571000 1.67 0.83 0.59 0.49 0.42 0.572000 1.54 0.84 0.59 0.5 0.42 0.575000 1.63 0.86 0.58 0.51 0.43 0.57

Cuadro 4.6: Desviaciones tıpicas de PSNR con NumMuestras = 100 yNumClusters = 100.

En este caso, fijado el numero de neuronas, la mejora en el aprendizaje

en terminos de PSNR que produce el aumento del numero maximo de itera-

ciones es mınimo. Esto no deberıa sorprender ya que, como se describio en la

seccion anterior, el metodo de aprendizaje que estamos usando presenta cıcli-

camente los clusters a la red. Los valores medios PSNR tienen la siguiente

representacion:

6

16

32

64

128

256

200

500

1000

2000

500018

19

20

21

22

23

24

25

26

NumNeuronasNjumMaxIteraciones

En conclusion, deducimos que es el numero de clusters la variable cuyo

aumento produce mayores mejoras en el aprendizaje, mientras que el incre-

mento de el numero de muestras o el numero maximo de iteraciones producen

mejoras solo marginales.

59

Page 60: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

El estudio comparativo lo dividimos en dos partes. En la primera eje-

cutaremos el algoritmo de aprendizaje de dos fases de la Seccion 4.2 hasta

alcanzar NumMaxIteraciones. En la segunda parte anadiremos un criterio

de convergencia a dicho algoritmo.

60

Page 61: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

4.3.1. Algoritmo de aprendizaje de dos fases.

La primera parte la realizaremos sobre las siguientes imagenes, conocidas

respectivamente como Mandrill, Lena y Peppers:

En los artıculos [5] y [21] se presentan dos tipos de mapa auto-organizados

conocidos como FS-SOM (frequency sensitive SOM) y SA-SOM (sample-size

adaptative SOM) respectivamente. Estos algoritmos ya fueron comentados

en la Seccion 1.4. De [21, Fig. 8] tomamos los valores PSNR (redondeados)

para la segmentacion de Mandrill, Lena y Peppers en tamano 128 × 128 y

con un 10 % de razon de muestreo, es decir, tomando unas 1638 muestras de

la imagen, para distintos numero de neuronas:

Imagen Metodo NumNeuronas16 32 64 128 256

MandrillFS-SOM 24.5 23 20.5 19 18SA-SOM 25.5 28 30 31.5 33

LenaFS-SOM 28.5 27.5 25 22 22SA-SOM 29.5 32.5 34 36 37

PeppersFS-SOM 26 25 23 21 20.5SA-SOM 27 28.5 30.5 32 33

Cuadro 4.7: Valores de PSNR para SA-SOM sobre imagenes 128 × 128.

Se observa que los valores PSNR para FS-SOM decrecen conforme au-

menta el numero de neuronas. Este comportamiento anormal cesa al aumen-

tar el numero de iteraciones [5, Table I] o el tamano de la imagen [21, Fig.

8]. Hemos ejecutado nuestro mapa auto-organizado generalizado con 1638

muestras, 200 clusters, 400 iteraciones y diversos numeros de neuronas sobre

61

Page 62: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

imagenes en tamano 128× 128 para obtener los siguientes resultados, donde

las medidas estadısticas se realizaron sobre muestras de 10 ejecuciones:

Imagen PSNR NumNeuronas16 32 64 128 256

MandrillMedia 23.14 24.19 25.2 25.92 26.44Desviacion tıpica 0.33 0.46 0.19 0.26 0.26

LenaMedia 27.19 29.61 30.87 31.53 32.33Desviacion tıpica 0.89 0.31 0.43 0.3 0.55

PeppersMedia 24.84 26.03 27.16 27.72 28.06Desviacion tıpica 0.33 0.54 0.19 0.2 0.15

Cuadro 4.8: Valores medios y desviaciones tıtpicas de PSNR sobre imagenes128 × 128.

Nuestros valores de PSNR se encuentran por encima de los de FS-SOM

y por debajo de los de SA-SOM y la diferencia aumenta conforme aumenta

el numero de neuronas. Es de destacar que nuestro algoritmo solo esta pre-

sentando a la red 200 muestras distintas mientras que FS-SOM y SA-SOM

estan presentando a la red mas de 1600 muestras.

En la siguiente grafica podemos observar los valores PSNR de las dos

ultimas tablas:

62

Page 63: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

16 32 64 128 25618

20

22

24

26

28

30

32

34

36

38

NumNeuronas

PS

NR

Mandrill FS−SOMMandrill SA−SOMMandrillLena FS−SOMLena SA−SOMLena Peppers FS−SOMPeppers SA−SOMPeppers

Figura 4.4: Valores PSNR para las tres imagenes Mandrill (en azul), Lena(en rojo) y Peppers (en verde) y los tres metodos FS-SOM (lınea continua),SA-SOM (lınea rayada) y nuestro mapa auto-organizado generalizado (lıneapunteada).

Las siguientes imagenes muestran reconstrucciones RGB tıpicas de las

imagenes Mandrill, Lena y Peppers en tamano 128 × 128 para 16, 64 y 256

neuronas y los demas parametros iguales a los usados en la tabla anterior:

Figura 4.5: Reconstruccion de Mandrill con 16, 64 y 256 neuronas.

63

Page 64: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Figura 4.6: Reconstruccion de Lena con 16, 64 y 256 neuronas.

Figura 4.7: Reconstruccion de Peppers con 16, 64 y 256 neuronas.

La siguiente comparacion sera con el mapa auto-organizado descrito en

[1, Table 3], conocido como LARFSOM (local adaptive receptive field SOM).

En [1, Table 4, Table 3, Table 2] encontramos la siguiente informacion sobre

segmentacion con numero de neuronas bajo para las imagenes Mandrill, Lena

y Peppers en tamano 512 × 512:

Imagen NumNeuronas Iteraciones PSNRMandrill 6 271 20.75Lena 4 219 23.53Peppers 6 330 22.75

Cuadro 4.9: Valores de PSNR para LARFSOM sobre imagenes 512 × 512.

Usando nuestro mapa auto-organizado hemos obtenido las siguientes me-

didas estadısticas para valores PSNR sobre 10 ejecuciones:

64

Page 65: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Imagen Neuronas NumMaxIteraciones Media Desviacion tıpicaMandrill 6 271 19.96 0.29Lena 4 219 22.6 0.82Peppers 6 330 20.75 0.9

Cuadro 4.10: Valores de PSNR sobre imagenes 512 × 512.

Hemos tomado NumMuestras = NumMaxIteraciones y

NumClusters = NumMaxIteraciones/2 de forma que se presentan los clus-

ters dos veces a la red, primero en aprendizaje competitivo puro y despues en

aprendizaje clasico, tal y como se describio en la seccion anterior. Los valores

PSNR obtenidos son inferiores a los de LARFSOM. Reduciendo el numero

de muestras y de iteraciones a la mitad obtuvimos los siguientes valores de

PSNR:

Imagen Neuronas NumMaxIteraciones Media Desviacion tıpicaMandrill 6 135 20.01 0.53Lena 4 108 22.67 0.52Peppers 6 165 20.72 0.75

Cuadro 4.11: Valores de PSNR sobre imagenes 512 × 512.

Aquı de nuevo pusimos NumMuestras = NumMaxIteraciones y

NumClusters = NumMaxIteraciones/2. Como se observa los valores me-

dios de PSNR son practicamente identicos a los de la tabla anterior. Esto

demuestra, por un lado, un excelente comportamiento de nuestro mapa auto-

organizado para numero de neuronas, muestras e iteraciones bajos. Por otro

lado, esto induce a creer que mejorando el metodo de aprendizaje los valo-

res medios de PSNR obtenidos en el Cuadro 4.10 pueden incrementarse ya

que aparentemente hay mas informacion que puede extraerse de las muestras

usadas.

65

Page 66: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

Figura 4.8: Reconstruccion de Mandrill, Lena y Peppers con 6, 4 y 6 proto-tipos respectivamente.

4.3.2. Algoritmo de aprendizaje de dos fases con cri-

terio de convergencia.

La segunda parte del estudio comparativo la realizaremos sobre las image-

nes Flowers, Sailboat, Pens y Yacht, que son de tamanos 500×362, 512×512,

512 × 480 y 512 × 480 respectivamente:

66

Page 67: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

La siguiente tabla [1, Table 5, Table 6, Table 7, Table 8] muestra valores

PSNR sobre estas imagenes para FS-SOM, LARFSOM y el algoritmo clasico

de mapa auto-organizado SOM para segmentacion de imagenes.

Imagen Metodo Neuronas Iteraciones PSNR

FlowersSOM 16 18064 21.95FS-SOM 16 892 20.50LARFSOM 16 2636 24.82

SailboatSOM 16 4066 21.12FS-SOM 16 389 21.69LARFSOM 16 437 24.45

PensSOM 16 13504 20.55FS-SOM 16 449 21.68LARFSOM 16 599 24.74

YachtSOM 16 3851 20.07FS-SOM 16 270 21.72LARFSOM 16 364 24.35

El algoritmo de aprendizaje que usamos es identico al explicado en la

Seccion 4.2 salvo que en la segunda fase, es decir, en la fase con aprendizaje

no competitivo puro, hemos anadido el siguiente criterio de convergencia:

∑N

i=1 ||ni(t+ 1) − ni(t)||2

N≤ 0,0001.

Es decir, que paramos el algoritmo si la diferencia (al cuadrado) media

entre las posiciones de las neuronas es menor que 10−4 o si alcanzamos

NumMaxIteraciones. Hemos calculado los siguientes valores estadısticos

67

Page 68: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

sobre 10 ejecuciones con NumMuestras = 1000, NumClusters = 100,

NumNeuronas = 16 y NumMaxIteraciones = 10000:

Imagen Neuronas Iteraciones me-dias (desviacion)

PSNR medio(desviacion)

Flowers 16 167.9 (44.62) 21.64 (1.59)Sailboat 16 173.7 (57.38) 25.39 (0.35)Pens 16 189.4 (149.06) 23.64 (1.76)Yacht 16 250.5 (255.67) 24.14 (0.82)

Como vemos los valores medios PSNR superan en general a los de SOM

y FS-SOM y en ocasiones tambien a los de LARFSOM. Recordemos de nue-

vo que estos resultados se consiguen presentado a la red solo 100 muestras

distintas (NumClusters = 100 clusters). Las siguientes figuras muestran

reconstrucciones con 16 prototipos:

68

Page 69: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Capıtulo 5

Discusion y conclusiones.

En este trabajo hemos presentado los mapas auto-organizados tal y como

fueron introducidas por Kohonen y particularizando desde el punto de vista

general de redes neuronales artificiales. De entre las miles de aplicaciones que

tienen los mapas auto-organizados hemos descrito varias de ellas orientadas

a la segmentacion de imagenes en color.

Posteriormente hemos introducido el concepto de mapa auto-organizado

generalizado, cuya principal virtud sea quizas su simetrıa respecto a los datos

de entrada y las neuronas. Hemos visto como algunas de las variantes de

mapas auto-organizados explicados anteriormente se enmarcan dentro de este

nuevo concepto generalizado mientras que no lo hacıan en el concepto clasico

de mapa auto-organizado. Creemos que este concepto podrıa dar a nuevas

desarrollos o variaciones de mapas auto-organizados.

Como aplicacion hemos disenado un mapa auto-organizado generalizado

orientado a la segmentacion de imagenes en color. La diferencia con un mapa

clasico radica fundamentalmente en que el movimiento de las neuronas se

realiza a lo largo de las geodesicas de cierta metrica. Esta metrica depende de

una densidad continua calculada a partir de las muestras. La implementacion

se ha llevado a cabo en MATLAB y C.

Se ha probado el mapa sobre imagenes estandares. Los valores de PSNR

obtenidos se encuentran entre aquellos obtenidos por otros mapas auto-orga-

nizados recientes orientados a la segmentacion de imagenes en color y llegan

69

Page 70: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 5. DISCUSION Y CONCLUSIONES.

a superar a los mejores de estos metodos en algunas de las pruebas.

Resaltemos aquı que los metodos contra los que se ha comparado el al-

goritmo, FS-SOM, SA-SOM y LARFSOM, son incompatibles entre si ya

que proponen distintas estrategias relacionadas con la eleccion de la BMU.

Sin embargo, ya que nuestro mapa auto-organizado modifica un mapa auto-

organizado clasico a un nivel profundo, a saber, en el computo de distancias

en el espacio de entrada y en el movimiento de las neuronas hacia la entrada,

es totalmente plausible desarrollar distintas versiones de nuestro algoritmo

que incluyan las estrategias BMU de FS-SOM, SA-SOM o LARFSOM.

Nuestro mapa se muestra mas competitivo para numero de iteraciones

bajo, mientras que para numero de iteraciones alto los valores PSNR diver-

gen mas de los otros metodos estudiados. Esto no es de extranar ya que en

el metodo de aprendizaje de dos fases explicado los clusters de la densidad

son presentados reiterativamente a la red, con lo que se pierde parte de la

informacion de la imagen. Un numero de muestras y de clusters equiparable

a un numero de iteraciones grande (del orden de 104) es computacionalmente

intratable.

Veamos ademas por que el presentar una muestra en vez de un cluster a la

red puede distorsionar el aprendizaje. Para ello notese primero que los clusters

tienden a estar en el interior de la nube de muestras como en los Ejemplos

3.1.1 y 3.2.1. Ası que una distribucion tıpica del inverso de la densidad entre

un cluster y una muestra sera como se muestra en la siguiente figura:

Si una neurona cercana al cluster ha de moverse en direccion a la mues-

tra una pequena cantidad, digamos un 5 %, esto puede producir un gran

desplazamiento en distancia euclıdea:

70

Page 71: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 5. DISCUSION Y CONCLUSIONES.

Esta distorsion es importante en tanto en cuanto los valores MSE y

PSNR se calculan usando para ello distancia euclıdea. Un primer objetivo

para seguir desarrollando esta red serıa pues integrar mejor la densidad con-

tinua con un aprendizaje basado en muestras de la imagen independientes

de la densidad. Una posible opcion aquı serıa aprender siempre mediante

clusters pero ir calculando nuevas densidades a medida que se toman nue-

vas muestras de la imagen. Algun efecto de memoria deberıa considerarse

para minimizar la discrepancia entre una densidad y la siguiente, como por

ejemplo usar parte de los clusters o muestras de la densidad antigua como

muestras para la nueva densidad.

Ademas, un estudio mas pormenorizado de la influencia de los numerosos

parametros de la red en los valores de salida PSNR serıa conveniente. Estos

parametros incluyen el numero de iteraciones, el numero de clusters, numero

de vecinos, numero de vecinos del grafo, parametros de construccion de la

densidad y las funciones σ y η de aprendizaje. Posiblemente distintos tipos de

imagenes requieran distintos conjuntos de parametros. Igualmente, distintos

valores PSNR objetivo requeriran metodos de aprendizaje distintos.

Tampoco deberıa obviarse un estudio sistematico del tiempo de apren-

dizaje, el cual es otro baremo para comparar este trabajo con otros de la

misma area. Debido a la considerable mayor carga computacional del calculo

de una geodesica frente al calculo de un segmento rectilıneo aquı se deberıa

esperar estar en seria desventaja frente a otros metodos.

En otro orden, una version con una malla dos dimensional para las neu-

ronas deberıa producir mejores resultados en terminos de PSNR.

Un problema abierto de caracter mas teorico pero que merece la pena con-

siderar es el estudio de condiciones para que la aproximacion a las geodesicas

71

Page 72: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 5. DISCUSION Y CONCLUSIONES.

y a la distancia geodesica consideradas aquı convergen a las geodesicas y a las

distancias geodesicas teoricas respectivamente. Esto darıa una base mas so-

lida al algoritmo en sı. En el trabajo [2] se presentan dichos criterios para un

algoritmo relacionado de reduccion de la dimension conocido como Isomap.

Con referencia a los valores PSNR para segmentacion de imagenes en la

bibliografıa es interesante que, aunque frecuentemente se muestran valores

para distintos tamanos de imagenes (como 128×128, 256×256 y 512×512),

los valores PSNR obtenidos deberıan ser, al menos teoricamente, iguales. Si

tomamos M muestras de una imagen en tamano TX × TY elegidas con pares

de proporciones aleatorias entre 0 y 1, estos mismos pares darıan las mismas

muestras en la misma imagen en tamano λTX × λTY con λ > 1.

Dado que las muestras son las mismas el algoritmo de aprendizaje deberıa

encontrar los mismos prototipos para ambas ejecuciones. Finalmente, el valor

MSE para la imagen grande

MSE =

∑λ2TXTY

i=1 ||xi −BMU(xi)||2

λ2TXTY

puede reescribirse como

∑TXTY

i=1 λ2||xi −BMU(xi)||2

λ2TXTY

ya que cada pıxel de la imagen pequena da lugar a λ2 pıxeles en la imagen

grande. Cancelando los dos terminos λ2 notamos que esto es exactamente el

valor MSE para la imagen pequena.

Podemos observar este hecho en [21, Table 1] comparando los valores

PSNR de tamano de imagen 512 × 512 y razon de muestreo 0,1 con los

valores PSNR de tamano de imagen 256 × 256 y razon de muestreo 0,4, ya

que ambos valores PSNR son similares y corresponden aproximadamente a

unas 26200 muestras. Lo mismo ocurre con los tamanos 256×256 y 128×128

de la misma tabla y tambien en la grafica de [21, Fig. 8].

Tambien serıa interesante investigar el mınimo global de MSE para una

imagen dada y un numero de neuronas dado y compararlo con los valores

MSE en la bibliografıa. Para ello podrıa ensayarse una aproximacion me-

72

Page 73: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

CAPITULO 5. DISCUSION Y CONCLUSIONES.

diante posiciones de las neuronas en una malla de vertices tridimensional.

Esto serıa sin duda computacionalmente muy costoso, pero arrojarıa cierta

luz sobre la calidad de los metodos SOM en general. Es claro que tal mıni-

mo global debe existir ya que los valores de las prototipos o neuronas estan

acotados a un cubo del tipo [0, 255]3 o [0, 1]3 y MSE es funcion continua de

las posiciones de las neuronas (a pesar de que la funcion BMU no es funcion

continua de la variable de entrada).

Se puede probar que si queremos obtener el valor MSE mınimo global

con un error menor que ǫ > 0 es suficiente tomar la distancia δ entre verti-

ces de la malla suficientemente pequena. Para convencerse, supongamos que

n1, . . . , nN son las posiciones de las neuronas (posiblemente no en la malla)

que dan un valor MSE mınimo global. Ahora podemos tomar δ suficiente-

mente pequeno tal que la distancia de cada pıxel xi a una neurona que no

este a la misma distancia que la neurona BMU(xi) sea mayor que la distancia

a BMU(xi) mas δ, en formulas:

δ tal que ||xi− nj|| > ||xi−BMU(xi)||+δ si ||xi − nj|| > ||xi −BMU(xi)||,

para cada pıxel xi y cada prototipo nj. Esta eleccion de δ es posible por la

finitud de los conjuntos involucrados. Tomemos ahora una malla de radio δ

y vertices de la malla n1, . . . , nN a distancias menores que δ2

de n1, . . . , nN

respectivamente. Por la eleccion de δ, si la neurona BMU para el pıxel xi

era el prototipo nj ahora tendremos tambien que la neurona mas cercana es

nj. Considerando δ mas pequeno si hace falta se comprueba entonces que el

MSE con respecto a n1, . . . , nN difiere del MSE con respecto a n1, . . . , nN ,

es decir, difiere del mınimo global, en menos de ǫ.

73

Page 74: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Apendice A

Geometrıa y Topologıa.

En esta seccion introducimos varias nociones matematicas que se usan en

el trabajo. Para una version mas detallada se remite al lector a [4]. Empeza-

mos con la nocion de espacio metrico.

Definicion A.0.1. Un espacio metrico es un conjunto M no vacıo y una

funcion d : M ×M → R tal que para cualesquiera x, y, z ∈M se satisface

d(x, y) ≥ 0 (no negatividad),

d(x, y) = 0 ⇔ x = y,

d(x, y) = d(y, x) (simetrıa),

d(x, y) ≤ d(x, z) + d(z, y) (desigualdad triangular).

La funcion d es la metrica del espacio.

Por ejemplo, el espacio euclıdeo Rm es un espacio metrico con la metrica

euclıdea

d((x1, . . . , xm), (y1, . . . , ym)) =√

(x1 − y1)2 + . . .+ (xm − ym)2. (A.1)

Si M es un espacio metrico con metrica d, la bola centrada en x ∈M con

radio r ∈ R, r > 0 es el conjunto

B(x, r) = {y ∈M |d(x, y) < r}. (A.2)

74

Page 75: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE A. GEOMETRIA Y TOPOLOGIA.

En el espacio metrico R2 las bolas corresponden a discos rellenos sin la circun-

ferencia que lo delimitan, y en el espacio metrico R3 corresponden a esferas

macizas sin la superficie esferica que lo delimitan.

Un subconjunto U de un espacio metrico M se denomina abierto si se

puede escribir como una union, posiblemente infinita, de bolas. Esto es es

equivalente a que para cualquier punto x ∈ U existe un radio r > 0 suficien-

temente pequeno tal que B(x, r) ⊆ U . Es decir, que si un punto esta en U

tambien lo esta una pequena bola alrededor de este punto.

Por ejemplo, el subconjunto (0, 1) = {x ∈ R|0 < x < 1} es abierto en el

espacio metrico R. El conjunto [0, 1] = {x ∈ R|0 ≤ x ≤ 1} no lo es porque

la condicion falla en los puntos 0 y 1. Un disco en R2 es abierto solo si no

contiene ningun punto de la circunferencia que lo delimita. Una esfera en R3

es abierto solo si no contiene ningun punto de la superficie esferica que lo

delimita.

Cualquier subconjunto de un espacio metricoM se convierte en un espacio

metrico sin mas que restringir la metrica de M a los puntos del subconjunto.

Por ejemplo, una recta, un segmento, un plano, una esfera o un toro yaciendo

en R3 se convierten en espacios metricos al heredar la metrica euclıdea de

R3.

Pasamos ahora a la nocion de variedad diferenciable de dimension m.

Es este un tipo especial de espacio metrico que localmente es indistinguible

de Rm. Mas concretamente, cada punto x ∈ M debe yacer en un entorno

coordenado. Un entorno coordenado es simplemente un conjunto U abierto

en M junto con una biyeccion ϕ de U a un abierto de Rm. A esta funcion se

le exige que sea un homeomorfismo, es decir, se le requiere que lleve abiertos

de U a abiertos de Rm y viceversa, es decir, que su inversa lleve abiertos de

Rm a abiertos de U . Esta funcion ϕ es la funcion coordenada porque asigna

m coordenadas a cada punto del abierto U de M .

¿Que ocurre cuando dos entornos coordenados intersecan? Sean ϕ : U →

Rm y ψ : V → R

m dos entornos coordenados y supongamos que U ∩ V 6=

∅, esto es, que los abiertos U y V intersecan. Tenemos entonces un nuevo

homeomorfismo

ψ ◦ ϕ−1 : ϕ(U ∩ V ) → ψ(U ∩ V ). (A.3)

75

Page 76: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE A. GEOMETRIA Y TOPOLOGIA.

A esta aplicacion se le llama funcion de transicion y convierte las m coorde-

nadas que asigna ϕ a un punto de U ∩ V a las m coordenadas que les asigna

ψ.

Definicion A.0.2. Una variedad diferenciable es un espacio metrico M con

una familia de entornos coordenados {Uα, ϕα} tales que

cada punto de M esta en al menos un subconjunto Uα y

para cualesquiera α y β con Uα ∩Uβ 6= ∅ la funcion de transicion entre

Uα, ϕα y Uβ, ϕβ es infinitamente diferenciable.

Para introducir la nocion de geodesica necesitamos primero introducir el

concepto de curva en una variedad diferenciable M .

Definicion A.0.3. Sea M una variedad diferenciable. Una curva en M es

una aplicacion γ : (a, b) → R o γ : [a, b] → R tal que para cada instante t

en el intervalo y para cada entorno coordenado U , ϕ que contenga a γ(t) la

funcion

γ−1(U)γ→ U

ϕ→ R

m

es continua y diferenciable a trozos.

Ası que una curva en M es simplemente una funcion desde un intervalo

de R a M que es continua y diferenciable a trozos cuando la escribimos en

coordenadas.

Podemos ahora introducir el concepto de plano tangente en un punto x

de la variedad M . Para ello sean γ1 : (−1, 1) → M y γ2 : (−1, 1) → M dos

curvas en M con γ1(0) = γ2(0) = x y sea U , ϕ un entorno coordenado que

contiene x. Diremos que γ1 y γ2 son equivalentes si las derivadas de ϕ ◦ γ1

y ϕ ◦ γ2 en 0 coinciden (como vectores de Rm). Esto da una relacion de

equivalencia entre tales curvas y a cualquiera de sus clases de equivalencia

la llamamos un vector tangente de M en x. El conjunto de tales vectores se

denota por TxM y no depende del entorno coordenado que hemos elegido U ,

ϕ.

Este conjunto es un espacio vectorial de dimension m, y la estructura

de espacio vectorial de TxM queda determinada asociando a cada clase de

76

Page 77: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE A. GEOMETRIA Y TOPOLOGIA.

equivalencia de curvas su vector derivada en Rm. Esta estructura tampoco

depende del entorno coordenado elegido.

Este espacio corresponde por tanto a las posibles direcciones a las que una

curva puede dirigirse a su paso por p. La siguiente figura muestra el espacio

tangente en un punto de una superficie esferica ası como como un espacio

tangente generico junto con un vector como derivada de una curva en x.

Pasamos ahora a definir lo que es una variedad Riemanniana. El objetivo

es anadir a nuestra variedad diferenciable una manera de medir la longitud

de los vectores de los espacios tangentes de M . Como veremos esto nos per-

mitira tambien medir la longitud de una curva en M . Recordemos que una

forma bilineal definida positiva en un espacio vectorial V es una aplicacion

Φ : V × V → R tal que para todos v, w ∈ V , a1, a2, b1, b2 ∈ R:

Φ(a1v1+a2v2, b1w1+b2w2) = a1b1Φ(v1, w1)+a1b2Φ(v1, w2)+a2b1Φ(v2, w1)+

a2b2Φ(v2, w2) (bilineal),

Φ(v, w) = Φ(w, v) (simetrica),

Φ(v, v) ≥ 0 y Φ(v, v) = 0 ⇔ v = 0 (definida positiva).

Si V tiene dimension m y fijamos una base en V una forma bilineal

simetrica definida positiva esta determinada y determina una matriz m×m.

Definicion A.0.4. Una variedad Riemanniana es una variedad diferenciable

con una forma bilineal simetrica definida positiva G(x) en el espacio tangente

TxM para cada punto x ∈ M . Al tomar cualquier entorno coordenado U , ϕ

77

Page 78: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE A. GEOMETRIA Y TOPOLOGIA.

la matriz asociada a G(x) para cada punto x ∈ U debe tener sus m2 entradas

infinitamente diferenciables. A G se le conoce como metrica Riemanniana de

M .

Dada una variedad Riemanniana M con metrica Riemanniana G el ta-

mano de un vector v ∈ TxM esta dado por

√G(x)(v, v) ∈ R.

En ocasiones identificaremos G(x) con la matriz de la forma bilineal G(x)

tras fijar una base en TxM . En ese caso el tamano de v lo podemos reescribir

como √vG(x)vt,

donde v es un vector fila y tr significa traspuesta.

El espacio euclıdeo Rm es una variedad Riemanniana cuya forma bilineal

simetrica definida positiva tiene asociada la matriz identidad Im en coorde-

nadas canonicas (x1, . . . , xm) y el tamano de un vector v = (v1, . . . , vm) es√v2

1 + . . .+ v2m, es decir, la norma euclıdea de v.

La longitud de una curva γ : [a, b] → M viene dada por la integral de

camino

L(γ) =

∫ b

a

√G(γ(t))(γ′(t), γ′(t))dt =

∫ b

a

√γ′(t)G(γ(t))γ′(t)trdt. (A.4)

Ası, dados dos puntos x e y de la variedad Riemanniana M podemos

definir una nueva distancia entre ellos, la distancia geodesica, mediante

dgeodesica(x, y) = Infimo

∫ b

a

√γ′(t)G(γ(t))γ′(t)trdt, (A.5)

donde el ınfimo se toma sobre todas las curvas γ : [a, b] → M que empiezan

en x y terminan en y, es decir, con γ(a) = x y γ(b) = y.

A partir de la Ecuacion (A.5) y mediante el uso de calculo de variaciones

se llegan a las ecuaciones geodesicas. Estas ecuaciones son ecuaciones dife-

renciales ordinarias en dγi

dty d2γi

dt2cuyas soluciones proporcionan (localmente)

78

Page 79: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE A. GEOMETRIA Y TOPOLOGIA.

las geodesicas. Se escriben en termino de los sımbolos de Christoffel que a

su vez dependen de las derivadas de las entradas de la matriz G(x) y de su

inversa G(x)−1.

La distancia dada por la Ecuacion (A.5) produce una funcion

dgeodesica : M ×M → R que satisface las propiedades de la Definicion A.0.1,

es decir, dgeodesica es una metrica en M . Surge naturalmente la pregunta de

cual es la relacion de esta nueva metrica con la metrica original d en M .

La respuesta es que ambas metricas son equivalentes. Esto quiere decir

que los conjuntos abierto que generan dgeodesica y d son los mismos, es decir,

que un conjunto se puede escribir como union de dgeodesica-bolas si y solo

si se puede escribir como union de d-bolas. Tambien equivale a que las dos

topologıas inducidas por las metricas son iguales.

Como en la Ecuacion (A.5) estamos tomando un ınfimo no tenemos ase-

gurado que exista una curva minimizante γmin entre x e y que tenga exac-

tamente longitud L(γmin) = dgeodesica(x, y). A una tal curva la llamaremos

geodesica entre x e y. Sin embargo, en general, la existencia y unicidad de

tales curvas minimizantes no esta asegurada. Hay variedades Riemannianas

donde no existen tales curvas minimizantes y variedades Riemannianas don-

de existe mas de una. Se puede dar un ejemplo sencillo de esto ultimo: en

la superficie esferica las geodesicas o curvas minimizantes son arcos de cir-

cunferencias maximas, es decir, de circunferencias contenidas en la superficie

esferica y en un plano que pasa por el centro de esta. Hay infinitas geodesicas

entre el polo norte y el polo sur.

La metrica Riemanniana en el espacio euclıdeo Rm usado en el mapa

auto-organizado generalizado del Capıtulo 3 es de la forma

G(x) =1

d2(x)Im,

donde Im es la matriz identidad y d(x) : Rm → R es la funcion densidad

reconstruida evaluada en el punto x ∈ Rm. Esta funcion es una suma de

distribuciones Gaussianas o normales con distintos parametros y medias y

satisface

d(x) > 0 para todo x ∈ Rm y

79

Page 80: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE A. GEOMETRIA Y TOPOLOGIA.

lım||x||→∞ d(x) = 0.

Usando el teorema de Hopf-Rinow [4, VII.7.7] no es difıcil demostrar usan-

do la segunda propiedad de las anteriores que siempre habra al menos una

geodesica en nuestras condiciones. Por otro lado, una densidad degenerada

con una unica distribucion Gaussiana simetrica es un ejemplo donde es facil

encontrar dos puntos con mas de una geodesica entre ellos.

80

Page 81: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Apendice B

Glosario.

Algoritmo de Floyd: Dado un grafo con pesos el algoritmo de Floyd

permite hallar el camino entre dos vertices que minimiza la suma de los pesos

de las aristas incluidas en el camino (el camino mas corto). Una sola ejecucion

del algoritmo de Floyd genera dos matrices, una con las distancias mınimas

entre cada par de vertices, y otra con el proximo vertice a recorrer para cada

par de vertices. El camino mas corto entre dos vertices se encuentra por re-

cursion usando la segunda matriz. El algoritmo de Floyd es de complejidad

O(|V |3), donde |V | es el numero de vertices del grafo.

Algoritmo de clustering k-means o “medias-k”: Es una tecnica de

clustering (ver clustering) que intenta agrupar n muestras en k grupos o

clusters. El algoritmo procede iterativamente a partir de k valores iniciales

calculando para cada una de las n entradas cual es el valor de estos k valores

mas cercano. Esto divide a las n entradas en k grupos o clusters. Los nuevos

k valores se actualizan como el centroide de cada cluster. El algoritmo se

vuelve a aplicar hasta que los clusters se estabilizan.

Clustering: El analisis de clustering o agrupamiento consiste en dividir

una conjunto de datos en distintos grupos de forma que los datos de un

mismo grupo sean similares. El criterio de similitud se suele dar en terminos

de una distancia.

81

Page 82: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE B. GLOSARIO.

Figura B.1: Conjunto de datos agrupados en 3 grupos. Los grupos estancoloreados para poder identificarlos.

Compresion de imagenes: Consiste en la aplicacion de tecnicas de

compresion de datos a la informacion de una imagen. Esta ıntimamente re-

lacionada con la segmentacion de imagenes en color ya que la segmentacion

trata de encontrar patrones y regularidades en la imagen que a su vez pueden

usarse para comprimirla.

Cuantificacion vectorial: La cuantificacion vectorial es un tipo de al-

goritmo para clustering (ver clustering), y se puede considerar como un tipo

de mapa auto-organizado con competitividad extrema o pura entre las neu-

ronas y con topologıa degenerada. Solo la BMU se mueve hacia la entrada.

Esto equivale a hacer tender σ a 0 en la Ecuacion (1.3), para conseguir la

siguiente funcion de entorno:

θ(t, i, x(t)) =

{1 si i = BMU

0 si i 6= BMU .

Claramente no hay topologıa en la malla de de neuronas en cuantifica-

cion vectorial (o siendo mas precisos, se dota al conjunto de neuronas de la

topologıa discreta).

Espacios de color CIELUV y CIELAB: Las siglas CIELUV y

CIELAB son abreviaturas para los espacios de color CIE 1976 (L∗, u∗, v∗)

y CIE 1976 (L∗, a∗, b∗). Estos espacios de colores fueron adoptados por la

Comision Internacional de la Iluminacion (CIE) en 1976 a partir del espa-

82

Page 83: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

APENDICE B. GLOSARIO.

cio de color CIE 1931 XY Z. Ambos intentan conseguir percepcion uni-

forme, es decir, que la similaridad perceptual entre colores se mida con la

distancia que separa las coordenadas de dichos colores. Las transformaciones

CIELAB ↔ RGB y CIELUV ↔ RGB son no lineales.

Espacio de color RGB: Espacio de color que no satisface la percepcion

uniforme (ver espacios de color CIELAB y CIELUV ).

Funcion MEX de MATLAB: MEX es la abreviatura de “MATLAB

executable”. Un fichero MEX es una librerıa dinamica compilada a partir de

codigo fuente C, C + + o FORTRAN y que se puede ejecutar en el entorno

MATLAB como una funcion mas. La transferencia de datos entre la funcion

MEX y MATLAB y la ejecucion de funciones MATLAB desde el fichero MEX

se hace gracias a una librerıa MATLAB que se enlaza al codigo fuente. La

velocidad de ejecucion suele ser entre 10 y 20 veces mas rapida que la version

equivalente con un script de MATLAB.

Segmentacion de imagenes en color: En el campo de la vision artifi-

cial la segmentacion de imagenes es un proceso por el cual los pıxeles de una

imagen se etiquetan para crear grupos que comparten ciertas caracterısticas

visuales. Ejemplos de estas caracterısticas son la textura, el color o la inten-

sidad. Este proceso se usa como paso previo a otros procesamientos de la

imagen como el reconocimiento de contornos.

El sentido en el que se usa segmentacion de imagenes en color en este tra-

bajo siempre se refiere a agrupar los pıxeles con respecto a su color creando

ası zonas de color homogeneo en una imagen a color.

83

Page 84: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

Bibliografıa

[1] Araujo A.R.F., Costa D.C., Local adaptive receptive field self-organizing

map for image color segmentation, Image and Vision Computing, Volu-

me 27, Issue 9, 3 August 2009, Pages 1229-1239, ISSN 0262-8856, DOI:

10.1016/j.imavis.2008.11.014

[2] Bernstein M., de Silva V., Langford J. C., Tenenbaum J.B., Graph ap-

proximations to geodesics on embedded manifolds, 2000, preprint avai-

lable at http://isomap.stanford.edu

[3] Bishop C.M., Svensen M., Williams C.K.I., GTM: The Generative To-

pographic Mapping, Neural Computation, January 1, 1998, Vol. 10, No.

1, pages 215-234.

[4] Boothby W.M., An introduction to differentiable manifolds and Rieman-

nian geometry, Academic Press, 1986, Orlando, Florida.

[5] Chang C., Xu P., Xiao R., Srikanthan T., New adaptive color quantiza-

tion method based on self-organizing maps, IEEE Trans Neural Netw.

2005 Jan;16(1):237-49.

[6] Dittenbach M., Merkl D., Rauber A., The Growing Hierarchical Self-

Organizing Map, Neural Networks, IEEE - INNS - ENNS Internatio-

nal Joint Conference on, p. 6015, IEEE-INNS-ENNS International Joint

Conference on Neural Networks (IJCNN’00)-Volume 6, 2000.

[7] Dong G., Xie M., Color clustering and learning for image segmentation

based on neural networks, IEEE Trans Neural Netw. 2005 Jul; 16(4):925-

36.

84

Page 85: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

BIBLIOGRAFIA

[8] Kohonen T., Automatic formation of topological maps of patterns in

a self-organizing system, in Erkki Oja and Olli Simula, editors, Proc.

2SCIA, Scand. Conf. on Image Analysis, pages 214-220, Helsinki, Fin-

land, 1981, Suomen Hahmontunnistustutkimuksen Seura r. y.

[9] Kohonen T., Self-organizing formation of topologically correct feature

maps, Biol. Cyb., 43(1):59-59, 1982.

[10] Kaski S., Kangas J., Kohonen T., Bibliography of Self-Organizing Map

(SOM) Papers: 1981-1997, 1998, Neural Computing Surveys, 1, 102-350.

[11] Kaski S., Sinkkonen J., Peltonen J., Bankruptcy analysis with self-

organizing maps in learning metrics, IEEE Trans Neural Netw., 2001,

12(4), 936-47.

[12] Li J. X., Visualization of high-dimensional data with relational perspec-

tive map, Information Visualization 3, 1 (Mar. 2004), 49-59.

[13] Lopez-Rubio E., Munoz-Perez J., Gomez-Ruiz J. A., Self-Organizing

Dynamic Graphs. Neural Process. Lett. 16, 2 (Oct. 2002), 93-109.

[14] Lopez-Rubio E., Ortiz-de-Lazcano-Lobato J. M., Soft clustering for non-

parametric probability density function estimation. Pattern Recogn.

Lett. 29, 16 (Dec. 2008), 2085-2091.

[15] Lopez-Rubio E., Ortiz-De-Lazcano-Lobato J. M., Vargas-Gonzalez M.

C., Probabilistic Self-Organizing Graphs, in Proceedings of the 10th in-

ternational Work-Conference on Artificial Neural Networks: Part I: Bio-

inspired Systems: Computational and Ambient intelligence (Salamanca,

Spain, June 10 - 12, 2009). J. Cabestany, F. Sandoval, A. Prieto, and J.

M. Corchado, Eds. Lecture Notes In Computer Science. Springer-Verlag,

Berlin, Heidelberg, 180-187.

[16] Oja M., Kaski S., Kohonen T., Bibliography of Self-Organizing Map

(SOM) Papers: 1998-2001 Addendum, Neural Computing Surveys, 2003,

3, 1-56.

85

Page 86: REDES NEURONALES NO SUPERVISADAS CON …agt.cie.uma.es/~adiaz/Publications/PFCAntonioDiazRamos.pdf · REDES NEURONALES NO ... una serie de ejecutables en MATLAB y en C. Se concluye

BIBLIOGRAFIA

[17] Omer I., Werman M., The Bottleneck Geodesic: Computing Pixel Af-

finity, Computer Vision and Pattern Recognition, IEEE Computer

Society Conference on, pp. 1901-1907, 2006 IEEE Computer Society

Conference on Computer Vision and Pattern Recognition - Volume 2

(CVPR’06), 2006.

[18] Peltonen J., Klami A., Kaski S., Improved learning of Riemannian me-

trics for exploratory analysis. Neural Netw. 17, 8-9 (Oct. 2004), 1087-

1100, DOI= http://dx.doi.org/10.1016/j.neunet.2004.06.008

[19] Polla M., Honkela T., Kohonen T., Bibliography of Self-Organizing Map

(SOM) Papers: 2002-2005 Addendum. TKK Reports in Information and

Computer Science, Helsinki University of Technology, Report TKK-ICS-

R24, 2009.

[20] Rattray M., A Model-Based Distance for Clustering, Proc. of Interna-

tional Joint Conference on Neural Networks, 2000, p. 4013–4016.

[21] Wang C., Lee C., Hsieh C., Sample-size adaptive self-organization map

for color images quantization. Pattern Recogn. Lett. 28, 13 (Oct. 2007),

1616-1629, DOI= http://dx.doi.org/10.1016/j.patrec.2007.04.005

[22] Wang C., Lee C., Hsieh C., Classified self-organizing map

with adaptive subcodebook for edge preserving vector quanti-

zation, Neurocomput. 72, 16-18 (Oct. 2009), 3760-3770, DOI=

http://dx.doi.org/10.1016/j.neucom.2009.06.002

86