Construcción y exploración de SOM usando MNIST
Juan Camilo Rojas Ortiz Juan Camilo Angel Hernandez
Ingenierı́a de sistemas Ingenierı́a de sistemas
Escuela Colombiana de Ingenierı́a Julio Garavito Escuela Colombiana de Ingenierı́a Julio Garavito
Bogotá, Colombia Bogotá, Colombia
juan.rojas-o@mail.escuelaing.edu.co juan.angel-h@mail.escuelaing.edu.co
Abstract—En este trabajo se desarrolla un mapa auto organi- SOM para el problema de clustering usando varios datasets
zado (SOM) con el objetivo de explorar dicha tecnologı́a, ası́ como como IRIS y MNIST, el enfoque principal de los trabajos
agrupar y visualizar los datos presentes en el dataset MNIST, encontrados es la visualización de los datos las figuras 1 y
para esto se contruyó un modelo de un SOM básico usando
las funciones propuestas por la literatura, donde se realizó la 2 muestran los resultados de visualización de los trabajos del
sintonización de la tasa de aprendizaje inicial y del parametro δ. usario asparago [4] y el usuario welgum [5] respectivamente,
Como resultados se obtuvo que el modelo es capaz de mostrar estos trabajos si bien muestran varias formas de visualización
una visualizacion que permite distinguir claramente entre los no muestran una métrica que permita conocer el rendimiento
grupos presentes, las metricas de evaluación usadas fueron la del modelo, en el modelo del usuario helvecioneto [6] se
cuantificación de error promedio y el error topográfico, donde
se el mejor modelo obtuvo un error promedio de 5.41 y un error muestra el cluster de la figura 3 y se presentan las métricas de
topografico de 0.148 utilizando los datos de prueba, este resultado error de cuantización y error topográfico, el modelo presentado
se encuentra por debajo del modelo de referencia que cuenta con tiene un error de cuantización de 0.1565 y un error topográfico
un error promedio de 0.1565 y un error topográfico de 0.1513. de 0.1513. El objetivo de nuestro trabajo es permitir la
Index Terms—Self Organizing Map, Mnist, Natural computing, visualización de los clusters y aplicar las métricas presentadas
Neural computing, Clustering
en el trabajo de helvecioneto, buscando obtener unos errores
I. I NTRODUCCI ÓN similares a los presentados por este modelo.
En los últimos años, el aumento en el uso de dispositivos
electrónicos con acceso a internet ha llevado a un aumento en
la generación de datos de diferentes tipos, estos datos han
tomado gran valor al ser usados en distintos modelos que
permiten extraer información adicional útil para el campo de
aplicación, sin embargo, muchas veces es necesario hacer un
estudio previo sobre estos datos para contar con más infor-
mación al momento de construir un modelo apropiado. Uno
de los procedimientos que se puede realizar es la construcción
de clusters o agrupamientos, esta técnica ofrece 2 principales
ventajas, la primera es saber cómo se agrupan y relacionan los
datos, y la segunda es que permite visualizar datos de muchas
dimensiones proyectados en espacios de 2 y 3 dimensiones.
Existen distintos algoritmos para realizar clustering, ejem-
plos de esto son el algorimo K-means, redes neuronales
artificiales SOM(Self-organizing map), Algoritmos genéticos
[1] y Algoritmos basados en colonias de hormigas [2].En
este trabajo se propone el uso de una red neuronal artificial
SOM para realizar el clustering del dataset MNIST (Modified Fig. 1. Visualización de resultados del usuario asparago
National Institute of Standards and Technology database) [3],
el cual está compuesto por imágenes de dı́gitos escritos a III. M ARCO T E ÓRICO
mano.El principal objetivo de este trabajo es visualizar como A. Dataset
se agrupan los datos de MNIST y establecer una métrica útil
para medir el rendimiento de la red neuronal en la construcción MNIST es considerado un dataset estándar para probar
de clusters rápidamente teorı́as y algoritmos de clasificación ya que las
muestras ya han sido preprocesadas y las diferentes clases
II. T RABAJOS RELACIONADOS están balanceadas, gracias a lo anterior y por la naturaleza
Se encontraron varios trabajos relacionados en la plataforma de este dataset, este nos es bastante util para probar distintas
Kagle, en los que se explora el uso de las redes neuronales tecnicas de clustering, MNIST contiene un total de 70000
Fig. 2. Visualización resultados del usuario welgum
Fig. 4. Imágenes de muestra del dataset MNIST, de [7]
C. Mapa auto-organizado
Mapa auto-organizado o Self organizing map (som) es una
tecnica de clustering introducida por Teuvo Kohonen en la
decada de 1980, este es un tipo de red neuronal artificial
cuyo aprendizaje es no supervisado, este tipo de red produce
una representación de baja dimensión (generalmente de dos
dimensiones) del espacio de entrada correspondiente a las
muestras de entrenamiento, esta representación se conoce
como map. Los mapas auto-organizados se diferencian
de otras redes neuronales en la medida en que aplican el
aprendizaje competitivo y no un aprendizaje con corrección
de errores, además utilizan una función de vecindad para
preservar las propiedades topológicas del espacio de entrada.
La figura 5 representa la arquitectura de un mapa auto-
Fig. 3. Visualización resultados del usuario helvecioneto organizado.
muestras. Todas estas imágenes están en escala de grises en
un rango entre 0 y 255, dichas imagenes tienen un tamaño
de 28 × 28 pı́xeles donde la dimensión de cada vector de
la muestra es de 28 * 28 = 784, además se aplicó una
normalización a todas las muestras para lograr un mejor
rendimiento, dicha normalizacion consiste en dividir el valor
de cada pixel sobre 255, logrando de esta manera que dichos
valores estén entre un rango de 0 y 1.
En la figura 4 se pueden observar algunos ejemplares del
dataset MNIST para cada uno de los números presentes.
Fig. 5. Mapa auto-organizado
La arquitectura de SOM es muy similar a la arquitectura
B. Clustering
de red neuronal. SOM solo tiene dos capas: una capa de
La agrupación o clustering es la tarea de dividir una entrada y una capa de salida (mapa de caracterı́sticas) cada
población o puntos de datos en varios grupos (clusters) de capa compuesta por unidades o neuronas. SOM inicia el
modo que los puntos de datos de los mismos grupos sean mapeo de caracterı́sticas inicializando un vector de pesos, los
más similares entre ellos que los de otros grupos. En otras pesos representan las caracterı́sticas de la neurona y estos se
palabras, el objetivo final es crear grupos segregados los generan generalmente de forma aleatoria. La motivación de
cuales caractericen rasgos similares. [8]. usar el vector de pesos como caracterı́sticas de las neuronas
es mover cada una de las muestras de los datos dados a un
espacio (mapa de caracterı́sticas). al mapa. [9]
Luego se selecciona aleatoriamente un vector de muestra Generalmente se utilizan dos metricas de evaluación en este
y se busca en el mapa de vectores de peso para encontrar tipo de problemas.
qué peso representa mejor esa muestra (best matching unit • Cuantificación de error promedio: Distancia media entre
o BMU), es decir el peso con la distancia mas corta a la cada vector de datos y su BMU. Mide la resolución del
muestra. En este paso, la vecindad de la BMU se calcula en mapa.
base a una función de decaimiento exponencial. El tamaño del • Error topográfico: Proporción de todos los vectores de
vecindario de la BMU disminuye con el tiempo. La siguiente datos para las cuales la primera y segunda UMB no son
ecuación muestra la función de disminución exponencial. unidades adyacentes.Mide la preservación de la topologı́a.
−t
IV. M ETODOLOG ÍA
δ(t) = δ0 e λ (1)
Implementamos un mapa auto-organizado con el objetivo
Donde de realizar un analisis de clustering del dataset MNIST, el
t : Es el tiempo actual som implementado es un modelo clasico sin ningun cambio
δ0 : Es el radio en el tiempo inicial respecto al modelo original, nuestro modelo consiste en dos
λ : Es una constante capa, donde la primera tiene 784 neuronas (28*28 pixeles),
representando cada una de las 500 muestras de entrenamiento,
Luego se actualizan los pesos de la BMU y su vecindario. y la segunda capa consiste de 40 x 40 neuronas, representando
Los vecinos aprenden menos mientras estan mas lejos de el mapa de caracteristicas.
la BMU. La siguiente ecuación muestra el cálculo para
actualizar las neuronas. Al final obtendremos un mapa de caracteristicas donde se
podrá evidenciar una serie de grupos o clusters los cuales
caracterizan un número concreto, además al visualizar las
wt+1 = wt + ηt Lt (xt − wt ) (2) neuronas de dicho mapa podremos ver el parecido al numero
Donde correspondiente al grupo.
t : Es el tiempo actual
L : Es la tasa de aprendizaje, que también es una función Utilizaremos la cuantificación de error promedio y el error
de disminución exponencial como la anterior topográfico como metricas de evaluación en este trabajo.
η : Es la tasa de influencia (función de disminución
V. R ESULTADOS
exponencial) que decide que tanto cambio sufre la
vecindad, esta se contrae gradualmente. Se realizaron una serie de experimentos con el fin de
determinar la mejor tasa de aprendizaje inicial y δ inicial,
La siguiente ecuación es la expresión de la tasa de apren-
durante dichos experimentos se utilizaran las metricas
dizaje:
anteriormente mencionadas.
−t
L(t) = L0 e λ (3)
A continuacion se observan los resultados del error
Donde promedio y topografico respecto a la tasa de aprendizaje
t : Es el tiempo actual inicial y δ inicial, siendo este 40*x donde x es el parametro
L0 : Es la tasa de aprendizaje en el tiempo inicial que sintonizaremos mediante los experimentos, utilizaremos
λ : Es una constante los datos de entrenamiento en esta fase.
La siguiente ecuación es la expresión de la tasa de influen- Viendo los resultados de lso experimentos decidimos
cia: escoger como parametros 0.5 y 0.1 para la tasa de aprendizaje
−distance2 inicial y parametro de δ inicial respectivamente, esto para
η(t) = e 2δ(t)2 (4) tener un equilibrio entre las dos metricas de errores ya que
Donde tienen un comportamiento inverso.
t : Es el tiempo actual Con estos parametros elegidos tenemos un error promedio
δ(t) : Es el tamaño del vecindario en el tiempo t de 5.41 y un error topografico de 0.148 respecto a los datos de
distance : Es la distancia del BMU a las demas neuronas prueba, a continuación se podrá observar una representación
Finalente despues de varias iteraciones del proceso visual del mapa, de las neuronas y el mapa de calor o heat
descrito anteriormente el mapa crece y formará diferentes map del modelo final.
formas estables. Generalmente, forma formas cuadradas, En la figura 8 podemos observar algunas neuronas presentes
rectangulares, hexagonales, etc en el espacio correspondiente en el mapa donde es evidenciable el parecido con las muestras
Fig. 6. Cuantificación de error promedio (train)
Fig. 8. Visualizacion de las neuronas
Fig. 7. Error topográfico (train)
de entrenamiento.
Finalmente podemos observar una representación visual
del mapa donde se segregan los grupos según el número que
representan, además del heat map donde las regiones mas
oscuras identifican los clusters.
VI. C ONCLUSIONES
Gracias a este trabajo podemos ver la capacidad que
tienen los mapas auto organizados para identificar claramente
similitudes presentes en el espacio de entrada y de esta manera
crear grupos segregados o clusters, estos clusters agrupan Fig. 9. Mapa de calor
muestras similares entre si por lo que mayoritariamente se
observan grupos homogeneos es decir con muestras que
el mismo propósito como el algoritmo K-means o el algoritmo
caracterizan un unico número, además los clusters cercanos
de clustering basado en colonia de hormigas
son aquellos clusters cuya etiqueta o número identificado son
similares, por ejemplo el 9 del 4.
Tambien se puede observar que el buen desempeño del
modelo desarrollado en este trabajo mediante la visualizacion
de las diferentes neuronas y las metricas de evaluación
utilizadas donde se obtuvo un error promedio de 5.41 y un
error topografico de 0.148,esto posiciona al modelo muy por
debajo por el propuesto por el usuario helvecioneto a pesar
de la clara separación de grupos que se puede observar en las
gráficas.
VII. T RABAJO FUTURO
Teniendo en cuenta que el modelo resultante se encuentra
por debajo del modelo que fue tomado de referencia de los
trabajos relacionados, se propone realizar una implementación
de SOM con arquitectura hı́brida, es decir , incluir capas
de propagación adelante para procesar previamente los datos
antes de ingresarlos a la capa de SOM con el objetivo de
intentar reducir tanto el error topográfico como el error de
cuantización.También consideramos importante comparar el
rendimiento del algoritmo con respecto a otros algoritmos con
Fig. 10. Representacion del mapa
R EFERENCES
[1] L. Rokach and O. Maimon, Clustering Methods, pp. 321–352. Boston,
MA: Springer US, 2005.
[2] L. N. d. Castro, Fundamentals of Natural Computing (Chapman Hall/Crc
Computer and Information Sciences). Chapman Hall/CRC, 2006.
[3] Y. LeCun and C. Cortes, “MNIST handwritten digit database,” 2010.
[4] K. u. asparago, “Unsupervised learning with som.”
urlhttps://www.kaggle.com/asparago/unsupervised-learning-with-som.
[5] K. u. welgum, “Kohonen self-organizing map (som) on kannada mnist.”
urlhttps://www.kaggle.com/welgum/kohonen-self-organizing-map-som-
on-kannada-mnist.
[6] K. u. helvecioneto, “Som examples.”
urlhttps://www.kaggle.com/helvecioneto/som-examples.
[7] “Mnist database.” https://www.wikiwand.com/en/MNIST database. Ac-
cessed on 2020-06-4.
[8] S. KAUSHIK, “An introduction to clustering and different methods
of clustering.” https://www.analyticsvidhya.com/blog/2016/11/
an-introduction-to-clustering-and-different-methods-of-clustering/,
NOV 2016. Accessed on 2020-12-08.
[9] “Self organizing map.” https://www.saedsayad.com/clustering som.htm.
Accessed on 2020-12-08.