Sei sulla pagina 1di 12

APLICACIN PARA RECONOCIMIENTO DE CARACTERES A TRAVS DE REDES NEURONALES

1. Abstract
El presente trabajo describe como implementar redes neuronales para el reconocimiento de caracteres. Lo que pretendo demostrar es la eficiencia en cuanto a dos algoritmos: Backpropagation y Hopfield, con eficiencia me refiero a que implementar estos dos algoritmos para reconocer caracteres alfabticos, como las letras del abecedario, a travs de la fase de entrenamiento de dichos algoritmos sabr cual es el ms optimo y el que menor tiempo se demora a la hora de reconocer un carcter que ingresare por teclado en una interfaz. Al final obtendr un cuadro comparativo acerca de estos dos algoritmos y esto a su vez me permitir concluir sobre la eficiencia de los algoritmos nombrados anteriormente. 2. Introduccin Muchas personas, empresas o instituciones disponen de gran cantidad de informacin de forma impresa y desean procesar esta informacin utilizando un computador, lo pueden realizar de dos maneras: la primera opcin es que toda la informacin deben digitarla a travs de teclado, lo cual es un trabajo largo, y si la informacin es abundante quiz el periodo de tiempo para digitar esta informacin sea demasiado largo. La segunda opcin es hacer automticamente este proceso a travs de reconocimiento de caracteres, lo cual sin duda alguna facilita las cosas y el tiempo. El reconocimiento de caracteres engloba un conjunto de mtodos y algoritmos que los describir ms adelante, los cuales permiten realizar una fase de entrenamiento que a la final permitirn reconocer de forma automtica caracteres. Cabe recalcar que el reconocimiento de caracteres no solo se utiliza para reconocimiento de textos escritos sino tiene muchas aplicaciones como lo veremos en el presente documento. 3. Objetivos Implementacin de una red neuronal que usa el algoritmo de backpropagation para realizar el proceso de aprendizaje y reconocimiento de caracteres comprendidos entre la A hasta la Z.

Implementacin de una red neuronal que usa el algoritmo de Hopfield para realizar el proceso de aprendizaje y reconocimiento de caracteres comprendidos entre la A hasta la Z. Comparacin en el funcionamiento y resultados finales obtenidos durante la fase de entrenamiento de los dos algoritmos nombrados anteriormente. Utilizacin de la tcnica de aprendizaje supervisado y no supervisado, a fin de obtener resultados y hacer comparaciones en eficiencia ms precisos y reducir el error al mximo.

4. Descripcin del Problema: En la actualidad vivimos en un mundo totalmente digitalizado en el cual necesitamos como usuarios y empresarios tener mrgenes de seguridad en los negocios y transacciones que realizamos para lo cual nosotros mediante la implementacin de un agente para reconocimiento de caracteres que van a ir desde la letra A hasta la F, no elegimos dems letras porque se va a generar una red neuronal sumamente grande que luego se va a encontrar inconveniente en su generacin, voy a utilizar los algoritmos backpropagation y hopfield para crear este agente reconocedor de caracteres, el cual va a pasar por una fase de entrenamiento y reconocimiento a fin de obtener el resultado optimo. Esto se realiza con el fin de mostrar el proceso para lograr el objetivo que es reconocer el carcter que ingresemos, y adems mostrar cual de los dos algoritmos lo hace al proceso ms eficiente y en menos tiempo. Por tal razn me he propuesto realizar la construccin, y funcionamiento de un agente capaz de reconocer caracteres. 5. Justificacin El reconocimiento de caracteres y dgitos es una de las reas de aplicacin ms efectiva de las redes neuronales, al punto de que ya es comn el diseo eficiente, manufactura, y comercio de sistemas de reconocimiento de caracteres basados en redes neuronales. La mayora del trabajo reciente de reconocimiento de caracteres se ha enfocado

en aproximaciones estadsticas, sintticas y estructurales. El mtodo de entrenamiento para redes neuronales multicapa backpropagation ha alcanzado una gran popularidad y es el nuevo paradigma para el diseo de los sistemas de reconocimiento que dominan el campo. En mi caso utilizar los algoritmos Backpropagation y Hopfield ya que el primer algoritmo posee una tcnica de aprendizaje automtico la cual nos va a permitir obtener resultados ptimos minimizando el error cuadrtico y as obteniendo la letra ms parecida a la cual nosotros estamos simulando mediante la fase de entrenamiento. El segundo algoritmo a utilizar es el de Hopfield, el cual utiliza aprendizaje no supervisado ya que no realiza ningn proceso de balanceo de carga en los nodos, ni verificacin del error cuadrtico medio entre los nodos de la red neuronal, por lo cual al momento de entrenar la red neuronal, tardara un poco ms en mostrar los resultados. La necesidad de tener sistemas de reconocimiento automtico o semiautomtico de caracteres ha sido reconocida por dcadas, lo que ha requerido el desarrollo e integracin de diversas reas como la visin, representacin y entendimiento del conocimiento, inteligencia artificial y teora de control. 6. Fundamentos Tericos 6.1. Redes Neuronales Inspiracin Biolgica. Las neuronas reciben seales (inputs) de otras neuronas va conexiones sinpticas que pueden ser excitantes o inhibidoras. En funcin de las seales recibidas, una neurona enva a su vez una seal a otras neuronas por medio del axn. [1] (Jos
Manuel Gutirrez Cantabria)) (Universidad de

Una red neuronal artificial (RNA) es un sistema compuesto de muchos elementos procesadores simples, neuronas, conectados en paralelo, cuya funcin es determinada por la estructura de la red, la fuerza en las conexiones y el procesamiento realizado por los elementos en los nodos. [2] (Jang et al. 1997). 6.3. Estructura de una Red Neuronal Artificial En este apartado abordar la estructura ms comn de las redes neuronales artificiales en base a dos perspectivas: 1.-Niveles de neuronas.- La distribucin de las neuronas en una red neuronal se realiza formando capas o niveles, y cada capa tiene un nmero determinado de neuronas cada una, se pueden presentar tres tipos de capas diferentes: De entrada: estas capas reciben la informacin desde el exterior. De Salida: estas envan la informacin hacia el exterior Ocultas: son capas que solo sirven para procesar informacin y comunicar otras Capas.

Figura # 2 Estructura de Red Neuronal


Segn algunos autores, las capas de entrada y de salida no son validas para producir procesamiento, y son usadas solo como sensores. Tras plantearlo de diferentes modos nuestro marco de trabajo se ha diseado de manera que puede usarse de las dos maneras, podemos usar las capas de entrada y salida para procesar o simplemente como sensores. 2.- Formas de conexin de las capas .- Las neuronas se conectar unas a las otras usando sinapsis, pueden conectarse de tres formas diferentes: Unin Todos con Todos: Este tipo de unin es muy comn lo utilizan algoritmos como Hopfield, backpropagation, perceptron. Unin Lineal: Consiste en unir cada neurona con otra neurona de la otra capa Predeterminado: Este tipo de conexionado aparece en redes que tienen la propiedad de agregar o eliminar neuronas de sus capas y de eliminar tambin conexiones.

Figura # 1.- Estructura de una red neuronal humana

6.2. Definicin de Redes Neuronales

6.4. Caractersticas Generales de las redes Neuronales


Pesos: Estos pesos ayudan a ajustar el valor de la fuerza de conexin entre las neuronas. Aprendizaje: Puede ser aprendizaje supervisado y no supervisado, estos conceptos los trataremos ms adelante. Fase de operacin: Aqu nos referimos a la fase de entrenamiento la cual consiste en proporcionar estmulos de entrada y salida para que una red se ajuste a los pesos de conexin con las dems neuronas y as se logre minimizar el error. Necesitan un patrn: Las redes neuronales no son capaces de reconocer nada que no tenga algn tipo de patrn. 6.5. Aprendizaje Aprendizaje Supervisado: En este tipo de aprendizaje se muestran cierto tipo de patrones a la red y una salida deseada para estos patrones asi se logra minimizar al mximo el error aplicando una formula matemtica, la cual ajusta los pesos para dar la salida real lo ms parecida posible a la salida deseada. Las aplicaciones ms importantes para este tipo de aprendizaje es Asociadores de patrones, esto es asocia dos patrones y permite recuperar la informacin a pesar de errores en la capa de entrada. Modeladores funcionales, las redes neuronales permiten, gracias a su capacidad de ajustar el error dar los valores ms cercanos a una funcin de la que solo sabemos algunos puntos por los que pasa Aprendizaje no supervisado: Este tipo de aprendizaje no necesita que le mostremos los patrones objetivos para salida, ya que el algoritmo y la regla de modificacin de las conexiones producen patrones de salida consistentes. Cuando la red procesa patrones con bastante grado de similitud, da la misma salida para ambos patrones, esto es, clasifica los patrones en categoras de patrones parecidos. Normalmente se usa el error cuadrtico medio para determinar la similitud, aunque hay otras opciones. [3] Alfonso Ballesteros (Mlaga, Espaa). 6.6. El Perceptron Se lo define como aquella red neuronal constituida de dos capas (una de entrada y una de salida) con conexiones hacia delante. El primer nivel est compuesto por un nmero de unidades de entrada, denominadas unidades sensoriales. El segundo nivel est compuesto por un nmero de unidades de salida, denominadas unidades de asociacin,

cuyas entradas son las salidas de las unidades de entrada ponderadas por unos pesos. Las unidades de entrada tienen una sola entrada correspondiente a una de las entradas a la red, y una sola salida. Estas unidades transmiten la seal que aparece en su entrada. Para nuestro objetivo nos centraremos en los perceptrones multicapas. [4] (Gutirrez, 2000) 6.7. Perceptron Multicapa Identifica a las redes con mltiples capas que funcionan hacia delante. Esta red se encuentra compuesta por un conjunto de nodos de entrada que componen la capa de entrada, un conjunto de una o ms capas ocultas de neuronas y una capa de neuronas de salida. La seal de entrada se propaga hacia adelante desde la capa de entrada por la oculta hasta la salida; este tipo de configuracin se conoce como MLP o MultiLayer Perceptrons. [5](Aldabas Rubira, 2003) 6.8. Tipos de Redes Neuronales a utilizar en este proyecto: Backpropagation.El algoritmo backpropagation se usa en el proceso de aprendizaje de las redes neuronales multicapa. Su potencia reside en su capacidad de entrenar capas ocultas y de este modo supera las posibilidades restringidas de las redes de una nica capa, las mismas que nicamente dan solucin a problemas linealmente separables, en el mundo real, la mayora de problemas no son linealmente separables. [6] (Basogain Olabe, 2008) Descripcin del proceso Segn [7] (Bernacki & Wlodarczyk, 2004), se muestra una red neuronal con una capa de neuronas de entrada, una capa intermedia u oculta y una capa de salida. Todas las neuronas de cada capa deben estar conectadas a todas las neuronas de la siguiente capa.

Figura#4 Red neuronal de tres capas con dos neuronas en la entrada y una en la salida Cada neurona o nodo tiene dos componentes. El primero suma los productos entre el valor de los pesos de las conexiones entrantes wi y las

seales de entrada xi. Esta sumatoria ser representada con la letra e. Luego, el segundo componente ejecuta la funcin de activacin de la neurona, que es una funcin no lineal representada como y = f(e). y es el valor de salida de la neurona actual, y el valor de entrada para las de las capas subsiguientes. Los dos componentes se muestran en la figura Figura#7. Propagacin de la seal de error hacia la capa de atrs. La tcnica de propagacin hacia atrs se usa para todas las capas Una vez que se han calculado los errores para cada neurona, comienza el proceso de modificacin de los valores de los pesos de las entradas.

Figura#5. En la parte superior se indica la asignacin de los pesos de entrada a la funcin, en la grafica de la parte inferior se muestra la funcin no lineal. Las seales de entrada se propagan por la capa oculta y por la capa de salida, de acuerdo a los pesos

Algoritmo de Hopfield Son redes de adaptacin probabilstica y recurrente. Aprenden a reconstruir los patrones de entrada que memorizan durante el entrenamiento. Son modo capa con interconexin total y en la que el valor de salida de cada unidad es binario (0 y 1) y siguen una regla de aprendizaje no supervisado. El aprendizaje no supervisado no realiza ningn balanceo de carga entre los pesos de la neurona, lo cual hace que al momento de entrenar la red nos d un resultado no muy optimo pese a que toca entrenar varias veces a la red lo cual causa demoras para obtener un resultado. [8] (S. Haykin (1999)) En el aprendizaje no supervisado a la red se le proporcionan nicamente estmulos, y la red ajusta los pesos de sus interconexiones utilizando solamente los estmulos y la salida calculada por la red Estn formadas por N neuronas interconectadas que actualizan sus valores de activacin en forma independiente. Es buena para optimizacin. resolver problemas de

Figura #6. Propagacin de las seales por la capa de salida. Al llegar a la capa de salida de la red, se calcula el error d de la capa de salida de la red neuronal, restando el valor de salida final del valor de salida deseado. Ahora se aplica una propagacin hacia atrs (backpropagation) del error, para poder calcular los errores de cada neurona en las capas anteriores a la capa de salida. Esta propagacin hacia la capa oculta se muestra en la figura #8.

Llega a un estado estable, cuando todas las neuronas son estables. En la siguiente figura se muestra la arquitectura del modelo Hopfield

PostProcesamiento Para conocer la respuesta de la red basta con tomar el carcter correspondiente a la neurona de salida con valor mximo. Algoritmo utilizado: backpropagation con mejoras. Estas mejoras se muestran a continuacin: Adaptative Learning Rate Adapta el parmetro _ segn la evolucin del error en el aprendizaje. Si el error disminuye consistentemente, se le suma a. Cuando el error aumenta, se le resta b. Momentum La actualizacin de pesos toma en cuenta el valor del cambio producido en la poca anterior. [11] P. Garca H. Rajchert I. Scena..(4 de junio del 2008).

Figura#8: Arquitectura del modelo Hopfield Una caracterstica importante de este modelo es que, una neurona nunca se realimentara a s misma (figura#14). [9] (B. Widrow, R. Winter (2001)) Este algoritmo es utilizado para reconocimiento de caracteres, imgenes, reconocimiento de huellas dactilares. [10] (K.I. Funahaski (2006)

7. Trabajos relacionados Trabajo #1 Uso de una red neuronal multicapa para el reconocimiento de caracteres griegos. En este trabajo realizado en el 2008 se propone la creacin de una red multicapa con aprendizaje supervisado. La arquitectura de esta red es como se detalla a continuacin: Alfabeto de 24 caracteres. Imgenes de 16 x 16 pixeles Capa de entrada 256 x pixel Capa de salida 24 neuronas, 1 x letra. 2 Capas ocultas Todas las neuronas estn conectadas con la capa superior. Primero se carga las imgenes Se procesa la imagen y se la ubica en una matriz dando 2 valores posibles 1 y -1
Figura # 9 Reconocimiento de caracteres griegos.

Trabajo #2 Procesado de encuestas Otro trabajo similar es el reconocimiento de caracteres y marcas orientado al procesado de encuestas, detallado en [12] (De Armas Domnguez &Bautista Rodrguez, 2005), donde tambin se utiliza redes neuronales para el propsito ya mencionado. Se describe que para la clasificacin de descriptores dentro del mdulo de reconocimiento de caracteres se ha realizado una seleccin de redes neuronales para cada tipo de caracteres: alfabticos, numricos y alfanumricos; todas las redes tienen 42 neuronas en la capa de entrada, se entrenaron con 19 tipos de caracteres y luego se validaron con otros 11 tipos. La arquitectura de cada una de las redes neuronales queda como sigue: a) caracteres alfabticos, 100 neuronas en la capa 1, 50 en la capa 2 y 26 en la capa de salida.

Preprocesamiento

b) caracteres numricos, 85 neuronas en la capa 1, 45 en la capa 2 y 13 en la capa de salida. c) caracteres alfanumricos, 160 neuronas en la capa1, 140 en la capa 2 y 39 en la capa de salida. Adems se hace mencin que el reconocimiento de caracteres gener el 10,08% de errores probando con 15 hojas de encuesta y gener una precisin del 100% con otras pruebas realizadas con 50 hojas de encuesta. Trabajo # 3 Reconocimiento de Imgenes con algoritmo Hoplfiel en Salta Argentina. Se plante el aprendizaje de tres patrones de 10 *10 ingresados por diferentes mtodos, para luego determinar el reconocimiento de un patrn de entrada ingresado con niveles de corrupcin o falencia de datos variables, para as poder determinar el comportamiento de la Red Neuronal ante distintas contigencias y su porcentaje de reconocimiento de patrones. Este trabajo est compuesto por cuatro aspectos bsicos: Topologa: Es una red monocapa con conexiones laterales no recurrentes, esto quiere decir que solo se tiene una capa de neuronas que se encuentran conectadas entre s pero no con ellas mismas Aprendizaje : No supervisado Tipo de Asociacin entre la informacin de entrada y la salida: La funcin de activacin de cada neurona (i) de la red (f(x)) es de tipo escaln. Trabaja con los valores binarios 1 y +1 Representacin de la Informacin: Previamente codificada y representada en forma de vector como una configuracin binaria red discreta. [13] ( Bien Guillermo, Krein Diego, Rambo Alice)
Figura # 10 Aprendizaje con redes Hopfield

Trabajo #4
Lectura automtica de cheques En (Palacios & Gupta, 2003) se muestra el desarrollo de un sistema de reconocimiento de caracteres para la lectura automtica de cheques, en el cual se describe la utilizacin de tcnicas basadas en redes neuronales para la lectura del valor del cheque. El mdulo de reconocimiento de dgitos utiliza una serie de algoritmos de normalizacin y un clasificador. El clasificador que se utiliza est basado en redes neuronales, por su rapidez y porque ofrece buenos resultados en el reconocimiento de caracteres. La red neuronal artificial utilizada es un Perceptrn Multicapa (MLP), la estructura es multiconectada y tiene 117 entradas, una capa oculta con 50 neuronas y 10 salidas, estas salidas corresponden a los 10 posibles dgitos. El nivel de precisin que se obtiene con este tipo de red es muy alto (92,2% de aciertos, con solo 7,8% de fallos) cuando se entrena con un conjunto de ejemplos grande, tal como la base de datos de caracteres manuscritos de National Institute of Standars and Techonology [14] Palacios, R., & Gupta, A. (Mayo-Junio de 2003) 8. Herramienta a utilizar y descripcin de la solucin Lenguajes Empleados Y La Solucin Del Mismo El lenguaje utilizado para el desarrollo del presente proyecto ser la herramienta de Visual Studio.NET 2005 C# algunas razones por las que escog este leguaje las expongo a continuacin.

8.1. Herramienta (IDE de desarrollo)

Compila a cdigo intermedio (CIL) independiente del lenguaje en que haya sido escrita la aplicacin e independiente de la mquina donde vaya a ejecutarse Capacidades de reflexin No hay que preocuparse por archivos de cabecera ".h" No importa el orden en que hayan sido definidas las clases ni las funciones

No hay necesidad de declarar funciones y clases antes de definirlas Soporta definicin de clases dentro de otras No existen funciones, ni variables globales, todo pertenece a una clase Todos los valores son inicializados antes de ser usados (automticamente por defecto, o manualmente desde constructores estticos) No se pueden utilizar valores no booleanos (enteros, coma flotante...) para condicionales. Es menos propenso a errores

Estos ejemplos se dividieron en dos conjuntos mutuamente excluyentes: un conjunto de aprendizaje y otro conjunto de prueba. En diferentes pruebas, se hizo variar el tamao del conjunto de aprendizaje entre un 83% y un 99% del total de ejemplos disponibles, dejando los ejemplos restantes para el conjunto de prueba. Se entrenaba a la red con el conjunto de aprendizaje y se realizaban pruebas con los ejemplos restantes. Luego de diversas pruebas con distintas configuraciones de la red y tamaos de conjuntos de aprendizaje, se not que existan ciertos patrones del conjunto de prueba que eran clasificados errneamente por la red en forma recurrente (Caso de la letra B y Q).

9. Anlisis de Aplicacin Los resultados que obtuvimos se realizaron en base al estudio, del algoritmo de Backpropagation. El funcionamiento se detalla a continuacin: 9.1. Funcionamiento Backpropagation del Software

Este software permite especificar: la cantidad de capas de la red, la cantidad de neuronas de cada capa, la tasa de aprendizaje el tipo de funcin de activacin y el uso o no de neuronas de tendencia. Adems permite parar el aprendizaje luego de una cierta cantidad de iteraciones, o cuando se haya llegado a un error global o por patrn predefinido. Se muestra en tiempo real el error por patrn, lo que permite tener conocimiento sobre cmo evoluciona la red. Tambin es posible cargar un conjunto de patrones de prueba y observar la salida de la red junto con la salida deseada para cada uno de ellos, como as tambin la cantidad de aciertos y errores. Asimismo se identifican los patrones que fueron clasificados en forma errnea. Seleccin de los conjuntos de entrenamiento y prueba El archivo contiene un conjunto de 36 elementos entre los cuales tenemos letras (A hasta la Z) y nmeros (0 hasta 9) representar esta letra. As tambin con otras letras, En algunos casos como la A, he elegido patrones de distintos tipo me refiero a distintos tipos con distintas formas de

con esto se podr probar que tan eficiente es la red al momento de reconocer diferentes patrones que representen una sola letra. A continuacin muestro una imagen de los distintos tipos de A que pueden reconocer la aplicacin:

En la aplicacin podemos ver que se est calculando el error medio cuadrtico para cada salida. Descripcin de Clases

Como se convierte la imagen: Para convertir la imagen a matriz se debe hacer clculos, dividiendo su alto para 11, lo que nos dar el nmero de filas, y su ancho para 12 lo que nos dar el nmero de columnas. Adems para colocar la imagen en el recuadro grande se agrande el ancho y altura de la imagen haciendo multiplicaciones. Esto podemos ver a continuacin:

Como se calcula la Taza de Error:

BP1Capa.- En esta capa se realiza todo el proceso de recalculo de pesos, la implementacin en si del algoritmo Backpropagatin de una capa, tambin aqu se realiza el clculo del error medio cuadrtico, se realiza la propagacin hacia adelante y hacia atrs, y se hace el reconocimiento de caracteres. BPBase.- Aqu se encuentran las variables a utilizar en el proyecto. IBackPropagation.- En esta clase se declarar algunos mtodos necesarios para la aplicacin. Red Neuronal.- En esta clase se realiza el proceso de entrenamiento a la red neuronal. ep2: Error medio cuadrtico para cada patrn de salida = Error en cada neurona de la capa d salida Interfaz.cs.- Contiene toda la interfaz de la aplicacin, esta clase tiene mtodos que permite presentar las imgenes, inicializar los componentes de la aplicacin, hacer llamadas a otros mtodos, y mostrar los resultados. Procesar.- Esta clase es muy importante ya que convierte la imagen a matriz como se lo explico anteriormente, adems esta clase posee un mtodo

para que una vez que la red reconozca el carcter pueda convertir esto a imagen y presentar en los resultados. 10. -. Evaluacin: La corresponde al uso del algoritmo backpropagation el cual contiene un conjunto de patrones que van a ser importados, para posteriormente entrenarlos y ver el resultado de cada uno. Vamos a crear una tabla que contenga todos los nmeros y caracteres para comparar variables como: error, iteracin, tiempo y mejor resultado o (mayor probabilidad) Una vez tomados los datos de todas las variables de los caracteres y nmeros, vamos a comparar cual de todos ellos posee niveles ms altos de probabilidad en el resultado final obtenido rango (83 - 99) % Analizar finalmente que caracteres o nmeros tienen problemas, es decir niveles bajos en la probabilidad de resultado obtenido (Menor al 60 %) Tabla de datos de entrenamiento y prueba utilizando Algoritmo Backpropagation.
Letra/Nm. 0 1 2 3 4 5 6 7 8 9 A B C D E F G H Error 1.064 1.073 1.063 1.058 1.065 1.062 1.065 1.062 1.065 1.064 1.083 1.069 1.086 1.07 1.074 1.084 1.06 1.073 Iteracin 96 95 92 118 94 112 98 95 110 88 104 123 93 102 112 117 100 92 Tiempo 0.7 0.6 0.7 0.6 0.7 0.6 0.8 0.6 0.6 0.8 0.6 0.7 0.7 0.9 0.8 0.7 0.7 0.6 Mejor Prob. 92% 96% 89% 85% 96% 95% 98% 93% 83% 92% 94% 30% 96% 99% 92% 94% 91% 91%

I J K L M N O P Q R S T U V W X Y Z

1.06 1.09 1.057 1.096 1.04 1.063 1.034 1.054 1.01 1.038 1.05 1.065 1.056 1.089 1.099 1.04 1.01 1.043

78 89 76 93 114 90 94 78 69 94 86 79 107 103 98 95 89 76

0.8 0.8 0.9 0.8 0.7 0.7 0.7 0.9 0.8 0.8 0.9 0.7 0.7 0.6 0.6 0.6 0.6 0.7

91% 93% 99% 95% 97% 94% 95% 93% 56% 92% 96% 92% 99% 97% 98% 94% 96% 95%

Los datos que estamos presentando en la tabla de anlisis de prueba corresponden a 36 datos en total, entre ellos nmeros (0 hasta 9) y caracteres (A hasta la Z). Como podemos darnos cuenta en nuestro software se est analizando cuatro variables que son: error, iteracin, tiempo y mejor resultado obtenido o (mayor probabilidad) para cada letra y numero ingresado por el usuario para su respectivo anlisis. 10.1. Conclusiones sobre el anlisis de datos: Observacin #1: En el anlisis obtenido de todos los nmeros y letras, pudimos darnos cuenta de que existe un problema con la letra B, ya que al momento de entrenar esa letra se obtuvo un resultado de un 30% el cual es bajo y representa un problema de incompatibilidad de caracteres, porque en el panel de resultados existe conflicto con el nmero 3. El problema existente se debe a que la estructura de la letra B con el nmero 3 es similar, lo cual presenta problemas al momento de realizar la fase de entrenamiento de la red, porque existe confusin de caracteres y por ende el resultado de probabilidad es bajo lo cual representa un resultado ambiguo.

Un resultado es ptimo y sus resultados son precisos, cuando estn en el rango de aceptacin comprendido entre (83 - 99) %. Observacin #2: Otro de los resultados que se analizo es el de la letra Q que al igual que el caso anterior, esta presenta conflicto con la letra O ya que su estructura es similar. Al momento de realizar la fase de entrenamiento se obtuvo un resultado de un 56% que es un resultado bajo igual al caso anterior. Pese a que la letra O difiere de la Q, su estructura es similar y el resultado va a dar lugar a ambigedades. Observacion#3: Todos los dems caracteres y nmeros analizados al momento de pasar por la fase de entrenamiento y mostrar sus resultados finales la probabilidad del resultado final comprenden un rango de nivel de aceptacin comprendido entre (83 - 99) % lo cual representa un resultado ptimo de la imagen del carcter que estamos analizando. 11. Anlisis comparativo entre los algoritmos Backpropagation y Hopfield Para realizar este anlisis comparativo hemos analizado dos algoritmos que son: Backpropagation y Hopfield como se puede apreciar en el siguiente cuadro:
Aspectos Complejidad en la implantacin Hopfield Simple: Esto es debido al tipo de entrenamiento, una vez hecha la estructura de datos correspondiente solo resta por encontrar una buena configuracin de patrones de entrenamiento. Backpropagation Compleja: Ya que se requiere un tiempo considerable debido a la metodologa prueba y error para la determinacin de la cantidad de capas ocultas, nmeros de neuronas en las mismas y valor de los factores de aprendizaje y momento. Altos: Esto es respecto a la fase de

ales

Hopfield se resume a clculos matriciales.

entrenamiento, la cual requiere n iteraciones hasta que la red converja. Una vez entrenada la red, el funcionamiento <(reconocimiento) puede ejecutarse con recursos.

Rendimiento

Segn los experimentos realizados, Hopfield cuenta con un rendimiento favorable de tan solo el 50%.

Ante los mismos patrones de pruebas la BPN presento un rendimiento favorable del 100%.

12. Conclusiones Si se realiza un aprendizaje con patrones de validacin sin ruido los resultados nos muestran que el error en el aprendizaje disminuye de manera ms rpida. Si se realiza un aprendizaje con patrones de validacin con ruido, el error en el aprendizaje disminuye ms lentamente. A mayor de cantidad de ciclos de aprendizaje, el error del mismo es mnimo. La utilizacin de modelos de redes neuronales para dar soporte a la toma de decisiones es posible. Recomendamos que la utilizada sea una red BPN, no una red Hopfield debido a las mejores prestaciones de la primera. El algoritmo Backpropagation es ms eficiente, pese a que calcula el error cuadrtico medio y realiza un proceso de balanceo de carga entre los nodos de la red neuronal, lo que nos da un resultado en un menor tiempo que Hopfield. Una aplicacin de este tipo debe ser considerada como una herramienta ms para ser utilizada por la persona encargada de tomar decisiones, no es posible delegar la toma de decisiones completamente a la aplicacin, ya que existen factores subjetivos e implcitos.

Recursos computacion

Mnimos: Todo procesamiento

el en

Dado el tiempo relativamente corto que emplea la red para aprender, es recomendable reentrenarla peridicamente.

[8] . Haykin (1999). Neural Networks. Comprehensive Foundation, Prentice-hall.

[9] B. Widrow, R. Winter (2001). Neural nets for adaptive ltering and adaptive patterns recognition. IEEE Computer, Hopfield Architecture. 13. Referencias Bibliogrficas: [1] Jos Manuel Gutirrez (Universidad de Cantabria), Introduccin a las redes Neuronales. http://personales.unican.es/gutierjm/docs/tut_Redes Neuro.pdf [2] Jang J.-S.R., Sun C. T., & Mizutani E. (1997). Neuro-Fuzzy and soft computing. A computational approach to learning and machine intelligence. http://www.tesisenxarxa.net/TESIS_UPC/AVAILABL E/TDX-1102106-110455//13Mct13de15.pdf [10] K.I. Funahaski (2006). Description Hopfield . Neural networks. http://gaia.fdi.ucm.es/people/pedro/aad/ivan_martin ez.pdf [11] P. Garca H. Rajchert I. Scena. Uso de una red neuronal multicapa para el reconocimiento de caracteres griegos.(4 de junio del 2008). http://svn.assembla.com/svn/iatp2/informe/informe.p df. [12] De Armas Domnguez, R. C., & Bautista Rodrguez, L. S. (3 de Noviembre de 2005). Reconocimiento automtico de caracteres manuscritos y marcas, orientado al procesado de encuestas. Retrieved 7 de Mayo de 2009 from Dia Matlab UDES: www.compelect.com.co/otros/diamatlab/2005 /Ponencia16.pdf

[3] Alfonso Ballesteros (Malaga, Espaa). Neural


Network Famework. Computering Ingenieer by the University of Malaga.

http://www.redesneuronales.netfirms.com/tutorial-redesneuronales/tutorial-redes.htm
[4] Gutirrez, J. M. (9 de Marzo de 2000). Introduccin a las Redes Neuronales. Retrieved 10 de Mayo de 2009 from Jos Manuel Gutirrez Home Page: http://personales.unican.es/gutierjm/docs/tut_ RedesNeuro.pdf [5] Aldabas Rubira, E. (n.d.). Introduccin al Reconocimiento de Patrones mediante Redes Neuronales. Retrieved 02 de Mayo de 2009 from Universidad de Terrassa Barcelona: http://www.jcee.upc.es/JCEE2002/Aldabas.pdf [6] Basogain Olabe, X. (Diciembre de 2008). Redes Neuronales Artificiales y sus Aplicaciones. Retrieved 3 de Mayo de 2009 from Enseanzas Tcnicas: http://ocw.ehu.es/ensenanzas-tecnicas/redesneuronalesartificiales- y-sus aplicaciones/Course_listing [7] Bernacki, M., & Wlodarczyk, P. (6 de Septiembre de 2004). Principles of training multi-layer neural network using backpropagation. From Academia Grniczo-Hutnicza: http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backpro p.html

[13] Bien Guillermo, Krein Diego, Rambo Alice.


Analista de Sistemas de Computacin Instituto Gastn Dachar http://www.sappiens.com/pdf/comunidades/in formatica/InformeRedesNeuronales.pdf [14] Palacios, R., & Gupta, A. (Mayo-Junio de 2003). Sistema de Reconocimiento de Caracteres para la lectura automtica de cheques. Retrieved 7 de Mayo de 2009 from Asociacin / Colegio Nacional de Ingenieros del ICAI: https://www.icai.es/contenidos/publicaciones/ anales_get.php?id=536

Recursos Adicionales
http://www.heatonresearch.com/articles/61/p age1.html

http://www.ibrtses.com/delphi/neuralnets.htm l

Potrebbero piacerti anche