SlideShare una empresa de Scribd logo
1 de 12
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
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
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.
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.
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
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
•   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
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.
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
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
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
http://www.heatonresearch.com/articles/61/page1.htm
l

http://www.ibrtses.com/delphi/neuralnets.html

Más contenido relacionado

La actualidad más candente

Lugar geometrico de las raices
Lugar geometrico de las raicesLugar geometrico de las raices
Lugar geometrico de las raicesAdan Aguirre
 
Cinética de un Robot
Cinética de un RobotCinética de un Robot
Cinética de un RobotLeón Leon
 
Tipos de Control
Tipos de ControlTipos de Control
Tipos de Controlluis Knals
 
500 proyectos de electronica
500 proyectos de electronica500 proyectos de electronica
500 proyectos de electronicafedericoblanco
 
Modulación por pulso
Modulación por pulsoModulación por pulso
Modulación por pulsoMarelvis_inf
 
Tipos de controladores
Tipos de controladoresTipos de controladores
Tipos de controladoresCarlos Millan
 
Seguridad de los dispositivos de red
Seguridad de los dispositivos de redSeguridad de los dispositivos de red
Seguridad de los dispositivos de redCarlitos Alvarado
 
PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET SANTIAGO PABLO ALBERTO
 
Tia portal MANUAL
Tia portal MANUALTia portal MANUAL
Tia portal MANUALguelo
 
Clase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGRClase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGRguest21fbd4
 
Ejemplo metodo de sincronizacion de controladores
Ejemplo metodo de sincronizacion de controladoresEjemplo metodo de sincronizacion de controladores
Ejemplo metodo de sincronizacion de controladoresluis Knals
 
Transformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida RealTransformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida RealCesar Daniel Salazar Pérez
 
Controladores Logicos Programables
Controladores Logicos ProgramablesControladores Logicos Programables
Controladores Logicos ProgramablesDavid Levy
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - ProteusRaniellys
 

La actualidad más candente (20)

Laboratorio 13
Laboratorio 13Laboratorio 13
Laboratorio 13
 
Termocuplas o termo pares
Termocuplas o termo paresTermocuplas o termo pares
Termocuplas o termo pares
 
Lugar geometrico de las raices
Lugar geometrico de las raicesLugar geometrico de las raices
Lugar geometrico de las raices
 
Cinética de un Robot
Cinética de un RobotCinética de un Robot
Cinética de un Robot
 
Tipos de Control
Tipos de ControlTipos de Control
Tipos de Control
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Sensores inductivos
Sensores inductivosSensores inductivos
Sensores inductivos
 
500 proyectos de electronica
500 proyectos de electronica500 proyectos de electronica
500 proyectos de electronica
 
Modulación por pulso
Modulación por pulsoModulación por pulso
Modulación por pulso
 
Tipos de controladores
Tipos de controladoresTipos de controladores
Tipos de controladores
 
Seguridad de los dispositivos de red
Seguridad de los dispositivos de redSeguridad de los dispositivos de red
Seguridad de los dispositivos de red
 
PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET PLC: Control industrial distribuido GRAFCET
PLC: Control industrial distribuido GRAFCET
 
Tia portal MANUAL
Tia portal MANUALTia portal MANUAL
Tia portal MANUAL
 
Clase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGRClase 5 - Diseño de controladores por LGR
Clase 5 - Diseño de controladores por LGR
 
decodificador
decodificadordecodificador
decodificador
 
Ejemplo metodo de sincronizacion de controladores
Ejemplo metodo de sincronizacion de controladoresEjemplo metodo de sincronizacion de controladores
Ejemplo metodo de sincronizacion de controladores
 
Transformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida RealTransformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida Real
 
Controladores Logicos Programables
Controladores Logicos ProgramablesControladores Logicos Programables
Controladores Logicos Programables
 
Filtros digitales
Filtros digitalesFiltros digitales
Filtros digitales
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - Proteus
 

Destacado

Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoESCOM
 
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNISTReconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNISTEmilio Garcia
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINEESCOM
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINEESCOM
 
Agente Inteligente
Agente InteligenteAgente Inteligente
Agente Inteligenteluisfe
 
Clustering
ClusteringClustering
Clusteringluisfe
 
Clustering
ClusteringClustering
Clusteringluisfe
 
Open Innovation
Open InnovationOpen Innovation
Open Innovationluisfe
 
Redes Neuronales Aritificiales Reconocimiento de Imágenes con
Redes Neuronales Aritificiales Reconocimiento de Imágenes conRedes Neuronales Aritificiales Reconocimiento de Imágenes con
Redes Neuronales Aritificiales Reconocimiento de Imágenes conVICTOR VIERA BALANTA
 
Aprendizaje no supervisado y el algoritmo wale sleep en redes neuronales
Aprendizaje no supervisado y el algoritmo wale sleep en redes neuronalesAprendizaje no supervisado y el algoritmo wale sleep en redes neuronales
Aprendizaje no supervisado y el algoritmo wale sleep en redes neuronalesJeampierre Salinas Cadillo
 
Control procesos con redes neuronales
Control procesos con redes neuronalesControl procesos con redes neuronales
Control procesos con redes neuronalesMarcos Diocaretz
 
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?Coesi Consultoria
 
Función Logsig y tansig
Función Logsig y tansigFunción Logsig y tansig
Función Logsig y tansigVane Erraez
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareCoesi Consultoria
 
Computación neuronal
Computación neuronalComputación neuronal
Computación neuronalHugo Banda
 
REDES NEURONALES De Hopfield
REDES NEURONALES De HopfieldREDES NEURONALES De Hopfield
REDES NEURONALES De HopfieldESCOM
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1ESCOM
 
RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A daniatacho
 

Destacado (20)

Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y Entrenamiento
 
Rn
RnRn
Rn
 
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNISTReconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
 
Perceptrón multicapa entrenamienta en MatLab
Perceptrón multicapa entrenamienta en MatLabPerceptrón multicapa entrenamienta en MatLab
Perceptrón multicapa entrenamienta en MatLab
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINE
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINE
 
Agente Inteligente
Agente InteligenteAgente Inteligente
Agente Inteligente
 
Clustering
ClusteringClustering
Clustering
 
Clustering
ClusteringClustering
Clustering
 
Open Innovation
Open InnovationOpen Innovation
Open Innovation
 
Redes Neuronales Aritificiales Reconocimiento de Imágenes con
Redes Neuronales Aritificiales Reconocimiento de Imágenes conRedes Neuronales Aritificiales Reconocimiento de Imágenes con
Redes Neuronales Aritificiales Reconocimiento de Imágenes con
 
Aprendizaje no supervisado y el algoritmo wale sleep en redes neuronales
Aprendizaje no supervisado y el algoritmo wale sleep en redes neuronalesAprendizaje no supervisado y el algoritmo wale sleep en redes neuronales
Aprendizaje no supervisado y el algoritmo wale sleep en redes neuronales
 
Control procesos con redes neuronales
Control procesos con redes neuronalesControl procesos con redes neuronales
Control procesos con redes neuronales
 
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
 
Función Logsig y tansig
Función Logsig y tansigFunción Logsig y tansig
Función Logsig y tansig
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
Computación neuronal
Computación neuronalComputación neuronal
Computación neuronal
 
REDES NEURONALES De Hopfield
REDES NEURONALES De HopfieldREDES NEURONALES De Hopfield
REDES NEURONALES De Hopfield
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1
 
RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A
 

Similar a Reconocimiento de caracteres con redes neuronales

Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...
Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...
Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...CESARGARCIABECERRA
 
Redes neuronales final
Redes neuronales finalRedes neuronales final
Redes neuronales finalAdán Silva
 
Redes neuro
Redes neuroRedes neuro
Redes neurodani
 
Paper Proyecto de IAA
Paper Proyecto de IAAPaper Proyecto de IAA
Paper Proyecto de IAADiego Guamán
 
ensayo para erick de alan bodro
ensayo para  erick de alan bodroensayo para  erick de alan bodro
ensayo para erick de alan bodroAlberto Guapo
 
ReporteFinalRedesNeuronales
ReporteFinalRedesNeuronalesReporteFinalRedesNeuronales
ReporteFinalRedesNeuronalesAdán Silva
 
expo ULTIMO mantenimiento.ppt
expo ULTIMO  mantenimiento.pptexpo ULTIMO  mantenimiento.ppt
expo ULTIMO mantenimiento.pptOscar37272
 
Reporte avance individual redes neuronales
Reporte avance individual redes neuronalesReporte avance individual redes neuronales
Reporte avance individual redes neuronalesAdán Silva
 
Practicas un6
Practicas un6Practicas un6
Practicas un6Lenidav
 
Java.akbc
Java.akbcJava.akbc
Java.akbcaurixk
 
ensayo para erick de alan bodro
ensayo para erick de alan bodro ensayo para erick de alan bodro
ensayo para erick de alan bodro Alberto Guapo
 
ensayo para erick de alan bodro
ensayo para erick de alan bodroensayo para erick de alan bodro
ensayo para erick de alan bodroAlberto Guapo
 
The Original Hacker número 6.
The Original Hacker número 6.The Original Hacker número 6.
The Original Hacker número 6.Huehue 1
 

Similar a Reconocimiento de caracteres con redes neuronales (20)

Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...
Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...
Deteccion de trayectorias y caracteres con algoritmos geneticos y redes de ho...
 
Redes neuronales final
Redes neuronales finalRedes neuronales final
Redes neuronales final
 
Redes neuro
Redes neuroRedes neuro
Redes neuro
 
Paper Proyecto de IAA
Paper Proyecto de IAAPaper Proyecto de IAA
Paper Proyecto de IAA
 
ensayo para erick de alan bodro
ensayo para  erick de alan bodroensayo para  erick de alan bodro
ensayo para erick de alan bodro
 
ReporteFinalRedesNeuronales
ReporteFinalRedesNeuronalesReporteFinalRedesNeuronales
ReporteFinalRedesNeuronales
 
expo ULTIMO mantenimiento.ppt
expo ULTIMO  mantenimiento.pptexpo ULTIMO  mantenimiento.ppt
expo ULTIMO mantenimiento.ppt
 
Cecyte jerecuaro
Cecyte jerecuaroCecyte jerecuaro
Cecyte jerecuaro
 
Laboratorio 1 2-3 (1)
Laboratorio 1 2-3 (1)Laboratorio 1 2-3 (1)
Laboratorio 1 2-3 (1)
 
Reporte avance individual redes neuronales
Reporte avance individual redes neuronalesReporte avance individual redes neuronales
Reporte avance individual redes neuronales
 
Practicas
PracticasPracticas
Practicas
 
Practicas un6
Practicas un6Practicas un6
Practicas un6
 
Paper de iaa
Paper de iaaPaper de iaa
Paper de iaa
 
algorimo distribuidos
algorimo distribuidosalgorimo distribuidos
algorimo distribuidos
 
Reporte final
Reporte finalReporte final
Reporte final
 
Java.akbc
Java.akbcJava.akbc
Java.akbc
 
ensayo para erick de alan bodro
ensayo para erick de alan bodro ensayo para erick de alan bodro
ensayo para erick de alan bodro
 
ensayo para erick de alan bodro
ensayo para erick de alan bodroensayo para erick de alan bodro
ensayo para erick de alan bodro
 
REDES NEURONALES.pptx
REDES NEURONALES.pptxREDES NEURONALES.pptx
REDES NEURONALES.pptx
 
The Original Hacker número 6.
The Original Hacker número 6.The Original Hacker número 6.
The Original Hacker número 6.
 

Más de luisfe

Descripcion de algoritmo
Descripcion de algoritmoDescripcion de algoritmo
Descripcion de algoritmoluisfe
 
DescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y InterfazDescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y Interfazluisfe
 
Agente Inteligente Paper
Agente Inteligente PaperAgente Inteligente Paper
Agente Inteligente Paperluisfe
 
Agente Inteligente Ontologia y Tripletas
Agente Inteligente Ontologia y TripletasAgente Inteligente Ontologia y Tripletas
Agente Inteligente Ontologia y Tripletasluisfe
 
ReplicacióN Base De Datos
ReplicacióN  Base De DatosReplicacióN  Base De Datos
ReplicacióN Base De Datosluisfe
 
Ubuntu
UbuntuUbuntu
Ubuntuluisfe
 
Modelos De Carros
Modelos De CarrosModelos De Carros
Modelos De Carrosluisfe
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofwareluisfe
 
Mi Empresa
Mi EmpresaMi Empresa
Mi Empresaluisfe
 

Más de luisfe (9)

Descripcion de algoritmo
Descripcion de algoritmoDescripcion de algoritmo
Descripcion de algoritmo
 
DescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y InterfazDescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y Interfaz
 
Agente Inteligente Paper
Agente Inteligente PaperAgente Inteligente Paper
Agente Inteligente Paper
 
Agente Inteligente Ontologia y Tripletas
Agente Inteligente Ontologia y TripletasAgente Inteligente Ontologia y Tripletas
Agente Inteligente Ontologia y Tripletas
 
ReplicacióN Base De Datos
ReplicacióN  Base De DatosReplicacióN  Base De Datos
ReplicacióN Base De Datos
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Modelos De Carros
Modelos De CarrosModelos De Carros
Modelos De Carros
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofware
 
Mi Empresa
Mi EmpresaMi Empresa
Mi Empresa
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Reconocimiento de caracteres con redes neuronales

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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