Reconocimiento de caracteres atravez de redes neuronales

21,319 views
21,167 views

Published on

Paper IA

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
21,319
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1,070
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Reconocimiento de caracteres atravez de redes neuronales

  1. 1. APLICACIÓN PARA RECONOCIMIENTO DE CARACTERES A TRAVÉS DE REDES NEURONALES Luis Feijoo Teléfono: 2571753 Loja - Av. Paltas y Estados Unidos. Mail: lafeijoo@utpl.edu.ec, luisfe101@hotmail.com 1. Abstract realizar el proceso de aprendizaje y El presente trabajo describe como implementar reconocimiento de caracteres redes neuronales para el reconocimiento de comprendidos entre la A hasta la Z. caracteres. Lo que pretendo demostrar es la • Implementación de una red neuronal que eficiencia en cuanto a dos algoritmos: usa el algoritmo de Hopfield para realizar el Backpropagation y Hopfield, con eficiencia me proceso de aprendizaje y reconocimiento de refiero a que implementaré estos dos algoritmos caracteres comprendidos entre la A hasta la para reconocer caracteres alfabéticos, como las Z. letras del abecedario, a través de la fase de entrenamiento de dichos algoritmos sabré cual • Comparación en el funcionamiento y es el más optimo y el que menor tiempo se resultados finales obtenidos durante la fase demora a la hora de reconocer un carácter que de entrenamiento de los dos algoritmos ingresare por teclado en una interfaz. Al final nombrados anteriormente. obtendré un cuadro comparativo acerca de • Utilización de la técnica de aprendizaje estos dos algoritmos y esto a su vez me supervisado y no supervisado, a fin de permitirá concluir sobre la eficiencia de los obtener resultados y hacer comparaciones algoritmos nombrados anteriormente. en eficiencia más precisos y reducir el error 2. Introducción al máximo. Muchas personas, empresas o instituciones 4. Descripción del Problema: disponen de gran cantidad de información de En la actualidad vivimos en un mundo forma impresa y desean procesar esta totalmente digitalizado en el cual necesitamos información utilizando un computador, lo como usuarios y empresarios tener márgenes pueden realizar de dos maneras: la primera de seguridad en los negocios y transacciones opción es que toda la información deben que realizamos para lo cual nosotros mediante digitarla a través de teclado, lo cual es un la implementación de un agente para trabajo largo, y si la información es abundante reconocimiento de caracteres que van a ir quizá el periodo de tiempo para digitar esta desde la letra A hasta la F, no elegimos demás información sea demasiado largo. La segunda letras porque se va a generar una red neuronal opción es hacer automáticamente este proceso sumamente grande que luego se va a encontrar a través de reconocimiento de caracteres, lo inconveniente en su generación, voy a utilizar cual sin duda alguna facilita las cosas y el los algoritmos backpropagation y hopfield para tiempo. El reconocimiento de caracteres crear este agente reconocedor de caracteres, el engloba un conjunto de métodos y algoritmos cual va a pasar por una fase de entrenamiento y que los describiré más adelante, los cuales reconocimiento a fin de obtener el resultado permiten realizar una fase de entrenamiento optimo. Esto se realiza con el fin de mostrar el que a la final permitirán reconocer de forma proceso para lograr el objetivo que es reconocer automática caracteres. Cabe recalcar que el el carácter que ingresemos, y además mostrar reconocimiento de caracteres no solo se utiliza cual de los dos algoritmos lo hace al proceso para reconocimiento de textos escritos sino más eficiente y en menos tiempo. Por tal razón tiene muchas aplicaciones como lo veremos en me he propuesto realizar la construcción, y el presente documento. funcionamiento de un agente capaz de 3. Objetivos reconocer caracteres. • Implementación de una red neuronal que 5. Justificación usa el algoritmo de backpropagation para
  2. 2. El reconocimiento de caracteres y dígitos es una de las áreas de aplicación más efectiva de las redes neuronales, al punto de que ya es común el diseño eficiente, manufactura, y comercio de sistemas de reconocimiento de caracteres basados en redes neuronales. La mayoría del trabajo reciente de reconocimiento de caracteres se ha enfocado en aproximaciones estadísticas, sintéticas y estructurales. El método de entrenamiento para Figura # 1.- Estructura de una red neuronal humana redes neuronales multicapa backpropagation ha 6.2. Definición de Redes Neuronales alcanzado una gran popularidad y es el nuevo paradigma para el diseño de los sistemas de Una red neuronal artificial (RNA) es un sistema reconocimiento que dominan el campo. compuesto de muchos elementos procesadores simples, neuronas, conectados en paralelo, cuya En mi caso utilizaré los algoritmos función es determinada por la estructura de la red, Backpropagation y Hopfield ya que el primer la fuerza en las conexiones y el procesamiento algoritmo posee una técnica de aprendizaje realizado por los elementos en los nodos. [2] (Jang automático la cual nos va a permitir obtener et al. 1997). resultados óptimos minimizando el error 6.3. Estructura de una Red Neuronal Artificial cuadrático y así obteniendo la letra más En este apartado abordaré la estructura más parecida a la cual nosotros estamos simulando común de las redes neuronales artificiales en base mediante la fase de entrenamiento. a dos perspectivas: El segundo algoritmo a utilizar es el de Hopfield, 1.-Niveles de neuronas.- La distribución de las el cual utiliza aprendizaje no supervisado ya que neuronas en una red neuronal se realiza formando no realiza ningún proceso de balanceo de carga capas o niveles, y cada capa tiene un número en los nodos, ni verificación del error cuadrático determinado de neuronas cada una, se pueden medio entre los nodos de la red neuronal, por lo presentar tres tipos de capas diferentes: cual al momento de entrenar la red neuronal, De entrada: estas capas reciben la información tardara un poco más en mostrar los resultados. desde el exterior. La necesidad de tener sistemas de De Salida: estas envían la información hacia el reconocimiento automático o semiautomático de exterior caracteres ha sido reconocida por décadas, lo Ocultas: son capas que solo sirven para procesar que ha requerido el desarrollo e integración de información y comunicar otras Capas. diversas áreas como la visión, representación y entendimiento del conocimiento, inteligencia artificial y teoría de control. 6. Fundamentos Teóricos 6.1. Redes Neuronales – Inspiración Biológica. Las neuronas reciben señales (inputs) de otras neuronas vía conexiones sinápticas que pueden ser excitantes o inhibidoras. En función de las señales recibidas, una neurona envía a su vez Figura # 2 Estructura de Red Neuronal una señal a otras neuronas por medio del axón. Según algunos autores, las capas de entrada y de [1] (Jos é Manuel Guti érrez (Universidad de salida no son validas para producir procesamiento, Cantabria)) y son usadas solo como sensores. Tras plantearlo de diferentes modos nuestro marco de trabajo se ha diseñado 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 conexión de las capas.- Las neuronas se conectar unas a las otras usando
  3. 3. sinapsis, pueden conectarse de tres formas patrones parecidos. Normalmente se usa el error diferentes: cuadrático medio para determinar la similitud, Unión Todos con Todos: Este tipo de unión es muy aunque hay otras opciones. [3] Alfonso común lo utilizan algoritmos como Hopfield, Ballesteros (Málaga, España). backpropagation, perceptron. 6.6. El Perceptron Unión Lineal: Consiste en unir cada neurona con Se lo define como aquella red neuronal constituida otra neurona de la otra capa de dos capas (una de entrada y una de salida) con Predeterminado: Este tipo de conexionado aparece conexiones hacia delante. El primer nivel está en redes que tienen la propiedad de agregar o compuesto por un número de unidades de entrada, eliminar neuronas de sus capas y de eliminar denominadas unidades sensoriales. El segundo también conexiones. nivel está compuesto por un número de unidades de salida, denominadas unidades de asociación, 6.4. Características Generales de las redes cuyas entradas son las salidas de las unidades de Neuronales entrada ponderadas por unos pesos. Las unidades • Pesos: Estos pesos ayudan a ajustar el de entrada tienen una sola entrada correspondiente valor de la fuerza de conexión entre las a una de las entradas a la red, y una sola salida. neuronas. Estas unidades transmiten la señal que aparece en • Aprendizaje: Puede ser aprendizaje su entrada. Para nuestro objetivo nos centraremos supervisado y no supervisado, estos en los perceptrones multicapas. [4] (Gutiérrez, conceptos los trataremos más adelante. 2000) • Fase de operación: Aquí nos referimos a la 6.7. Perceptron Multicapa fase de entrenamiento la cual consiste en Identifica a las redes con múltiples capas que proporcionar estímulos de entrada y salida funcionan hacia delante. Esta red se encuentra para que una red se ajuste a los pesos de compuesta por un conjunto de nodos de entrada conexión con las demás neuronas y así se que componen la capa de entrada, un conjunto de logre minimizar el error. una o más capas ocultas de neuronas y una capa de neuronas de salida. La señal de entrada se • Necesitan un patrón: Las redes neuronales propaga hacia adelante desde la capa de entrada no son capaces de reconocer nada que no por la oculta hasta la tenga algún tipo de patrón. salida; este tipo de configuración se conoce como 6.5. Aprendizaje MLP o “MultiLayer Perceptrons”. [5](Aldabas Aprendizaje Supervisado: En este tipo de Rubira, 2003) aprendizaje se muestran cierto tipo de patrones a la red y una salida deseada para estos patrones asi se logra minimizar al máximo el error aplicando una 6.8. Tipos de Redes Neuronales a utilizar en este formula matemática, la cual ajusta los pesos para proyecto: dar la salida real lo más parecida posible a la salida Backpropagation.- El algoritmo deseada. Las aplicaciones más importantes para backpropagation se usa en el proceso de este tipo de aprendizaje es Asociadores de aprendizaje de las redes neuronales multicapa. patrones, esto es asocia dos patrones y permite Su potencia reside en su capacidad de entrenar recuperar la información a pesar de errores en la capas ocultas y de este modo supera las capa de entrada. Modeladores funcionales, las posibilidades restringidas de las redes de una redes neuronales permiten, gracias a su capacidad única capa, las mismas que únicamente dan de ajustar el error dar los valores más cercanos a solución a problemas linealmente separables, una función de la que solo sabemos algunos puntos en el mundo real, la mayoría de problemas no por los que pasa son linealmente separables. [6] (Basogain Olabe, 2008) Aprendizaje no supervisado: Este tipo de Descripción del proceso aprendizaje no necesita que le mostremos los patrones objetivos para salida, ya que el algoritmo y Según [7] (Bernacki & Wlodarczyk, 2004), se la regla de modificación de las conexiones muestra una red neuronal con una capa de producen patrones de salida consistentes. Cuando neuronas de entrada, una capa intermedia u la red procesa patrones con bastante grado de oculta y una capa de salida. Todas las neuronas similitud, da la misma salida para ambos patrones, de cada capa deben estar conectadas a todas esto es, clasifica los patrones en categorías de las neuronas de la siguiente capa.
  4. 4. neuronal, restando el valor de salida final del valor de salida deseado. Ahora se aplica una propagación hacia atrás (backpropagation) del error, para poder calcular los errores de cada neurona en las capas anteriores a la capa de salida. Esta propagación Figura#4 Red neuronal de tres capas con dos hacia la capa oculta se muestra en la figura #8. 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 señales de entrada xi. Esta sumatoria será representada con la letra e. Luego, el segundo componente ejecuta la función de activación de la neurona, que es una función no lineal representada como y = f(e). y es el valor de Figura#7. Propagación de la señal de error salida de la neurona actual, y el valor de hacia la capa de atrás. entrada para las de las capas subsiguientes. Los dos componentes se muestran en la figura La técnica de propagación hacia atrás se usa para todas las capas Una vez que se han calculado los errores para cada neurona, comienza el proceso de modificación de los valores de los pesos de las entradas. Algoritmo de Hopfield Son redes de adaptación probabilística y recurrente. Aprenden a reconstruir los patrones de entrada que memorizan durante el Figura#5. En la parte superior se indica la entrenamiento. asignación de los pesos de entrada a la función, en la grafica de la parte inferior se muestra la Son modo capa con interconexión total y en la función no lineal. que el valor de salida de cada unidad es binario (0 y 1) y siguen una regla de aprendizaje no Las señales de entrada se propagan por la capa supervisado. oculta y por la capa de salida, de acuerdo a los pesos El aprendizaje no supervisado no realiza ningún 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 estímulos, y la red Figura #6. Propagación de las señales por la ajusta los pesos de sus interconexiones capa de salida. utilizando solamente los estímulos y la salida calculada por la red Al llegar a la capa de salida de la red, se calcula el error d de la capa de salida de la red Están formadas por N neuronas interconectadas que actualizan sus valores de activación en forma independiente.
  5. 5. Es buena para resolver problemas de Preprocesamiento optimización. • Primero se carga las imágenes Llega a un estado estable, cuando todas las neuronas son estables. • Se procesa la imagen y se la ubica en una matriz dando 2 valores posibles 1 y En la siguiente figura se muestra la arquitectura -1 del modelo Hopfield PostProcesamiento Para conocer la respuesta de la red basta con tomar el carácter correspondiente a la neurona de salida con valor máximo. Algoritmo utilizado: backpropagation con mejoras. Estas mejoras se muestran a continuación: Adaptative Learning Rate Adapta el parámetro _ según la evolución del error en el aprendizaje. Si el error disminuye consistentemente, se le suma a. Cuando el error aumenta, se le resta b. Momentum La actualización de pesos toma en cuenta el valor del cambio producido en la época Figura#8: Arquitectura del modelo Hopfield anterior. [11] P. García H. Rajchert I. Una característica importante de este modelo es Scena..(4 de junio del 2008). que, una neurona nunca se realimentaría a sí misma (figura#14). [9] (B. Widrow, R. Winter (2001)) Este algoritmo es utilizado para reconocimiento de caracteres, imágenes, reconocimiento de huellas dactilares. [10] (K.I. Funahaski (2006) 7. Trabajos relacionados Trabajo #1 Figura # 9 Reconocimiento de caracteres Uso de una red neuronal multicapa para el griegos. reconocimiento de caracteres griegos. Trabajo #2 En este trabajo realizado en el 2008 se propone Procesado de encuestas la creación de una red multicapa con aprendizaje supervisado. La arquitectura de Otro trabajo similar es el reconocimiento de esta red es como se detalla a continuación: caracteres y marcas orientado al procesado de encuestas, detallado en [12] (De Armas • Alfabeto de 24 caracteres. Domínguez &Bautista Rodríguez, 2005), donde • Imágenes de 16 x 16 pixeles también se utiliza redes neuronales para el propósito ya mencionado. Se describe que para la • Capa de entrada 256 x pixel clasificación de descriptores dentro del módulo de reconocimiento de caracteres se ha realizado una • Capa de salida 24 neuronas, 1 x letra. selección de redes neuronales para cada tipo de • 2 Capas ocultas caracteres: alfabéticos, numéricos y alfanuméricos; todas las redes tienen 42 neuronas en la capa de • Todas las neuronas están conectadas entrada, se entrenaron con 19 tipos de caracteres y con la capa superior. luego se validaron con otros 11 tipos. La
  6. 6. arquitectura de cada una de las redes neuronales queda como sigue: a) caracteres alfabéticos, 100 neuronas en la capa 1, 50 en la capa 2 y 26 en la capa de salida. b) caracteres numéricos, 85 neuronas en la capa 1, 45 en la capa 2 y 13 en la capa de salida. Figura # 10 Aprendizaje con redes Hopfield c) caracteres alfanuméricos, 160 neuronas en la capa1, 140 en la capa 2 y 39 en la capa de salida. Además se hace mención que el Trabajo #4 reconocimiento de caracteres generó el 10,08% Lectura automática de cheques de errores probando con 15 hojas de encuesta En (Palacios & Gupta, 2003) se muestra el y generó una precisión del 100% con otras desarrollo de un sistema de reconocimiento de pruebas realizadas con 50 hojas de encuesta. caracteres para la lectura automática de cheques, en el cual se describe Trabajo # 3 la utilización de técnicas basadas en redes Reconocimiento de Imágenes con algoritmo neuronales para la lectura del valor del cheque. El Hoplfiel en Salta – Argentina. módulo de reconocimiento de dígitos utiliza una serie de algoritmos de normalización y un Se planteó el aprendizaje de tres patrones de 10 clasificador. El clasificador que se utiliza está *10 ingresados por diferentes métodos, para luego basado en redes neuronales, por su rapidez y determinar el reconocimiento de un patrón de porque ofrece buenos resultados en el entrada ingresado con niveles de corrupción o reconocimiento de caracteres. La red neuronal falencia de datos variables, para así poder artificial utilizada es un Perceptrón Multicapa (MLP), determinar el comportamiento de la Red Neuronal la estructura es multiconectada y tiene 117 ante distintas contigencias y su porcentaje de entradas, una capa oculta con 50 neuronas y 10 reconocimiento de patrones. salidas, estas salidas corresponden a los 10 Este trabajo está compuesto por cuatro aspectos posibles dígitos. El nivel de precisión que se obtiene básicos: con este tipo de red es muy alto (92,2% de aciertos, con solo 7,8% de fallos) cuando se entrena con un Topología: Es una red monocapa con conexiones conjunto de ejemplos grande, tal como la base de laterales no recurrentes, esto quiere decir que solo datos de caracteres manuscritos de National se tiene una capa de neuronas que se encuentran Institute of Standars and Techonology [14] Palacios, conectadas entre sí pero no con ellas mismas R., & Gupta, A. (Mayo-Junio de 2003) Aprendizaje : No supervisado Tipo de Asociación entre la información de 8. Herramienta a utilizar y descripción de la entrada y la salida: La función de activación de solución cada neurona (i) de la red (f(x)) es de tipo escalón. 8.1. Herramienta (IDE de desarrollo) Trabaja con los valores binarios –1 y +1 Representación de la Información: Previamente Lenguajes Empleados Y La Solución Del codificada y representada en forma de vector como Mismo una configuración binaria “red discreta”. [13] ( Bien El lenguaje utilizado para el desarrollo del Guillermo, Krein Diego, Rambo Alice) presente proyecto será la herramienta de Visual Studio.NET 2005 C# algunas razones por las que escogí este leguaje las expongo a continuación. • Compila a código intermedio (CIL) independiente del lenguaje en que haya sido escrita la aplicación e independiente de la máquina donde vaya a ejecutarse • Capacidades de reflexión
  7. 7. • No hay que preocuparse por archivos de El archivo contiene un conjunto de 36 elementos cabecera ".h" entre los cuales tenemos letras (A hasta la Z) y • No importa el orden en que hayan sido números (0 hasta 9) definidas las clases ni las funciones Estos ejemplos se dividieron en dos conjuntos • No hay necesidad de declarar funciones y mutuamente excluyentes: un conjunto de clases antes de definirlas aprendizaje y otro conjunto de prueba. • Soporta definición de clases dentro de otras En diferentes pruebas, se hizo variar el tamaño del • No existen funciones, ni variables globales, todo pertenece a una clase conjunto de aprendizaje entre un 83% y un 99% del total de ejemplos disponibles, dejando los ejemplos • Todos los valores son inicializados antes de restantes para el conjunto de prueba. ser usados (automáticamente por defecto, o manualmente desde constructores estáticos) Se entrenaba a la red con el conjunto de • No se pueden utilizar valores no booleanos aprendizaje y se realizaban pruebas con los (enteros, coma flotante...) para ejemplos restantes. condicionales. • Es menos propenso a errores Luego de diversas pruebas con distintas configuraciones de la red y tamaños de conjuntos 9. Análisis de Aplicación de aprendizaje, se notó que existían ciertos Los resultados que obtuvimos se realizaron en base patrones del conjunto de prueba que eran al estudio, del algoritmo de Backpropagation. El clasificados erróneamente por la red en forma funcionamiento se detalla a continuación: recurrente (Caso de la letra B y Q). 9.1. Funcionamiento del Software Backpropagation 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 función de activación y el uso o no de neuronas de tendencia. Además permite parar el aprendizaje luego de una cierta cantidad de iteraciones, o cuando se haya En algunos casos como la A, he elegido patrones llegado a un error global o por patrón predefinido. de Se muestra en tiempo real el error por patrón, lo distintos que permite tener conocimiento sobre cómo tipo me evoluciona la red. refiero a distintos También es posible cargar un conjunto de patrones tipos con de prueba y observar la salida de la red junto con la distintas salida deseada para cada uno de ellos, como así formas de también la cantidad de aciertos y errores. Asimismo se identifican los patrones que fueron clasificados en forma errónea. Selección de los conjuntos de entrenamiento y prueba
  8. 8. representar esta letra. Así también con otras letras, con esto se podrá probar que tan eficiente es la red = Error en cada neurona de la capa d salida al momento de reconocer diferentes patrones que En la aplicación podemos ver que se está representen una sola letra. A continuación muestro calculando el error medio cuadrático para cada una imagen de los distintos tipos de A que pueden salida. reconocer la aplicación: Descripción de Clases Como se convierte la imagen: Para convertir la imagen a matriz se debe hacer cálculos, dividiendo su alto para 11, lo que nos dará el número de filas, y su ancho para 12 lo que nos dará el número de columnas. Además para colocar la imagen en el recuadro grande se agrande el ancho y altura de la imagen haciendo multiplicaciones. Esto podemos ver a continuación: Como se calcula la Taza de Error: BP1Capa.- En esta capa se realiza todo el proceso de recalculo de pesos, la implementación en si del algoritmo Backpropagatión de una capa, también aquí se realiza el cálculo del error medio cuadrático, se realiza la propagación hacia adelante y hacia atrás, 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 métodos necesarios para la aplicación. Red Neuronal.- En esta clase se realiza el proceso de entrenamiento a la red neuronal. Interfaz.cs.- Contiene toda la interfaz de la aplicación, esta clase tiene métodos que permite ep2: Error medio cuadrático para cada patrón de presentar las imágenes, inicializar los componentes salida de la aplicación, hacer llamadas a otros métodos, y mostrar los resultados.
  9. 9. Procesar.- Esta clase es muy importante ya que F 1.084 117 0.7 94% convierte la imagen a matriz como se lo explico G 1.06 100 0.7 91% anteriormente, además esta clase posee un método H 1.073 92 0.6 91% para que una vez que la red reconozca el carácter I 1.06 78 0.8 91% pueda convertir esto a imagen y presentar en los J 1.09 89 0.8 93% resultados. K 1.057 76 0.9 99% L 1.096 93 0.8 95% 10. -. Evaluación: M 1.04 114 0.7 97% La corresponde al uso del algoritmo N 1.063 90 0.7 94% backpropagation el cual contiene un conjunto de O 1.034 94 0.7 95% patrones que van a ser importados, para P 1.054 78 0.9 93% posteriormente entrenarlos y ver el resultado de Q 1.01 69 0.8 56% cada uno. R 1.038 94 0.8 92% S 1.05 86 0.9 96% Vamos a crear una tabla que contenga todos los T 1.065 79 0.7 92% números y caracteres para comparar variables U 1.056 107 0.7 99% como: error, iteración, tiempo y mejor resultado o V 1.089 103 0.6 97% (mayor probabilidad) W 1.099 98 0.6 98% Una vez tomados los datos de todas las variables X 1.04 95 0.6 94% de los caracteres y números, vamos a comparar Y 1.01 89 0.6 96% cual de todos ellos posee niveles más altos de Z 1.043 76 0.7 95% probabilidad en el resultado final obtenido rango (83 - 99) % Los datos que estamos presentando en la tabla de Analizar finalmente que caracteres o números análisis de prueba corresponden a 36 datos en tienen problemas, es decir niveles bajos en la total, entre ellos números (0 hasta 9) y caracteres probabilidad de resultado obtenido (Menor al 60 %) (A hasta la Z). Como podemos darnos cuenta en nuestro software se está analizando cuatro Tabla de datos de entrenamiento y prueba variables que son: error, iteración, tiempo y mejor utilizando Algoritmo Backpropagation. resultado obtenido o (mayor probabilidad) para cada letra y numero ingresado por el usuario para Letra/Núm. Error Iteración Tiempo Mejor Prob. su respectivo análisis. 0 1.064 96 0.7 92% 1 1.073 95 0.6 96% 10.1.Conclusiones sobre el análisis de datos: 2 1.063 92 0.7 89% 3 1.058 118 0.6 85% Observación #1: 4 1.065 94 0.7 96% En el análisis obtenido de todos los números y 5 1.062 112 0.6 95% letras, pudimos darnos cuenta de que existe un 6 1.065 98 0.8 98% problema con la letra B, ya que al momento de 7 1.062 95 0.6 93% entrenar esa letra se obtuvo un resultado de un 8 1.065 110 0.6 83% 30% el cual es bajo y representa un problema de 9 1.064 88 0.8 92% incompatibilidad de caracteres, porque en el panel A 1.083 104 0.6 94% de resultados existe conflicto con el número 3. B 1.069 123 0.7 30% C 1.086 93 0.7 96% El problema existente se debe a que la estructura D 1.07 102 0.9 99% de la letra B con el número 3 es similar, lo cual E 1.074 112 0.8 92% presenta problemas al momento de realizar la fase de entrenamiento de la red, porque existe confusión
  10. 10. de caracteres y por ende el resultado de momento. probabilidad es bajo lo cual representa un resultado ambiguo. Recursos Mínimos: Todo el Altos: Esto es computacion procesamiento en respecto a la fase de Un resultado es óptimo y sus resultados son ales Hopfield se resume a entrenamiento, la cual cálculos matriciales. precisos, cuando están en el rango de aceptación requiere n iteraciones hasta que la red comprendido entre (83 - 99) %. converja. Observación #2: Una vez entrenada la red, el funcionamiento Otro de los resultados que se analizo es el de la <(reconocimiento) letra Q que al igual que el caso anterior, esta puede ejecutarse con recursos. presenta conflicto con la letra O ya que su estructura es similar. Rendimiento Según los Ante los mismos experimentos patrones de pruebas realizados, Hopfield la BPN presento un Al momento de realizar la fase de entrenamiento se cuenta con un rendimiento favorable obtuvo un resultado de un 56% que es un resultado rendimiento favorable del 100%. bajo igual al caso anterior. de tan solo el 50%. Pese a que la letra O difiere de la Q, su estructura es similar y el resultado va a dar lugar a 12. Conclusiones ambigüedades. Si se realiza un aprendizaje con patrones de validación sin ruido los resultados nos muestran Observacion#3: que el error en el aprendizaje disminuye de manera Todos los demás caracteres y números analizados más rápida. al momento de pasar por la fase de entrenamiento y mostrar sus resultados finales la probabilidad del Si se realiza un aprendizaje con patrones de resultado final comprenden un rango de nivel de validación con ruido, el error en el aprendizaje aceptación comprendido entre (83 - 99) % lo cual disminuye más lentamente. representa un resultado óptimo de la imagen del carácter que estamos analizando. A mayor de cantidad de ciclos de aprendizaje, el error del mismo es mínimo. 11. Análisis comparativo entre los algoritmos Backpropagation y Hopfield La utilización de modelos de redes neuronales para dar soporte a la toma de decisiones es posible. Para realizar este análisis comparativo hemos analizado dos algoritmos que son: Recomendamos que la utilizada sea una red BPN, Backpropagation y Hopfield como se puede no una red Hopfield debido a las mejores apreciar en el siguiente cuadro: prestaciones de la primera. Aspectos Hopfield Backpropagation El algoritmo Backpropagation es más eficiente, Complejidad Simple: Esto es debido Compleja: Ya que se en la al tipo de requiere un tiempo pese a que calcula el error cuadrático medio y implantación entrenamiento, una vez considerable debido a realiza un proceso de balanceo de carga entre los la metodología hecha la estructura de nodos de la red neuronal, lo que nos da un prueba y error para la datos correspondiente determinación de la resultado en un menor tiempo que Hopfield. solo resta por encontrar cantidad de capas una buena ocultas, números de configuración de neuronas en las Una aplicación de este tipo debe ser considerada patrones de mismas y valor de los como una herramienta más para ser utilizada por la factores de entrenamiento. persona encargada de tomar decisiones, no es aprendizaje y
  11. 11. posible delegar la toma de decisiones network using backpropagation. From Academia completamente a la aplicación, ya que existen Górniczo-Hutnicza: factores subjetivos e implícitos. http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backpro p.html Dado el tiempo relativamente corto que emplea la [8] . Haykin (1999). Neural Networks. A red para aprender, es recomendable reentrenarla Comprehensive Foundation, Prentice-hall. periódicamente. [9] B. Widrow, R. Winter (2001). Neural nets for adaptive ltering and adaptive patterns recognition. IEEE Computer, Hopfield Architecture. 13. Referencias Bibliográficas: [10] K.I. Funahaski (2006). Description Hopfield . [1] José Manuel Gutiérrez (Universidad de Neural networks. Cantabria), Introducción a las redes Neuronales. http://gaia.fdi.ucm.es/people/pedro/aad/ivan_martin http://personales.unican.es/gutierjm/docs/tut_Redes ez.pdf Neuro.pdf [2] Jang J.-S.R., Sun C. –T., & Mizutani E. (1997). Neuro-Fuzzy and soft computing. A computational [11] P. García H. Rajchert I. Scena. Uso de una red approach to learning and machine intelligence. neuronal multicapa para el reconocimiento de caracteres griegos.(4 de junio del 2008). http://www.tesisenxarxa.net/TESIS_UPC/AVAILABL http://svn.assembla.com/svn/iatp2/informe/informe.p E/TDX-1102106-110455//13Mct13de15.pdf df. [3] Alfonso Ballesteros (Malaga, España). Neural Network Famework. Computering Ingenieer by the [12] De Armas Domínguez, R. C., & Bautista University of Malaga. Rodríguez, L. S. (3 de Noviembre de 2005). Reconocimiento automático de caracteres manuscritos y marcas, orientado al procesado de http://www.redes- encuestas. Retrieved 7 de Mayo de 2009 from Dia neuronales.netfirms.com/tutorial-redes- Matlab UDES: neuronales/tutorial-redes.htm [4] Gutiérrez, J. M. (9 de Marzo de 2000). Introducción a www.compelect.com.co/otros/diamatlab/2005/Ponencia1 las Redes Neuronales. Retrieved 10 de Mayo de 2009 6.pdf from José Manuel Gutiérrez Home Page: http://personales.unican.es/gutierjm/docs/tut_RedesNeuro [13] Bien Guillermo, Krein Diego, Rambo Alice. .pdf Analista de Sistemas de Computación Instituto [5] Aldabas Rubira, E. (n.d.). Introducción al Gastón Dachar Reconocimiento de Patrones mediante Redes Neuronales. http://www.sappiens.com/pdf/comunidades/informatica/I Retrieved 02 de Mayo de 2009 from Universidad de nformeRedesNeuronales.pdf Terrassa Barcelona: http://www.jcee.upc.es/JCEE2002/Aldabas.pdf [14] Palacios, R., & Gupta, A. (Mayo-Junio de 2003). [6] Basogain Olabe, X. (Diciembre de 2008). Redes Sistema de Reconocimiento de Caracteres para la lectura Neuronales Artificiales y sus Aplicaciones. automática de cheques. Retrieved 7 de Mayo de 2009 Retrieved 3 de Mayo de 2009 from Enseñanzas from Asociación / Colegio Nacional de Ingenieros del Técnicas: ICAI: http://ocw.ehu.es/ensenanzas-tecnicas/redes- neuronalesartificiales- y-sus https://www.icai.es/contenidos/publicaciones/anales_get. aplicaciones/Course_listing php?id=536 [7] Bernacki, M., & Wlodarczyk, P. (6 de Septiembre de 2004). Principles of training multi-layer neural Recursos Adicionales
  12. 12. http://www.heatonresearch.com/articles/61/page1.htm l http://www.ibrtses.com/delphi/neuralnets.html

×