Top Banner

of 86

redes dinamicas

Oct 04, 2015

Download

Documents

Franyi García

redes dinamicas supervisadas no supervisadas
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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

  • UNIVERSIDAD DE MALAGAESCUELA TECNICA SUPERIOR DE INGENIERIA

    INFORMATICA

    INGENIERO TECNICO EN INFORMATICA DESISTEMAS

    Reunido el tribunal examinador en el da 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

  • 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. Geometra y Topologa. 74

    B. Glosario. 81

    3

  • Captulo 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 artculos [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

    pases. Los datos estadsticos del Banco Mundial para 126 pases dan 39

    indicadores de calidad de vida para cada pas, 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 pases 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 pases:

    4

  • CAPITULO 1. INTRODUCCION.

    Figura 1.1: Niveles de vida de diversos pases 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 estadsticos 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 artculos que usan, analizan o se benefician de las SOM de

    algun modo, incluyendo las siguientes areas: imagen y vdeo, reconocimiento

    de patrones, tecnicas matematicas, inteligencia artificial, software, ingeniera

    en biologa y medicina, teora 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

  • CAPITULO 1. INTRODUCCION.

    Geometra y la Topologa. 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 topologa 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 estadstico a

    posteriori.

    El contenido del trabajo se subdivide en 3 captulos 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 artculos que pre-

    sentan variantes de mapas auto-organizados o construcciones relacionadas.

    La seccion 1.3 se centra en las variantes que modifican la topologa, 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 Captulo 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 Captulo 3 contiene una aplicacion de las ideas desarrolladas en el

    Captulo 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

    rectilneos. Esta construccion se complementa con el Captulo 4, donde se

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

    6

  • 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 captulo con un

    estudio comparativo estadstico de la calidad de los resultados obtenidos con

    este nuevo metodo.

    El ultimo captulo 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 Geometra y Topologa 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 biologa 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

  • 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

  • CAPITULO 1. INTRODUCCION.

    Figura 1.3: Distribuciones tpicas de las neuronas en un mapa auto-organizado.

    Las conexiones entre las neuronas que se observan en la figura son crticas

    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

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

    Mi=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

  • 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 Rn 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 explcita 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

  • 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) = ed2

    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 eucldea

    entre las neuronas en el espacio eucldeo en el que la malla se halla inmersa.

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

    12

  • 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 et ,

    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

  • CAPITULO 1. INTRODUCCION.

    La funcion de aprendizaje tiene una expresion similar:

    (t) = 0 et ,

    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

  • 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

    Nmero de iteracin

    coe

    ficie

    nte

    neurona BMUneurona adistancia mxima

    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 artculos 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 topologas y distancias entre las neuronas.

    Aqu entendemos por esta topologa la manera en que las neuronas estan co-

    nectadas entre s. Por ejemplo, hemos visto anteriormente que las topologas

    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

  • 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 eucldea entre ellas en

    el espacio en el que la malla se halla inmersa.

    Una primera idea es sustituir el segmento por un crculo 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 topologa 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 (eucldeo

    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 topologa y distan-

    cias entre neuronas podran estar en general determinadas por un espacio al

    que las neuronas pertenecen. Este espacio sera el sustituto para el espacio

    eucldeo o el crculo 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 podran variar, o

    equivalentemente, las neuronas podran moverse en este espacio metrico. En

    resumen:

    Variante 1.3.1. Sustituir la topologa y distancia entre neuronas por la to-

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

    16

  • CAPITULO 1. INTRODUCCION.

    mueven las neuronas.

    Otro grupo de autores han apostado por conservar la topologa 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 mnimo de estas distancias.

    As que estamos ante variaciones crticas de un mapa auto-organizado. En lo

    que llevamos visto el espacio de entrada es un espacio eucldeo y la distancia

    de la entrada a las neuronas es simplemente la distancia eucldea entre la

    entrada y el vector de pesos de las neuronas.

    El nuevo enfoque consiste en conservar el espacio eucldeo 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

    eucldeo de entrada.

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

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

    ajustan a los datos y permiten descubrir propiedades intrnsecas 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 eucldea 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 eucldea.

    17

  • CAPITULO 1. INTRODUCCION.

    Figura 1.10: Metrica de aprendizaje versus metrica eucldea.

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

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

    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 rectilneo 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 eucldeo de entrada

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

    metrica Riemanniana de los segmentos rectilneos 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

  • CAPITULO 1. INTRODUCCION.

    Variante 1.3.3. Sustituir la distancia eucldea 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 rectilneo 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 topologa, 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

  • 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 caractersticas 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 partculas sobre el toro en la que

    se considera una partcula 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

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

    tersticas como un histograma, y es proporcional a la longitud del camino en

    este espacio que minimiza la distancia eucldea 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 podra 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 fsico en el que

    algun material es sometido a altas temperaturas para despues dejarlo enfriar

    lentamente. Destaquemos aqu tambien que este artculo 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

  • Captulo 2

    Nuevo enfoque teorico.

    Este captulo 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 Captulo 3, donde elegiremos de este concepto de mapa auto-

    organizado generalizado los elementos que nos interesen para desarrollar en

    el Captulo 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 simetra

    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 topologa y distancia entre neuronas por la topologa

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

    las neuronas.

    Variante. Sustituir la distancia eucldea entre la entrada y las neuronas por

    la distancia geodesica correspondiente.

    23

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

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

    Recordemos ahora las variantes 1.3.2 y 1.3.4:

    Variante. Sustituir la metrica eucldea 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 dara 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

  • 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 topologa, 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

  • 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

    eucldeo 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 partcula 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 eucldeos 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 seran 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

  • Captulo 3

    Un mapa auto-organizado

    generalizado.

    En este captulo describimos un mapa auto-organizado generalizado par-

    ticular. Conforme a las definiciones del Captulo 2 estaramos 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

    Captulo 1. En el Captulo 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 eucldeo. 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 eucldeo de entrada de una nocion de

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

    distinta a la de la eucldea (ver Apendice A).

    Supongamos que el espacio de entrada es el espacio eucldeo Rm y que la

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

    espacio eucldeo de entrada, la distancia geodesica entre ellos vendra dada

    28

  • CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

    entonces por:

    dgeodesica(p, q) = Infimo

    10

    (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 eucldea de v.

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

    constituyentes del mapa auto-organizado.

    29

  • 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 eucldeo 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 artculo [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 eucldea). 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

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

  • CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

    En la siguiente figura mostramos 100 muestras tomadas aleatoriamente de

    la densidad anterior (crculos 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 eucldeo 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

    rectilneo 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

  • 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 rectilneo de p a q:

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

    La longitud de este segmento en nuestra metrica viene dada por 10

    (t)G((t))(t)trdt. (3.2)

    Como (t) = q p al sustituir tenemos

    10

    1

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

    y reordenando y reparametrizando obtenemos

    ||q p||

    10

    dt

    d(p+ t(q p))=

    ||qp||0

    dt

    d(p+ t qp||qp||

    ),

    donde ||q p|| es la norma eucldea de q p. Esta integral la aproximamos

    con el siguiente trapezoide

    ||q p||

    NumSubdivisiones

    NumSubdivisionesi=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

    cercana aqu no es distancia eucldea. En su lugar, ya que el cluster c tiene

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

    33

  • CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

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

    mayor valor. Este concepto de cercana 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 eucldea.

    El numero NumV ecinosGrafo es crtico. 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

  • 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 (crculos 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

  • 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 2NumV 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 2NumV 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 2NumV ecinosGrafo clusters que maximizan sus Gaussianas

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

    clusters que maximizan el mnimo 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

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

    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 rectilneo

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

    segmento rectilneo 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 rectilneo hasta cp,

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

    rectilneo 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 mnima entre todos estos caminos. Pode-

    mos representar estos elementos graficamente como sigue:

    37

  • 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 crculos verdes,

    as como los segmentos rectilneos 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

  • CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

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

    de un crculo 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 elega unicamente el vertice mas cer-

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

    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 retcula 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 estaran dispuestos as:

    39

  • 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 retcula 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 retculo 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 dara 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

  • 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 retculo 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 ecinosNumV ecinos combinaciones de clusters, ya que estan

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

    en general, comparar las NumV ecinosNumV ecinos distancias geodesicas

    que se obtienen con la integral a lo largo del segmento rectilneo 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 rectilneo obtendremos una distancia finita (posiblemente muy grande si

    atravesamos zonas de muy baja densidad).

    Si no anadimos la solucion con el segmento rectilneo 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

  • CAPITULO 3. UN MAPA AUTO-ORGANIZADO GENERALIZADO.

    3.4. Funcionamiento del mapa auto-organiza-

    do.

    El funcionamiento algortmico 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 mnimas 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

  • Captulo 4

    Aplicacion a la segmentacion de

    imagenes.

    En este captulo explicamos los detalles de implementacion de un ma-

    pa auto-organizado generalizado (Captulo 3) aplicado a la segmentacion de

    imagenes en color.

    La segmentacion de imagenes en color trata de seleccionar los colores

    mas caractersticos 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

  • 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

  • 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 128128 y 100 muestras en el espacio CIELUVdecoradas con el color RGB original.

    2040

    6080

    100

    200

    2040

    6040

    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

  • 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

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

    lnea 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 mnimo entre

    dos vertices

    (f.1)

    47

  • 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 librera 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 mnimas 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 mayora del tiempo de ejecucion.

    48

  • 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

  • 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 eucldea 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 rectilneo 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 Captulo 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

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

    Mi=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 1020 30

    40 5060 70

    80 90100

    0

    20

    40

    60

    80

    1009

    9.5

    10

    10.5

    11

    11.5

    12

    Gamma*100Alpha*100

    51

  • 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

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

  • CAPITULO 4. APLICACION A LA SEGMENTACION DE IMAGENES.

    05

    1015

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

    Empricamente 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 cclica hasta alcanzar NumMaxIteraciones.

    Hemos acompanado este metodo de funciones lineales a trozos para las fun-

    ciones y :

    53

  • 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

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

    NumPixelesi=1 ||xi BMU(xi)||

    2

    NumPixeles, (4.3)

    donde notese que el valor MSE se calcula usando para ello todos los pxeles

    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

    tpicas 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

  • 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 tpicas 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:

    616

    3264

    128256

    50

    100

    150

    20019

    20

    21

    22

    23

    24

    25

    26

    27

    28

    NumNeuronasNumClusters

    56

  • 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 tpicas 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 tpicas es

    mucho mas patente en este caso que en el anterior. Representamos a conti-

    nuacion los valores medios PSNR:

    57

  • CAPITULO 4. APLICACIO