Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

8
1 ResumenEn este reporte se han entrenado y probado un conjunto de clasificadores para dar solución al problema del reconocimiento de dígitos manuscritos. Se han utilizado vectores verticales y horizontales para la reducción de dimensionalidad y se han entrenado modelos con las características obtenidas usando SVM, KNN, Perceptron Multicapa y Random Forest. La menor tasa de error obtenida fue de 3.6% usando RandonForest con una configuración de 120 árboles y 68 características evaluadas. Index TermsReconocimiento de dígitos, MNIST, Perceptron Multicapa, Bayes, Random Forest. I. INTRODUCCIÓN l reconocimiento de dígitos manuscritos es un sub problema del reconocimiento de caracteres, en donde se necesita determinar para una imagen de un manuscrito que numero del 0 al 9 le corresponde como categoría. Al ser uno de los problemas fundamentales en el diseño de sistemas de reconocimiento prácticos, el reconocimiento de dígitos es un campo activo de investigación. Las aplicaciones inmediatas de las técnicas de reconocimiento de dígitos incluyen ordenamiento de correo automático, lectura automática de direcciones, control de transacciones bancarias, etc. Existen muchos enfoques de extracción de características que intentan mejorar la habilidad de predicción [1]. En [2] se presentan distintos desafíos presentes en el reconocimiento de dígitos como el hecho de que algunos de estos se pueden confundir fácilmente debido a la similitud de sus características primitivas y su estructura. La complejidad puede venir también del hecho de que las imágenes de los dígitos tengan algún tipo de ruido, deformación o mala segmentación del carácter. En este reporte se han entrenado y probado un conjunto de clasificadores para dar solución al problema del reconocimiento de dígitos manuscritos. Se han utilizado vectores verticales y horizontales para la reducción de dimensionalidad y se han entrenado modelos con las características obtenidas usando Perceptron Multicapa, BayesNet, KNN y Random Forest. Finalmente, se presentan los resultados comparativos en base a tiempo y precisión. El proceso realizado se describe en el siguiente gráfico, que discrimina tres fases para el entrenamiento y para la clasificación: Figura 1: Etapas en la elaboración del modelo de aprendizaje. Preprocesamiento: El preprocesamiento implica etapas de normalización y limpieza de los datos que serán utilizados como entrada para la siguiente etapa. Extracción, selección y medición de características: En el entrenamiento, la extracción y selección de características permitirá entrenar el modelo con el conjunto de datos de entrenamiento. La selección realizada se basa en la experimentación con varias configuraciones hasta encontrar el menor error posible. Aprendizaje y clasificación: Durante el entrenamiento, las características seleccionadas serán utilizadas para que el sistema aprenda e infiera un modelo que luego, durante la prueba, servirá para predecir a que clase (clasificar) pertenece cada elemento que se esté evaluando. II. DESCRIPCIÓN Y PREPROCESAMIENTO DE LOS DATOS La base de datos MNIST contiene 60,000 dígitos del cero al nueve para entrenar el sistema de reconocimiento y además otros 10,000 dígitos para ser usados como datos de prueba. Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST Alvaro Tolentino Emilio García Gregory Valderrama Javier Crisostomo Miguel Koo Pontificia Universidad Católica del Perú, Lima - Perú E

description

En este reporte se han entrenado y probado un conjunto de clasificadores para dar solución al problema del reconocimiento de dígitos manuscritos. Se han utilizado vectores verticales y horizontales para la reducción de dimensionalidad y se han entrenado modelos con las características obtenidas usando SVM, KNN, Perceptron Multicapa y Random Forest. La menor tasa de error obtenida fue de 3.6% usando RandonForest con una configuración de 120 árboles y 68 características evaluadas.

Transcript of Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

Page 1: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

1

Resumen—En este reporte se han entrenado y probado un

conjunto de clasificadores para dar solución al problema del

reconocimiento de dígitos manuscritos. Se han utilizado vectores

verticales y horizontales para la reducción de dimensionalidad y

se han entrenado modelos con las características obtenidas

usando SVM, KNN, Perceptron Multicapa y Random Forest. La

menor tasa de error obtenida fue de 3.6% usando RandonForest

con una configuración de 120 árboles y 68 características

evaluadas.

Index Terms— Reconocimiento de dígitos, MNIST, Perceptron

Multicapa, Bayes, Random Forest.

I. INTRODUCCIÓN

l reconocimiento de dígitos manuscritos es un sub

problema del reconocimiento de caracteres, en donde se

necesita determinar para una imagen de un manuscrito que

numero del 0 al 9 le corresponde como categoría.

Al ser uno de los problemas fundamentales en el diseño de

sistemas de reconocimiento prácticos, el reconocimiento de

dígitos es un campo activo de investigación. Las aplicaciones

inmediatas de las técnicas de reconocimiento de dígitos

incluyen ordenamiento de correo automático, lectura

automática de direcciones, control de transacciones bancarias,

etc.

Existen muchos enfoques de extracción de características

que intentan mejorar la habilidad de predicción [1]. En [2] se

presentan distintos desafíos presentes en el reconocimiento de

dígitos como el hecho de que algunos de estos se pueden

confundir fácilmente debido a la similitud de sus

características primitivas y su estructura. La complejidad

puede venir también del hecho de que las imágenes de los

dígitos tengan algún tipo de ruido, deformación o mala

segmentación del carácter.

En este reporte se han entrenado y probado un conjunto de

clasificadores para dar solución al problema del

reconocimiento de dígitos manuscritos. Se han utilizado

vectores verticales y horizontales para la reducción de

dimensionalidad y se han entrenado modelos con las

características obtenidas usando Perceptron Multicapa,

BayesNet, KNN y Random Forest. Finalmente, se presentan

los resultados comparativos en base a tiempo y precisión.

El proceso realizado se describe en el siguiente gráfico, que

discrimina tres fases para el entrenamiento y para la

clasificación:

Figura 1: Etapas en la elaboración del modelo de aprendizaje.

Preprocesamiento: El preprocesamiento implica etapas de

normalización y limpieza de los datos que serán utilizados

como entrada para la siguiente etapa.

Extracción, selección y medición de características: En el

entrenamiento, la extracción y selección de características

permitirá entrenar el modelo con el conjunto de datos de

entrenamiento. La selección realizada se basa en la

experimentación con varias configuraciones hasta encontrar

el menor error posible.

Aprendizaje y clasificación: Durante el entrenamiento, las

características seleccionadas serán utilizadas para que el

sistema aprenda e infiera un modelo que luego, durante la

prueba, servirá para predecir a que clase (clasificar)

pertenece cada elemento que se esté evaluando.

II. DESCRIPCIÓN Y PREPROCESAMIENTO DE LOS

DATOS

La base de datos MNIST contiene 60,000 dígitos del cero al

nueve para entrenar el sistema de reconocimiento y además

otros 10,000 dígitos para ser usados como datos de prueba.

Reconocimiento de Dígitos Manuscritos usando

la Dase de Datos MNIST

Alvaro Tolentino – Emilio García – Gregory Valderrama – Javier Crisostomo – Miguel Koo

Pontificia Universidad Católica del Perú, Lima - Perú

E

Page 2: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

2

Cada digito esta normalizado y centrado en una imagen en

escala de grises de 28 x 28 pixeles. Se muestran algunos

ejemplos a continuación:

Figura 2: Imágenes de ejemplo de la base de datos MNIST.

Dada la normalización de los datos indicada anteriormente,

no se realizaron mayores cambios con respecto al

posicionamiento de las imágenes.

Sin embargo se aplicaron dos técnicas para binarizar y

comprimir las imágenes, debido a que algunos de los pixeles

en los bordes eran grises claros y además la imagen a tamaño

normal representaba aun una cantidad alta de dimensiones:

Binarización mediante Otsu: El método de Otsu trata de

encontrar un límite óptimo para que el objeto del clúster

segmentado, así como el clúster de background sean lo

más ajustado posible, es decir, trata de minimizar la

varianza combinada dentro de la clase. Por el contrario, el

límite trata de maximizar la varianza entre clases [3].

Supongamos que la imagen está representada por niveles

de gris L, [0, L1]. Cualquier límite T divide los píxeles en

la imagen en dos grupos, digamos C(t) y C(t) que consiste

en los niveles de gris de los intervalos [0,t1] y [t,L1]).[10]

Supongamos que N representa el número total de píxeles

de la imagen y N(t) denota el número total de píxeles en

la agrupación i.

El método de Otsu encuentra el límite T usando la

siguiente ecuación: [3]:

Dónde:

Representan los niveles de grises de

respectivamente y

Transformación de Weblet Haar:

El wavelet de Haar es una secuencia de funciones

propuesta por Alfred Haar [9]. Haar usó estas funciones

para dar un ejemplo de un sistema ortonormal contable

para el espacio de las funciones de cuadrado integrable en

la recta real. [10,11]

Para poder realizar una transformada 2dimensional de

Haar de una imagen NxN el número de adiciones

requeridas es de sin multiplicaciones

requeridas. La transformada de Haar puede ser generada

usando la función [13] descrita como:

y su función escalar puede ser descrita como:

La matriz de Haar de 2 x 2 que está asociada con el

wavelet de Haar es:

Usando la transformada wavelet discreta, cualquier

secuencia de cualquier longitud

puede ser transformada en una secuencia de dos

componentes vectoriales: . Si

cada vector es multiplicado por la derecha con la matriz

H2, se obtiene el resultado de una

etapa de la transformada rápida de wavelet de Haar.

Usualmente se separan las secuencias s y d, y continúa

transformando la secuencia s.

Si tenemos una secuencia de longitud múltiplo de cuatro,

se pueden construir bloques de 4 elementos y

transformarlos de forma sencilla con la matriz de Haar de

4x4

La cual combina dos etapas de la transformada rápida del

wavelet de Haar.

Luego de aplicar ambos algoritmos, la imagen resultante

tenía una dimensión reducida de 28x28 a 16x16 y los valores

de cada entrada se habían normalizado entre 0 y 1, un ejemplo

se muestra a continuación:

Figura 3: Imagen del numero manuscrito usada como entrada (a la

izquierda) e imagen de salida (a la derecha, en negro), luego de aplicar binarización mediante Otsu y compresión de Weblet Haar.

Page 3: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

3

III. EXTRACCIÓN DE CARACTERISTICAS

Debido a que el número original de dimensiones es bastante

alto (un total de 784) la reducción de dimensionalidad fue

necesaria. Primero se extrajeron los componentes

principales de toda la data.

Principal Component Analysis: PCA es una técnica

de transformación que tiene como objetivo identificar

los principales factores que explican las diferencias

en los datos. La identificación de estos factores

conduce a una descripción más comprimida de

correlaciones en los datos y, así, para una mejor

comprensión de las características subyacentes. Por

lo tanto, es un enfoque poderoso para extraer

tendencias generales en un conjunto de datos.

Además, dado que la PCA proporciona componentes

principales ordenados por su significado, también

ofrece una excelente base para la reducción de la

dimensión de datos en caso de datos

multidimensionales. Esto se puede lograr por la

omisión de las tendencias menos relevantes en el

conjunto de datos y la concentración en los

principales componentes.

Es un método sencillo que realiza una transformación

lineal de los patrones, en donde los componentes del

vector de características transformado son

estadísticamente independientes; las componentes

principales están ordenadas según su importancia,

desde la componente asociada a la mayor varianza

hasta la asociada a la menor variabilidad de los datos.

De esta forma uno podría eliminar las ultimas k

componentes sin perder demasiada información y

utilizando menos variables. El valor de k se

determina empíricamente según cada aplicación.

Como se muestra en la figura 4, los 50 primeros

componentes principales pueden representar

aproximadamente el 97% del total de la información

(en términos de la varianza total retenida), lo que se

considera suficiente para ser representativo e

informativo. De esta forma, escogimos los primeros

50 componentes principales.

Figura 4: Varianza de los componente principales.

Vectores de distancia: Al intentar reducir aún más la

cantidad de presentes en el conjunto de datos, los

elementos de distancia y “sombra” del tazo hacia

cada uno de los bordes permitió alcanzar tasas de

error menores a 15% con tan solo 25 características y

un tiempo de entrenamiento y clasificación que no

superaba los 79 segundos.

Figura 5: Vectores de Distancia desde y hacia los bordes usado en la fase experimental cuyos resultados fueron prometedores al ser

empleados con ciertos clasificadores.

Área del trazo binarizado: Otra de las

características evaluadas fue el total del área del

trazo, que representaba sólo una característica más a

evaluar y tiene una distribución por clase en la que

pueden apreciarse grupos de manera clara:

Figura 6: Distribución del área del trazo por clase (Weka)

.

IV. DESCRIPCIÓN DE LOS CLASIFICADORES

Los clasificadores utilizados incluyen: SVM, KNN,

Perceptron Multicapa y Randon Forest.

Support Vector Machines:

Las máquinas de Soporte Vectorial o Support Vector

Machines (SVM) fueron propuestas por Vapnik como un

sistema de aprendizaje automático basado en la teoría del

aprendizaje estadístico [12], Este método ha captado la

atención de los investigadores debido principalmente a

su excelente rendimiento en diferentes áreas como el

reconocimiento de rostros, categorización textual,

predicciones, recuperación de imágenes y

reconocimiento de escritura manuscrita.

Diseñadas originalmente como clasificadores binarios, la

idea base reside en construir un hiperplano de separación

Page 4: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

4

entre las clases maximizando la distancia (el margen)

entre las mismas. Las SVM utilizan una función núcleo o

kernel para representar el producto interno entre dos

patrones, en un espacio de características no lineal y

expandido.

Muchos proveedores comerciales usan SVM como IBM

SPSS Statistics, SAS Enterprise Miner, Oracle Data

Mining(ODM) entre otros.

Para resolver problemas de clasificación con más de dos

clases (multiclase), se han planteado estrategias para

combinar las SVM binarias. Entre las más difundidas

podemos mencionar uno-contra-todos y uno-contra-uno.

La estrategia uno-contra-uno ha demostrado funcionar

mejor cuando se utilizan funciones kernel lineales

mientras que para otros tipos de kernel la estrategia uno-

contra-todos funciona eficientemente [13].

A continuación la fórmula de SVM con soporte a una

funcion de kernel y las fórmulas de las funciones

comúnmente soportadas. [14][15]

KNN (K Nearest Neighbors):

KNN según [16] es un método de clasificación no

paramétrico, esta técnica usa todos los patrones de

entrenamiento como prototipo. Es decir todas las

predicciones se realizan directamente desde los datos.

Para cada punto a clasificar se calcula la distancia (por

ejemplo euclidiana) para cada punto a clasificar. La

predicción se realiza sobre los k elementos más cercanos.

Figura 7: Ejemplo de clasificador KNN para K=3

Redes Neuronales Artificiales:

De acuerdo a Goyal [17], las redes neuronales artificiales

son redes de nodos, las cuales son modelos matemáticos

de neuronas biológicas como se muestra en la siguiente

figura:

Figura 8: Modelo conceptual de una Red Neuronal Artificial con Xn

neuronas, función base, función de activación y salida.

Generalmente, hay 3 o más capas de las mencionadas

neuronas: capa de entrada, capas medias (u ocultas) y la

capa de salida. El número de nodos en la capa de salida

es igual al número de clases objetivo de la clasificación.

El número de neuronas en la capa de entrada depende del

número de atributos que definen una instancia de un

objeto. El número de neuronas en las capas intermedias

no es fijo. Tampoco lo es el número de capas intermedias

en sí mismo. Estos últimos se definen mediante un

estudio del problema.

Perceptrón Multicapa: El perceptrón multicapa

consiste en un sistema de neuronas simples

interconectadas, o nodos que forman un modelo que

representa una relación no-lineal entre un vector de

entrada un vector de salidas. Los nodos están conectados

por pesos y señales de salida que son funciones que

suman las entradas al nodo modificado por una función

de transferencia no-lineal simple (o función de

activación). La superposición de varias funciones de

transferencia no lineales simples es lo que permite que el

perceptrón multicapa se aproxime a funciones

extremadamente no lineales. Si la función de

transferencia fuera lineal, entonces el perceptrón

multicapa solo sería capaz de modelar funciones lineales.

Una de las funciones de transferencia más empleadas es

la función logística debido a que su derivada es fácil de

calcular, computacionalmente hablando. La salida de un

nodo es escalada por el peso correspondiente y sirve

como entrada para los nodos de la siguiente capa de la

red neuronal. [18]

Random Forest:

Es un método de aprendizaje en conjunto usado para

clasificación y regresión que funciona mediante la

construcción de una gran cantidad de árboles de decisión

durante la etapa de entrenamiento y la salida de la clase

es el modo de la salida de clases de cada árbol. El

algoritmo para la inducción de Random Forest fue

Page 5: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

5

desarrollado por Leo Breiman y Alede Cutler. Al usar

una selección aleatoria de características para dividir

cada nodo el rendimiento alcanza tasas de error

comparables a AdaBoost [19].

El algoritmo de entrenamiento de Random Forest aplica

la técnica general de agregación por bootstrap o bagging,

a los clasificadores de árbol. Dado un conjunto de

entrenamiento X = x1, …, xn con respuestas Y = y1 hasta

yn, el bagging repetidamente selecciona una muestra

bootstrap del conjunto de entrenamiento y ajusta árboles

a esas muestras:

Luego del entrenamiento, la predicción para data nueva x'

se realiza promediando las predicciones de los árboles de

regresión individual en x':

o teniendo en cuenta la mayoría de votos.

En el algoritmo de arriba, B es un parámetro libre.

Típicamente unos cientos de miles de árboles se usan,

dependiendo del tamaño y la naturaleza del conjunto de

entrenamiento. Aumentar el número de árboles tiende a

reducir la varianza del modelo, sin reducir la tendencia.

Como resultado, el error en entrenamiento y prueba

tiende a nivelarse luego de que se ha alcanzado cierto

número de árboles.

Este procedimiento describe el algoritmo original de

bagging para árboles. Random Forest es distinto sólo en

la forma del siguiente esquema: usa un algoritmo de

aprendizaje modificado que selecciona, en cada corte del

proceso de aprendizaje, un subconjunto aleatorio de

características. La razón para hacer esto es la correlación

de árboles en una muestra ordinaria de bootstrap. Si una

o algunas características influyen fuertemente en la

predicción, esas características serán seleccionadas en

muchos árboles, y como consecuencia estarán

relacionadas.

V. EXPERIMENTACIÓN

Recogiendo los resultados y el actual estado del arte sobre

las experimentaciones en reconocimiento de dígitos y dado

que en este campo se vienen desarrollando propuestas décadas

atrás, presentamos a continuación algunos resultados

obtenidos por la comunidad [20] sobre el problema planteado,

para luego realizar una comparativa sobre nuestras

experimentaciones propias.

Error Método

0.21 Regularization of Neural Networks using DropConnect

0.23 Multi-column Deep Neural Networks for Image Classification

0.35 Deep Big Simple Neural Nets Excel on Handwritten Digit Recognition

0.39 Efficient Learning of Sparse Representations with an Energy-

Based Model

0.40 Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis

Tabla 1: Resultados obtenidos por en otros experimentos.

De la lista anterior, nuestras experimentaciones tomaron

como base comparativa el clasificador de Redes Neuronales

Convolucionales (Convolutional Neural Networks Applied to

Visual Document Analysis), realizando un entrenamiento con

7 épocas sobre el dataset de training alcanzamos una tasa de

error de 0.026%. Esta es la base de nuestra comparativa sobre

nuestras experimentaciones.

Nuestros experimentos empezaron con la totalidad de la

muestra y la aplicación del clasificador Super Vector Machine

este clasificador presentó un resultado prometedor para

trabajar con una alta dimensionalidad. De nuestros

experimentos hemos podido notar que el tipo de función

kernel así como los parámetros de entrenamiento influyen en

el tiempo de entrenamiento y la acertividad de la operación.

Decidimos también probar el comportamiento de otro

algoritmo estadístico como es KNN para la clasificación,

buscamos el valor de K óptimo que proporcione la menor tasa

de error. Para esto hemos probado con diferentes valores para

K(K=1,2,3,4,5,6,7,8,14). Como se puede observar en el

siguiente gráfico la menor tasa de error se obtiene para k=3.

K 1°

Experimento

Experimento

%

Error

Tiempo

(min.)

1 92.54 92.1 7.68 13.96

2 92.36 92.1 7.77 25.11

3 92.88 93.48 6.82 38.58

4 92.42 92.35 7.62 51.13

5 92.74 92.58 7.34 61.31

6 92.35 92.15 7.75 73.52

7 92.25 92.1 7.83 90.36

8 92.36 92.1 7.77 105.77

14 91.88 91.88 8.12 164.69

Tabla 2: Determinando el valor de K óptimo.

Figura 10: Comportamiento del porcentaje de error para K = 1 hasta K =14.

Page 6: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

6

Usando el valor K=3 obtenido, experimentamos con

diferentes volúmenes de datos hasta abarcar el total del

dataset. Como primera aproximación trabajamos con la data

sin preprocesamiento.

Para mejorar el resultado se intentó binarizar la solución

[21] pero el tiempo de estabilización del clasificador SVM

mostró ser excesivo. Con el fin de mejorar la respuesta se pasó

de un enfoque estadístico a un enfoque basado en Redes

Neuronales Artificiales como es perceptrón multicapa, para

poder trabajar con esta red neural necesitamos reducir la

dimensionalidad, utilizamos el algoritmo de Otsu para mejorar

la calidad de la imagen y la transformación de wavelet HAAR

para reducir la dimensionalidad de 28 a 16 dimensiones lo que

nos da total de 256 características lo cual es un número

todavía excesivo para una red neural, por lo que recurrimos al

algoritmo Principal Component Analysis para reducir la

dimensionalidad a 15 dimensiones obteniendo un resultado

similar a SVM pero con un enfoque de red neuronal artificial.

Con el fin de mejorar la extracción de características elegimos

manualmente los vectores modelo para la extracción de

características técnica utilizada para el reconocimiento de

rostros con lo que pudimos obtener un resultado de mejor

exactitud con una red perceptrón multicapa alcanzando el 92%

de aciertos.

Sobre la base antes desarrollada alcanzamos el mejor

rendimiento utilizando binarización unido a vectores de

distancia y la información obtenida del área de los trazos en

un clasificador Random Forest como técnicas de extracción de

características y clasificador respectivamente. Mostrando el

siguiente desempeño:

Figura 9: Resumen del entrenamiento y evaluación utilizando 68

características y el clasificador Random Forest.

El rendimiento por clase obtenido fue menor al momento de

clasificar las muestras de prueba para 9,3 y 8; alcanzando su

mayor precisión con 1, 5 y 6 tal como se muestra a

continuación:

Figura 10: Rendimiento por clase.

La matriz de confusión para la prueba con 68 características

fue la siguiente:

Figura 11: Matriz de Confusión para la prueba con 68 características y

Random Forest como clasificador.

Finalmente intentamos reducir más la tasa de error, sin

embargo luego de superar las 68 características un incremento

en el número de dimensiones no influía en el rendimiento, por

lo que no se agregaron más características ya que el tiempo de

extracción, entrenamiento y evaluación continuaba

incrementándose.

A continuación se muestra la evolución en tiempos y tasa de

error de las pruebas más significativas realizadas en base a la

combinación anterior, variando el número de características

incluidas:

Características Tiempo (seg.) Error (%)

27 62.47 7.2

56 71.68 4.32

68 90.31 3.6

152 107.94 3.29

Tabla 3: Evolución del Porcentaje de Error con respecto a cantidad de

características usadas para el entrenamiento del modelo.

Page 7: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

7

Figura 12: Ejemplo de imagen a la que se agregaron líneas verticales y

horizontales para encontrar la distancia desde el borde del trazo hasta cada marco (superior, inferior, izquierdo y derecho).

VI. RESULTADOS OBTENIDOS

Presentamos a continuación el resultado de nuestros

experimentos sobre 60,000 imágenes de entrenamiento y

10,000 de prueba:

Extraccion de

Caracteristicas

Num.

Attr.

Clasificador Tiempo

(seg)

Tasa de

Error

(%)

No 784 SVM- Polinomial 1779.00 15.18

No 784 SVM- Gausiana 7300.00 11.14

No 784 SVM-Linear 305.00 14.33

No 784 KNN 12600.00 4.76

Otsu,Haar

PCA

15 Perceptron

Multicapa (500 ciclos)

755.04 11.35

Otsu, CDF,

PCA

15 Perceptron

Multicapa

(500 ciclos)

232.00 32.00

Otsu,Haar,

PCA Manual

50 Perceptron

Multicapa

(500 ciclos)

1181.00 7.23

Otsu, Wave,

Haar, PCA

15 Naive Bayes 4.80 17.95

Otsu, Wave,

CFD 9/7, PCA

15 Naive Bayes 1.00 35.00

Otsu Haarm

Vectores de

distancia

56 Random Forest 90.31 3.6

Convolucional

(Referencia)

784 Red Neuronal Backpropagation

2200 s/epoca

0.026% 7ep.

Tabla 4: Comparación de todos los resultados obtenidos.

Figura 13: Tasa de Error por Clasificador

VII. CONCLUSIONES Y RECOMENDACIONES

En el presente trabajo gracias a la experimentación y

desarrollo de los modelos hemos podido llegar a las

siguientes conclusiones y recomendaciones.

El desarrollo de un modelo para el reconocimiento de

patrones presenta en la alta dimensionalidad uno de sus

mayores retos.

Para lidiar con estos factores será necesario identificar

técnicas que nos permitan extraer de manera adecuada

las características más relevantes para un dominio

particular de problema. Es pues así que la viabilidad de

un modelo tendrá que considerar de manera más

relevante el dominio de problema y la forma en la cual

jerarquiza la información obtenida.

El algoritmo de Otsu para la binarización de las

imágenes en nuestros experimentos a sido útil para este

propósito.

La utilización de la transformación de wavelet es una

técnica útil para reducir la dimensionalidad hecho

relevante para obtener un resultado en un tiempo

apropiado para los clasificadores basados en redes

neuronales artificiales.

El algoritmo PCA para la extracción de las características

más relevantes de nuestra muestra es un modelo genérico

que ha probado un buen desempeño para la reducción de

la dimensionalidad.

El clasificador SVM presenta una complejidad

importante en la definición de los parámetros apropiados

para su aprendizaje, tanto en los parámetros de la función

kernel como en los parámetros propios de la función.

Después de realizada la extracción de características y

reducción de la dimensionalidad los algoritmos basados

en redes neuronales artificiales presentan resultados

importantes en tiempos de entrenamiento también

apropiados.

La definición de vectores específicos a un contexto de

problema puede incrementar la acertividad del modelo

PCA transformando las entradas a una representación

más apropiada para el dominio de problema.

El uso del clasificador KNN proporciona una forma fácil

y rápida de clasificación de los dígitos manuscritos pero

con una alta tasa de error (4.76%).

El rendimiento del clasificador KNN se ve mejorado al

aumentar la cantidad de datos de entrenamiento.

En nuestros experimentos las redes neuronales

artificiales mostraron buen comportamiento al integrarse

Page 8: Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST

8

con Wavelet y PCA no siendo así los algoritmos

estadísticos que parecen necesitar un modelamiento

matemático más elaborado al momento de aplicar

técnicas de reducción de la dimensionalidad.

En nuestros experimentos las técnicas para la extracción

de características específicas al dominio del problema

demostraron ser el factor más gravitante al momento de

obtener un mejor resultado.

REFERENCIAS

[1] Cheng-Lin Liu; Nakashima, K.; Sako, H.; Fujisawa, H., "Handwritten

digit recognition using state-of-the-art techniques," Frontiers in

Handwriting Recognition, 2002. Proceedings. Eighth International Workshop on , vol., no., pp.320,325, 2002.

[2] C. Suen and J.Tan, “Analysis of errors of handwritten digits made by a multitude of classifiers.” Pattern Recognition Letters, vol 40, pp,

18161824,2007.

[3] Otsu, N. 1979. A threshold selection method from gray level histogram.

IEEE Trans. Systems Man Cybern. 9 (1), 62–66.

[4] Chih-Chung Chang, Chih-Jen Lin. LIBSVM: a library for support vector

machines, 2001. Software available at

http://www.csie.ntu.edu.tw/~cjlin/libsvm.

[5] Wang qinghui; Yang Aiping; Dai Wenzhan, "An improved feature

extraction method for individual offline handwritten digit recognition," Intelligent Control and Automation (WCICA), 2010 8th World Congress

on, vol., no., pp.6327,6330, 7-9 July 2010.

[6] Akhtar, M.S.; Qureshi, H.A, "Handwritten digit recognition through

wavelet decomposition and wavelet packet decomposition," Digital

Information Management (ICDIM), 2013 Eighth International Conference on , vol., no., pp.143,148, 10-12 Sept. 2013.

[7] Kulkarni, V.Y.; Sinha, P.K., "Pruning of Random Forest classifiers: A

survey and future directions," Data Science & Engineering (ICDSE),

2012 International Conference on , vol., no., pp.64,68, 18-20 July 2012.

[8] Serre, T.; Wolf, L.; Poggio, T., "Object recognition with features

inspired by visual cortex," Computer Vision and Pattern Recognition,

2005. CVPR 2005. IEEE Computer Society Conference on , vol.2, no., pp.994,1000 vol. 2, 20-25 June 2005.

[9] Haar A. Zur Theorie der orthogonalen Funktionensysteme,

Mathematische Annalen, 69, pp 331–371, 1910.

[10] Minh N. Do, Martin Vetterli, “WaveletBased Texture Retrieval Using

Generalized Gaussian Density and KullbackLeibler Distance”, IEEE

Transactions On Image Processing, Volume 11, Number 2, pp.146158,

February 2002.

[11] Charles K. Chui, “An Introduction to Wavelets”, Academic Press, 1992,

San Diego, ISBN 0585470901

[12] C. Suen, C. Nadal, R. Legault, T. Mai, and L. Lam, “Computer

recognition of unconstrained hand-written numerals” Procs IEEE, vol

80, no 7 , pp. 1162-1180, 1992.

[13] C. Liu and H. Fujisawa, “Classification and learning methods for

character recognition: Advances and remaining problems” in Machine

Learning in Document Analysis and Recognition (H. F. S. Marinai, ed.), pp 139-161, Springer, 2008.

[14] F. Lauer, C. Suen, and G. Bloch, “A trainable feature extractor for

handwritten digit recognition” . vol 40, pp 1816-1824, 2007.

[15] V. Vapnik, The nature of Statistical Learning Theory. Springer Verlag.

New York, 1995.

[16] Peter Harrington, “Machine Learning in Action”. 2012. Manning

Publications Co. Capitulo 2, pp 18-21

[17] Goyal, R.D., “Knowledge Based Neural Network for Text

Classification.”, 2007, IEEE International Conference on Granular

Computing.

[18] M. W. Gardner and S. R. Dorling. 1998. Artificial Neural Networks

(The Multilayer Perceptron)- A review of applications in the

atmospheric sciences. Atmospheric Enviroment. Vol 32. pp. 2627-2636.

[19] L. Breiman, “Random Forest”, Machine Learning, Kluwer Academic

Publishers, Vol 45, no 1, pp 5-32

[20] Classification datasets results.

http://rodrigob.github.io/are_we_there_yet/build/classification_datasets

_results.html#4d4e495354

[21] L. Maria Seijas, “Reconocimiento de patrones utilizando técnicas estadísticas y conexionistas aplicadas a la clasificación de dígitos

manuscritos. Universidad de Buenos Aires.