Escolar Documentos
Profissional Documentos
Cultura Documentos
ESCUELA TECNICA
SUPERIOR DE INGENIERIA
INFORMATICA
INGENIERO TECNICO
EN INFORMATICA
DE
SISTEMAS
REDES NEURONALES NO
SUPERVISADAS CON TOPOLOGIA
DINAMICA
PARA LA SEGMENTACION
DE IMAGENES
EN COLOR.
Realizado por
ANTONIO DIAZ RAMOS
Dirigido por
EZEQUIEL LOPEZ
RUBIO
Departamento
MALAGA,
Noviembre 2010
1
UNIVERSIDAD DE MALAGA
ESCUELA TECNICA
SUPERIOR DE INGENIERIA
INFORMATICA
INGENIERO TECNICO
EN INFORMATICA
DE
SISTEMAS
OTORGAR LA CALIFICACION
DE
Y PARA QUE CONSTE, SE EXTIENDE FIRMADA POR LOS COMPARECIENTES DEL TRIBUNAL, LA PRESENTE DILIGENCIA.
de
Malaga a
2
del 20
Indice general
1. Introducci
on.
1.1. Descripcion de un mapa auto-organizado. . . .
1.2. Aprendizaje en un mapa auto-organizado. . .
1.3. Algunas variantes de mapas auto-organizados.
1.4. Otras variantes de mapas auto-organizados. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
7
11
15
20
2. Nuevo enfoque te
orico.
23
2.1. Recuperando las variantes. . . . . . . . . . . . . . . . . . . . . 26
3. Un
3.1.
3.2.
3.3.
3.4.
. . . . . .
. . . . . .
geodesica.
. . . . . .
4. Aplicaci
on a la segmentaci
on de im
agenes.
4.1. Implementacion MATLAB. . . . . . . . . . . . . .
4.2. Dependencia de los parametros. . . . . . . . . . .
4.3. Resultados. . . . . . . . . . . . . . . . . . . . . .
4.3.1. Algoritmo de aprendizaje de dos fases. . .
4.3.2. Algoritmo de aprendizaje de dos fases con
convergencia. . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . .
. . . . . .
. . . . . .
. . . . . .
criterio de
. . . . . .
.
.
.
.
28
30
32
36
42
.
.
.
.
43
47
50
55
61
. 66
5. Discusi
on y conclusiones.
69
A. Geometra y Topologa.
74
B. Glosario.
81
Captulo 1
Introducci
on.
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 herramienta 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, nutricion, 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 a
nadido para resaltar las similitudes entre pases:
CAPITULO 1. INTRODUCCION.
CAPITULO 1. INTRODUCCION.
Geometra y la Topologa. La parte practica del proyecto se concretara en la
aplicacion de estas ideas al dise
no de un mapa auto-organizado generalizado
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 u
ltimo captulo contiene una discusion de los logros y limitaciones de
este trabajo, as como varias direcciones en las que seguir investigando a partir 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 contiene un glosario de terminos especializados relacionados con el area de redes
neuronales artificiales y algunas de sus aplicaciones.
1.1.
Descripci
on de un mapa auto-organizado.
Un SOM o mapa auto-organizado se puede clasificar como un tipo particular 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 :
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 conexiones 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 seg
un 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 u
nico 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 artificial con aprendizaje no supervisado. Un mapa auto-organizado consiste en
un conjunto de nodos o neuronas usualmente dispuestos en forma unidimensional o en forma de malla de dos dimensiones con distribucion ortogonal o
hexagonal:
CAPITULO 1. INTRODUCCION.
CAPITULO 1. INTRODUCCION.
aprendizaje competitivo ya que las neuronas compiten por ser la mas cercana
a la entrada.
Despues de un n
umero suficiente de iteraciones, la red se adapta a la
forma de los datos o distribucion de entrada {xi }i=1,...,M :
10
CAPITULO 1. INTRODUCCION.
muestras. Esta cantidad mide como de bien la red ha capturado la distribucion de entrada.
En general, el funcionamiento de un mapa auto-organizado se puede dividir 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.
En esta seccion repasamos las ecuaciones clasicas introducidas por Kohonen que determinan el aprendizaje en un mapa auto-organizado.
Supongamos que los datos de entrada viven en el espacio real de n dimensiones 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 u
ltimo, denotemos 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 alg
un orden o alg
un procedimiento aleatorio.
Podemos dar ahora una formula explcita para el movimiento de las neuronas 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)
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
n
umero 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.
dmalla (i,BM U )
2(t)2
(1.3)
CAPITULO 1. INTRODUCCION.
es 1. Esto es una normalizacion que sera u
til 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:
(t) = 0 e ,
donde es una constante relacionada con el n
umero maximo de iteraciones
y tama
no del entorno inicial:
=
N umM axIteraciones
.
log(0 )
CAPITULO 1. INTRODUCCION.
La funcion de aprendizaje tiene una expresion similar:
t
(t) = 0 e ,
donde el coeficiente de aprendizaje inicial 0 es un n
umero 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 alg
un procedimiento aleatorio, como tomar valores aleatorios dentro de un rango significativo
o tomar directamente el valor de muestras elegidas aleatoriamente.
El n
umero maximo de iteraciones que llevara a cabo el algoritmo de aprendizaje lo hemos denotado N umM axIteraciones. Este n
umero puede ser, por
ejemplo, el n
umero de muestras, con lo que se realiza una iteracion para cada
muestra. Tambien puede existir alg
un criterio de convergencia que determine
la parada del algoritmo antes de llegar a N umM axIteraciones iteraciones.
Por ejemplo, se puede estudiar si el cambio de posicion en las neuronas es
suficientemente peque
no como para parar el proceso de aprendizaje.
Esto describe en reglas generales el aprendizaje en un mapa auto-organizado. En las aplicaciones practicas puede haber variaciones en las exponenciales usadas, la inicializacion de las neuronas, el criterio de convergencia,
etc.
Ejemplo 1.2.1. Como ejemplo pr
actico de los coeficientes de aprendizaje
supongamos que tenemos una malla unidimensional de 10 neuronas, que tomamos 100 muestras y que realizamos una iteraci
on por muestra. Seg
un las
f
ormulas vistas anteriormente tendremos los siguientes valores para el entorno 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, BM U ) = 0 y
14
CAPITULO 1. INTRODUCCION.
dmalla (i, BM U ) = 9 respectivamente.
0.9
neurona BMU
neurona a
distancia mxima
0.8
0.7
coeficiente
0.6
0.5
0.4
0.3
0.2
0.1
0
20
40
60
Nmero de iteracin
80
100
Figura 1.8: Coeficientes para la BMU y para una neurona a distancia maxima.
1.3.
CAPITULO 1. INTRODUCCION.
4 bordes) se conecta a 4 vecinos (distribucion ortogonal) o 6 vecinos (distribucion 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 cuadrada 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.
CAPITULO 1. INTRODUCCION.
mueven las neuronas.
Otro grupo de autores han apostado por conservar la topologa y distancias 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 metrics) 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 datos, 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 permitir aislar agregaciones de datos en problemas de clustering [20]. La siguiente
figura muestra una configuraci
on de datos con forma de dos medias lunas engarzadas, 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.
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.
19
CAPITULO 1. INTRODUCCION.
Variante 1.3.3. Sustituir la distancia eucldea entre la entrada y las neuronas por la distancia geodesica correspondiente.
Es interesante que aunque los trabajos citados usen distancia geodesica
para calcular la BMU no usan en ning
un 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 correspondiente.
1.4.
CAPITULO 1. INTRODUCCION.
Variante 1.4.1. Permitir la creaci
on 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 mismas 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 homogeneamente. 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 dimensiones una de las caractersticas mas destacadas de los mapas auto-organizados
no es de extra
nar 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 diferenciales 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 inversamente 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 aprendizaje 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 BM U : 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 segunda fase de este metodo consiste en construir una aplicacion en el sentido
correcto usando el teorema de Bayes.
Los dos u
ltimos trabajos comentados no son variantes de un mapa autoorganizado 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 alternativo al de clustering: en vez de decidir que datos pertenecen al mismo cluster
se construye un n
umero, la afinidad, entre cada par de datos de entrada.
Esta afinidad se construye a partir de un feature space o espacio de caractersticas 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 entrada 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 u
ltimo, 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
alg
un material es sometido a altas temperaturas para despues dejarlo enfriar
lentamente. Destaquemos aqu tambien que este artculo trata sobre segmentacion de imagenes en color y que trabaja en el espacio de color CIELU V ,
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 te
orico.
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
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 autoorganizado 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 BM U 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 .
Definici
on 2.0.1. Un mapa auto-organizado generalizado consta de dos espacios metricos X y N en cada uno de los cuales se dan dos poblaciones
iniciales de M puntos y de N puntos.
En cada iteraci
on 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 BM U 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.
CAPITULO 2. NUEVO ENFOQUE TEORICO.
Definici
on 2.0.3. Una mapa auto-organizado geodesico es un mapa autoorganizado generalizado en el que los espacios X y/o N son espacios geodesicos, es decir, espacios dotados de una geodesica entre cada par de puntos, y
el algoritmo de aprendizaje actualiza las nuevas posiciones mediante desplazamientos a lo largo de geodesicas.
2.1.
Recordemos que todas las variantes de la seccion 1.3 se centraban en modificar 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 Riemannianos. 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 creaci
on 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 poblaciones 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 contexto 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 oportunidades 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 datos 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 identificar 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 involucradas (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 de N 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 n
umero llamado afinidad a cada
par de puntos del espacio de entrada, no se enmarca dentro de los mapas autoorganizados 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 particular. Conforme a las definiciones del Captulo 2 estaramos considerando una mapa auto-organizado Riemanniano y geodesico, pero como escribimos 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
p
(t)G((t)) (s)tr dt,
(3.1)
In ,
d2 (x)
3.1.
Construcci
on de la densidad continua.
31
muestra
cluster
100
10
0.8
90
20
80
0.7
30
0.6
70
40
0.5
60
50
0.4
50
60
40
70
30
80
20
90
10
0.3
0.2
0.1
0.1
3.2.
100
0.2
0.3
0.4
0.5
0.6
0.7
0.8
10
20
30
40
50
60
70
80
90
100
Construcci
on del grafo de distancias.
(3.2)
d2 (p
1
(q p)In (q p)tr dt,
+ t(q p))
dt
=
d(p + t(q p))
||qp||
dt
qp ,
d(p + t ||qp||
)
N umSubdivisiones
X
i=1
1
d(p +
i
(q
N umSubdivisiones
p))
(3.3)
donde N umSubdivisiones es el n
umero 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 sabemos 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 n
umero de clusters que se conectan al cluster c es un n
umero fijo que denotamos N umV ecinosGraf o. La nocion de
cercana aqu no es distancia eucldea. En su lugar, ya que el cluster c tiene
una distribucion Gaussiana asociada, se eval
ua esta distribucion en el resto
33
El n
umero N umV ecinosGraf o es crtico. Como muestra el siguiente
ejemplo un n
umero bajo puede resultar insuficiente para mantener la conexion de la densidad original y un n
umero muy alto puede dar lugar a
aristas erroneas.
34
10
70
20
60
30
50
40
40
50
60
30
70
20
80
10
90
100
10
20
30
40
50
60
70
80
90
100
Las siguientes figuras muestran las muestras (crculos azules), los clusters
(cruces verdes) y las aristas del grafo (en negro) para valores de N umV ecinosGraf o
iguales a 1, 5, 10 y 15 (de izquierda a derecha y de arriba abajo):
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0
0.1
0
0.2
0.4
0.6
0.8
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0
0.2
0.4
0.6
0.8
0.2
0.4
0.6
0.8
0.1
0
0.2
0.4
0.6
0.8
35
3.3.
Construcci
on de las geod
esicas y la distancia geod
esica.
Una vez que hemos construido el grafo de la Seccion 3.2 estamos preparados 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
37
10
60
20
50
30
40
40
50
30
60
70
20
80
10
90
100
20
40
60
80
100
En la siguiente figura se muestran los clusters que se usaron para reconstruir 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 ve38
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
39
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 computacional en dimensiones superiores. En m dimensiones y con tama
no de un lado
m
del retculo L tenemos un total de L vertices. El algoritmo de Floyd tiene
una complejidad O(|V |3 ), donde |V | es el n
umero 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 n
umero
de clusters N umClusters, y por tanto de vertices, igual al n
umero de muestras de entrada N umM uestras. As que la complejidad es O(|N umM uestras|3 )
donde N umM uestras es el n
umero de muestras. Esto es mucho mas mane3m
jable que O(L ) en las aplicaciones.
40
O(L3m ) = O(512000000000) y
3.4.
Captulo 4
Aplicaci
on a la segmentaci
on de
im
agenes.
En este captulo explicamos los detalles de implementacion de un mapa 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 n
umero de muestras M se toma de la imagen
y se sit
uan en alg
un 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 sustituyendo 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 CIELU V . 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
CIELU V y todo el aprendizaje tiene lugar en este espacio de color CIELU V .
43
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
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 alg
un formato estandar como .bmp,
.gif, etc.
(B) Se toman N umM uestras puntos aleatorios de la imagen y se almacenan
sus valores RGB.
(C) Estos valores se convierten a valores CIELU V dando lugar a los
N umM uestras datos de entrada en el espacio CIELU V 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 CIELU V . 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
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
Ejemplo 4.0.1. En este ejemplo mostramos la ejecucion sobre una imagen
de tama
no 128 128. Se usan 100 muestras (N umM uestras = 100) y 16
neuronas o prototipos (N = 16). Tambien ponemos N umV ecinosGraf o = 5,
N umV ecinos = 5 y 0 = 1. Los par
ametros 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 CIELU V
decoradas con el color RGB original.
20
60
40
40
20
60
0
80
20
40
60
100
40
100
80
20
120
60
40
20
20
20
40
60
80
100
120
Figura 4.2: A la izquierda, grafo de clusters (clusters en verdes, aristas en negro) y distribucion final de las 16 neuronas (en rojo) en el espacio CIELU V .
A la derecha, reconstruccion de la imagen original usando los prototipos.
Como error cuadratico medio se obtuvo M SE = 0,045208.
En la siguiente seccion comentamos las distintas funciones dise
nadas en
MATLAB y C y que parte del algoritmo implementan. En la Seccion 4.2 se
45
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
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 generalizado en imagenes de bancos estandares y se han comparado los resultados
con los obtenidos en otros trabajos de ndole similar.
46
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
4.1.
Implementaci
on MATLAB.
Nombre funcion
Descripcion
Implementa
AnalizaImagen
Script principal
(A)
(B)
(C) (e)
AprendeRed
DesplazaNeurona
Geodesica
IniciaRed
IntegraInversoDensidad
Aproximacion a la integral de
lnea sobre un segmento del inverso de la densidad (Ecuacion (3.3))
Reconstruye
RecorreCamino
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
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 Pascal Getreuer (ColorSpace, Copyright (c) 2009, Pascal Getreuer). La u
ltima
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
TrainSmoothParzenWindows
TestSmoothParzen
Eval
ua la densidad continua en
un punto
GaussianaLocalSmoothParzen
Eval
ua la distribucion Gaussiana
de un cluster en un punto
colorspace
allshortestpaths
(C)
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
Nombre funcion
MEX
AnalizaImagen
NO
Hijos
Padres
IniciaRed AprendeRed
Reconstruye colorspace
TrainSmoothParzenWindows
allshortestpaths
NO
AprendeRed
NO
colorspace
NO
IniciaRed
MueveNeuronas
AnalizaImagen
AnalizaImagen Reconstruye
DesplazaNeurona
NO
GaussianaLocal-
SI
MueveNeuronas
MatrizDistancias-
SmoothParzen
Geodesica
Lineales Geodesica
SI
GaussianaLocalSmoothParzen IntegraInversoDensidad
RecorreCamino
IniciaRed
NO
MatrizDistanciasLineales
AnalizaImagen
allshortest-
paths
IntegraInversoDensidad
SI
TestSmoothParzen
MatrizDistanciasLineales, Geodesica
MatrizDistancias-
NO
Lineales
GaussianaLocal-
IniciaRed
SmoothParzen IntegraInversoDensidad
MueveNeuronas
NO
Geodesica
Desplaza-
AprendeRed
Neurona
Reconstruye
NO
RecorreCamino
SI
TestSmoothParzen
SI
TrainSmoothParzen-
Geodesica colorspace
AnalizaImagen
RecorreCamino
RecorreCamino
IntegraInversoDensidad
NO
AnalizaImagen
Windows
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
de geodesicas, Geodesica, esta optimizada de forma que se almacenan los
N umV 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 neuronas menos cuanto mas iteraciones se realizan esto resulta en una aceleracion
del aprendizaje en su parte final.
En la version final los N umV ecinos elegidos para construir geodesicas
se seleccionan como aquellos que minimizan la distancia eucldea y no como aquellos que minimizan la distancia Gaussiana (ver Seccion 3.3). As se
consigue mayor velocidad y mas estabilidad en los resultados. El segmento rectilneo entre una muestra y la entrada se elige como geodesica si las
geodesicas a traves del grafo dan todas distancia infinita (ver tres u
ltimos
parrafos de la citada seccion).
4.2.
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
En esta seccion describimos un estudio realizado para estudiar la calidad
del aprendizaje del mapa auto-organizado generalizado en funcion de los distintos parametros. Las pruebas se han realizado sobre la imagen del mandril
del Ejemplo 4.0.1 en tama
no 128 128 con N umM uestras = 100 muestras,
N umClusters = 100 clusters y N umN euronas = 10 neuronas (salvo cuando
son estos parametros los que se estan estudiando claro esta).
Empezamos por y . Fijando una muestra con N umM uestras =
100 pxeles aleatorios de la imagen hemos construido la densidad continua
d(x) : Rm R con N umClusters = 100 clusters para distintos valores de
y y evaluado la siguiente cantidad:
M
X
1
AN LL =
ln d(xi ),
N umM uestras i=1
(4.1)
donde {xi }i=1,...,N umM uestras son las muestras y ln es logaritmo neperiano. Las
siglas vienen del ingles average negative log likelihood. Esta cantidad AN LL
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.
12
11.5
11
10.5
10
9.5
9
100
80
60
40
20
0
Alpha*100
10
20
30
40
50
Gamma*100
51
60
70
80
90
100
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
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 n
umero de muestras N umM uestras tomadas para
construir la densidad y tambien del n
umero de clusters N umClusters que
conforman la densidad. La siguiente grafica muestra valores de M SE para
N umM uestras entre 100 y 500 y N umClusters entre 20 y 100:
0.03
0.025
0.02
0.015
500
450
400
350
300
100
90
250
80
70
200
NumMuestras
60
50
150
40
100
30
20
NumClusters
En general y como era de esperar el error cuadratico medio M SE disminuye conforme aumentan el n
umero de muestras N umM uestras o el n
umero
de clusters N umClusters. En la siguiente seccion hacemos un estudio mas
detallado sobre la dependencia del aprendizaje de estos parametros.
Los parametros N umV ecinosGraf o y N umV 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 N umV ecinosGraf o y N umV ecinos entre 1 y 20. Los parametros y se fijaron en los optimos 0,1 y 0,14 encontrados anteriormente. La
siguiente figura muestra el M SE para los distintos valores de N umV ecinos
y N umV ecinosGraf o.
52
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
0.04
0.035
0.03
0.025
0.02
0.015
20
15
20
15
10
10
5
NumVecinosGrafo
5
0
NumVecinos
53
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
2
1.8
0.9
1.6
0.8
1.4
0.7
1.2
0.6
0.8
0.5
0.6
0.4
0.4
0.3
0.2
20
40
60
80
100
120
140
160
180
200
0.2
20
40
60
80
100
120
140
160
180
200
54
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
4.3.
Resultados.
M SE =
PN umP ixeles
i=1
(4.3)
donde notese que el valor M SE se calcula usando para ello todos los pxeles
de la imagen.
Antes de pasar al estudio comparativo hemos estudiado en mas profundidad la dependencia del P SN R con respecto a N umM uestras, N umClusters
y N umM axIteraciones con el metodo de aprendizaje de dos fases descrito
en la seccion anterior. Para ello hemos calculado la media y desviaciones
tpicas de P SN R sobre una muestra de 10 ejecuciones sobre la imagen del
mandril en tama
no 128 128, tal y como muestran las siguientes tablas:
NumClusters NumNeuronas
6
16
50
19.04 22.18
100
19.61 22.98
150
19.41 23.09
200
19.12 23.2
32
23.58
23.77
24.65
25.08
64
23.84
24.74
25.65
26.25
128
23.99
25.19
26.09
27.02
256
24.15
25.48
26.56
27.39
55
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
NumClusters NumNeuronas
6
16
32
50
1.25 0.6 0.57
100
1.58 0.32 0.68
150
1.54 0.39 0.59
200
0.88 0.35 0.37
64
128
0.54 0.56
0.51 0.39
0.51 0.52
0.38 0.2
256
0.28
0.59
0.37
0.53
28
27
26
25
24
23
22
21
20
19
200
256
150
128
64
100
32
16
NumClusters
50
56
NumNeuronas
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
La siguientes tablas recopilan informacion sobre valores P SN R variando
N umM uestras frente a N umN euronas:
NumMuestras NumNeuronas
6
16
200
19.61 22.77
500
19.97 22.93
1000
19.7 22.99
2000
20.21 23.2
5000
19.56 23.21
32
23.85
24.08
24.23
24.26
24.31
64
128
256
24.87 25.31 25.25
24.55 25.37 25.57
24.78 25.46 25.91
25
25.78 25.99
25.36 25.79
26
64
0.51
0.45
0.59
0.18
0.22
128 256
0.49 0.45
0.37 0.34
0.27 0.31
0.15 0.16
0.15 0.17
57
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
26
25
24
23
22
21
20
19
5000
256
2000
128
1000
64
32
500
16
NumMuestras
200
NumNeuronas
NumNeuronas
6
16
18.81 22.63
18.6 22.54
18.69 22.54
18.96 22.6
19.23 22.59
32
24.03
24.18
24.22
24.25
24.27
64
24.84
24.96
24.98
24.98
24.97
128
25.25
25.32
25.35
25.36
25.36
256
25.15
25.17
25.17
25.17
25.17
58
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
NumMaxIteraciones
NumNeuronas
6
16
32
64
1.33 0.55 0.63 0.46
1.42 0.8 0.57 0.47
1.67 0.83 0.59 0.49
1.54 0.84 0.59 0.5
1.63 0.86 0.58 0.51
200
500
1000
2000
5000
128
0.42
0.42
0.42
0.42
0.43
256
0.56
0.57
0.57
0.57
0.57
26
25
24
23
22
21
20
19
18
5000
256
2000
128
1000
64
32
500
16
NjumMaxIteraciones
200
NumNeuronas
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
El estudio comparativo lo dividimos en dos partes. En la primera ejecutaremos el algoritmo de aprendizaje de dos fases de la Seccion 4.2 hasta
alcanzar N umM axIteraciones. En la segunda parte a
nadiremos un criterio
de convergencia a dicho algoritmo.
60
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
4.3.1.
Metodo
NumNeuronas
16
32
64
FS-SOM 24.5 23 20.5
Mandrill
SA-SOM 25.5 28
30
FS-SOM 28.5 27.5 25
Lena
SA-SOM 29.5 32.5 34
FS-SOM 26
25
23
Peppers
SA-SOM 27 28.5 30.5
128 256
19
18
31.5 33
22
22
36
37
21 20.5
32
33
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
imagenes en tama
no 128 128 para obtener los siguientes resultados, donde
las medidas estadsticas se realizaron sobre muestras de 10 ejecuciones:
Imagen
PSNR
NumNeuronas
16
32
Media
23.14 24.19
Mandrill
Desviacion tpica 0.33 0.46
Media
27.19 29.61
Lena
Desviacion tpica 0.89 0.31
Media
24.84 26.03
Peppers
Desviacion tpica 0.33 0.54
64
25.2
0.19
30.87
0.43
27.16
0.19
128
25.92
0.26
31.53
0.3
27.72
0.2
256
26.44
0.26
32.33
0.55
28.06
0.15
62
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
38
Mandrill FSSOM
Mandrill SASOM
Mandrill
Lena FSSOM
Lena SASOM
Lena
Peppers FSSOM
Peppers SASOM
Peppers
36
34
32
PSNR
30
28
26
24
22
20
18
16
32
64
NumNeuronas
128
256
Figura 4.4: Valores P SN R para las tres imagenes Mandrill (en azul), Lena
(en rojo) y Peppers (en verde) y los tres metodos FS-SOM (lnea continua),
SA-SOM (lnea rayada) y nuestro mapa auto-organizado generalizado (lnea
punteada).
Las siguientes imagenes muestran reconstrucciones RGB tpicas de las
imagenes Mandrill, Lena y Peppers en tama
no 128 128 para 16, 64 y 256
neuronas y los demas parametros iguales a los usados en la tabla anterior:
63
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
PSNR
20.75
23.53
22.75
64
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
Imagen
Mandrill
Lena
Peppers
Neuronas NumMaxIteraciones
6
271
4
219
6
330
Neuronas NumMaxIteraciones
6
135
4
108
6
165
65
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
4.3.2.
La segunda parte del estudio comparativo la realizaremos sobre las imagenes Flowers, Sailboat, Pens y Yacht, que son de tama
nos 500362, 512512,
512 480 y 512 480 respectivamente:
66
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
Metodo
Neuronas Iteraciones
SOM
16
18064
Flowers FS-SOM
16
892
LARFSOM
16
2636
SOM
16
4066
Sailboat FS-SOM
16
389
LARFSOM
16
437
SOM
16
13504
Pens
FS-SOM
16
449
LARFSOM
16
599
SOM
16
3851
Yacht
FS-SOM
16
270
LARFSOM
16
364
PSNR
21.95
20.50
24.82
21.12
21.69
24.45
20.55
21.68
24.74
20.07
21.72
24.35
||ni (t + 1) ni (t)||2
0,0001.
N
Es decir, que paramos el algoritmo si la diferencia (al cuadrado) media
entre las posiciones de las neuronas es menor que 104 o si alcanzamos
N umM axIteraciones. Hemos calculado los siguientes valores estadsticos
i=1
67
A LA SEGMENTACION
DE IMAGENES.
CAPITULO 4. APLICACION
sobre 10 ejecuciones con N umM uestras = 1000, N umClusters = 100,
N umN euronas = 16 y N umM axIteraciones = 10000:
Imagen
Neuronas
Flowers 16
Sailboat 16
Pens
16
Yacht
16
68
Captulo 5
Discusi
on 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 simetra 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 hacan en el concepto clasico
de mapa auto-organizado. Creemos que este concepto podra dar a nuevas
desarrollos o variaciones de mapas auto-organizados.
Como aplicacion hemos dise
nado 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 P SN R
obtenidos se encuentran entre aquellos obtenidos por otros mapas auto-organizados recientes orientados a la segmentacion de imagenes en color y llegan
69
Y CONCLUSIONES.
CAPITULO 5. DISCUSION
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 algoritmo, 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 autoorganizado 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 n
umero de iteraciones
bajo, mientras que para n
umero de iteraciones alto los valores P SN R divergen mas de los otros metodos estudiados. Esto no es de extra
nar 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 n
umero de muestras y de clusters equiparable
a un n
umero 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 tpica del inverso de la densidad entre
un cluster y una muestra sera como se muestra en la siguiente figura:
Y CONCLUSIONES.
CAPITULO 5. DISCUSION
Y CONCLUSIONES.
CAPITULO 5. DISCUSION
y a la distancia geodesica consideradas aqu convergen a las geodesicas y a las
distancias geodesicas teoricas respectivamente. Esto dara una base mas solida 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 P SN R para segmentacion de imagenes en la
bibliografa es interesante que, aunque frecuentemente se muestran valores
para distintos tama
nos de imagenes (como 128 128, 256 256 y 512 512),
los valores P SN R obtenidos deberan ser, al menos teoricamente, iguales. Si
tomamos M muestras de una imagen en tama
no TX TY elegidas con pares
de proporciones aleatorias entre 0 y 1, estos mismos pares daran las mismas
muestras en la misma imagen en tama
no TX TY con > 1.
Dado que las muestras son las mismas el algoritmo de aprendizaje debera
encontrar los mismos prototipos para ambas ejecuciones. Finalmente, el valor
M SE para la imagen grande
M SE =
P2 TX TY
i=1
Y CONCLUSIONES.
CAPITULO 5. DISCUSION
diante posiciones de las neuronas en una malla de vertices tridimensional.
Esto sera sin duda computacionalmente muy costoso, pero arrojara cierta
luz sobre la calidad de los metodos SOM en general. Es claro que tal mnimo 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 M SE es funcion continua de
las posiciones de las neuronas (a pesar de que la funcion BM U no es funcion
continua de la variable de entrada).
Se puede probar que si queremos obtener el valor M SE mnimo global
con un error menor que > 0 es suficiente tomar la distancia entre vertices de la malla suficientemente peque
na. Para convencerse, supongamos que
nb1 , . . . , nc
N son las posiciones de las neuronas (posiblemente no en la malla)
que dan un valor M SE mnimo global. Ahora podemos tomar suficientemente peque
no tal que la distancia de cada pxel xi a una neurona que no
este a la misma distancia que la neurona BM U (xi ) sea mayor que la distancia
a BM U (xi ) mas , en formulas:
tal que ||xi nbj || > ||xi BM U (xi )|| + si ||xi nbj || > ||xi BM U (xi )||,
para cada pxel xi y cada prototipo nbj . 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 nb1 , . . . , nc
N
respectivamente. Por la eleccion de , si la neurona BM U para el pxel xi
era el prototipo nbj ahora tendremos tambien que la neurona mas cercana es
nj . Considerando mas peque
no si hace falta se comprueba entonces que el
M SE con respecto a n1 , . . . , nN difiere del M SE con respecto a nb1 , . . . , nc
N,
es decir, difiere del mnimo global, en menos de .
73
Ap
endice A
Geometra y Topologa.
En esta seccion introducimos varias nociones matematicas que se usan en
el trabajo. Para una version mas detallada se remite al lector a [4]. Empezamos con la nocion de espacio metrico.
Definici
on A.0.1. Un espacio metrico es un conjunto M no vaco 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) (simetra),
d(x, y) d(x, z) + d(z, y) (desigualdad triangular).
La funcion d es la metrica del espacio.
Por ejemplo, el espacio eucldeo Rm es un espacio metrico con la metrica
eucldea
d((x1 , . . . , xm ), (y1 , . . . , ym )) =
p
(x1 y1 )2 + . . . + (xm ym )2 .
(A.1)
(A.2)
APENDICE
A. GEOMETRIA Y TOPOLOGIA.
En el espacio metrico R2 las bolas corresponden a discos rellenos sin la circunferencia 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 suficientemente peque
no tal que B(x, r) U . Es decir, que si un punto esta en U
tambien lo esta una peque
na 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 ning
un punto de la circunferencia que lo delimita. Una esfera en R3
es abierto solo si no contiene ning
un punto de la superficie esferica que lo
delimita.
Cualquier subconjunto de un espacio metrico M 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 eucldea 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 Rm 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
APENDICE
A. GEOMETRIA Y TOPOLOGIA.
A esta aplicacion se le llama funcion de transicion y convierte las m coordenadas que asigna a un punto de U V a las m coordenadas que les asigna
.
Definici
on A.0.2. Una variedad diferenciable es un espacio metrico M con
una familia de entornos coordenados {U , } tales que
cada punto de M est
a 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 .
Definici
on A.0.3. Sea M una variedad diferenciable. Una curva en M es
una aplicaci
on : (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 Rm
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 Tx M 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 Tx M queda determinada asociando a cada clase de
76
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.
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 tama
no de un vector v Tx M esta dado por
p
G(x)(v, v) R.
tr
significa traspuesta.
Z bp
Z bp
(A.4)
(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 dife2
i
renciales ordinarias en d
y ddt2i cuyas soluciones proporcionan (localmente)
dt
78
APENDICE
A. GEOMETRIA Y TOPOLOGIA.
las geodesicas. Se escriben en termino de los smbolos 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
topologas inducidas por las metricas son iguales.
Como en la Ecuacion (A.5) estamos tomando un nfimo no tenemos asegurado que exista una curva minimizante min entre x e y que tenga exactamente 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 donde existe mas de una. Se puede dar un ejemplo sencillo de esto u
ltimo: en
la superficie esferica las geodesicas o curvas minimizantes son arcos de circunferencias 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 eucldeo Rm usado en el mapa
auto-organizado generalizado del Captulo 3 es de la forma
G(x) =
Im ,
d2 (x)
APENDICE
A. GEOMETRIA Y TOPOLOGIA.
lm||x|| d(x) = 0.
Usando el teorema de Hopf-Rinow [4, VII.7.7] no es difcil demostrar usando la segunda propiedad de las anteriores que siempre habra al menos una
geodesica en nuestras condiciones. Por otro lado, una densidad degenerada
con una u
nica distribucion Gaussiana simetrica es un ejemplo donde es facil
encontrar dos puntos con mas de una geodesica entre ellos.
80
Ap
endice 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 mnimas
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 recursion usando la segunda matriz. El algoritmo de Floyd es de complejidad
O(|V |3 ), donde |V | es el n
umero 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
APENDICE
B. GLOSARIO.
(t, i, x(t)) =
si i = BM U
si i 6= BM U .
Claramente no hay topologa en la malla de de neuronas en cuantificacion vectorial (o siendo mas precisos, se dota al conjunto de neuronas de la
topologa discreta).
Espacios de color CIELU V y CIELAB: Las siglas CIELU V 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 espa82
APENDICE
B. GLOSARIO.
cio de color CIE 1931 XY Z. Ambos intentan conseguir percepcion uniforme, 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 CIELU V RGB son no lineales.
Espacio de color RGB: Espacio de color que no satisface la percepcion
uniforme (ver espacios de color CIELAB y CIELU V ).
Funci
on MEX de MATLAB: MEX es la abreviatura de MATLAB
executable. Un fichero MEX es una librera dinamica compilada a partir de
codigo fuente C, C + + o F ORT RAN 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 librera 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.
Segmentaci
on de im
agenes en color: En el campo de la vision artificial la segmentacion de imagenes es un proceso por el cual los pxeles de una
imagen se etiquetan para crear grupos que comparten ciertas caractersticas
visuales. Ejemplos de estas caractersticas son la textura, el color o la intensidad. 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 trabajo siempre se refiere a agrupar los pxeles con respecto a su color creando
as zonas de color homogeneo en una imagen a color.
83
Bibliografa
[1] Araujo A.R.F., Costa D.C., Local adaptive receptive field self-organizing
map for image color segmentation, Image and Vision Computing, Volume 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 approximations to geodesics on embedded manifolds, 2000, preprint available at http://isomap.stanford.edu
[3] Bishop C.M., Svensen M., Williams C.K.I., GTM: The Generative Topographic Mapping, Neural Computation, January 1, 1998, Vol. 10, No.
1, pages 215-234.
[4] Boothby W.M., An introduction to differentiable manifolds and Riemannian geometry, Academic Press, 1986, Orlando, Florida.
[5] Chang C., Xu P., Xiao R., Srikanthan T., New adaptive color quantization 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 SelfOrganizing Map, Neural Networks, IEEE - INNS - ENNS International Joint Conference on, p. 6015, IEEE-INNS-ENNS International Joint
Conference on Neural Networks (IJCNN00)-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):92536.
84
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, Finland, 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 selforganizing maps in learning metrics, IEEE Trans Neural Netw., 2001,
12(4), 936-47.
[12] Li J. X., Visualization of high-dimensional data with relational perspective map, Information Visualization 3, 1 (Mar. 2004), 49-59.
[13] Lopez-Rubio E., Mu
noz-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 nonparametric 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 international Work-Conference on Artificial Neural Networks: Part I: Bioinspired 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
BIBLIOGRAFIA
[17] Omer I., Werman M., The Bottleneck Geodesic: Computing Pixel Affinity, 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
(CVPR06), 2006.
[18] Peltonen J., Klami A., Kaski S., Improved learning of Riemannian metrics for exploratory analysis. Neural Netw. 17, 8-9 (Oct. 2004), 10871100, 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-ICSR24, 2009.
[20] Rattray M., A Model-Based Distance for Clustering, Proc. of International Joint Conference on Neural Networks, 2000, p. 40134016.
[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 quantization, Neurocomput. 72, 16-18 (Oct. 2009), 3760-3770, DOI=
http://dx.doi.org/10.1016/j.neucom.2009.06.002
86