Vous êtes sur la page 1sur 253

ENTRENAMIENTO DE REDES NEURONALES BASADO EN ALGORITMOS EVOLUTIVOS

TESIS DE GRADO EN INGENIERA INFORMTICA

FACULTAD DE INGENIERA UNIVERSIDAD DE BUENOS AIRES TESISTA: Sr. Luis Federico Bertona DIRECTORES: Prof. Dr. Ramn Garca Martnez Prof. M. Ing. Paola Britos Laboratorio de Sistemas Inteligentes NOVIEMBRE 2005

ENTRENAMIENTO DE REDES NEURONALES BASADO EN ALGORITMOS EVOLUTIVOS

TESIS DE GRADO EN INGENIERA INFORMTICA

Laboratorio de Sistemas Inteligentes FACULTAD DE INGENIERA UNIVERSIDAD DE BUENOS AIRES

Sr. Luis Federico Bertona Tesista

Dr. Ramn Garca Martnez M. Ing. Paola Britos Directores

NOVIEMBRE 2005

Resumen
En este trabajo se estudia un mtodo alternativo para el entrenamiento de redes neuronales con conexin hacia delante. Una vez determinada la topologa de la red neuronal se utiliza un algoritmo gentico para ajustar los pesos de la red neuronal. Se evalan diferentes variantes de los operadores genticos para el entrenamiento de las redes neuronales. Los resultados obtenidos por el algoritmo gentico son contrastados con los resultados obtenidos por el algoritmo de retropropagacin de errores. Palabras claves: Computacin evolutiva, redes neuronales, algoritmos genticos, entrenamiento, retropropagacin.

Abstract
In this work an alternative method to train feedforward neural networks is studied. Once the topology of the neural network is determined, a genetic algorithm is used to adjust the neural networks weights. Different variations of the genetic operators to train neural networks are evaluated. The results reached by the genetic algorithm are contrasted with the results reached by the Backpropagation Algorithm. Keywords: Evolutionary computation, neural networks, genetic algorithms, train, Backpropagation.

Entrenamiento de redes neuronales basado en algoritmos evolutivos

ndice de contenidos
Captulo 1: Introduccin ..................................................................................... 1 1.2. Organizacin de esta tesis....................................................................... 2 Captulo 2: Redes neuronales ............................................................................ 5 2.1. El modelo biolgico.................................................................................. 5 2.2. Estructura de un sistema neuronal artificial ............................................. 6 2.3. Modelo de neurona artificial..................................................................... 7 2.3.1. Entradas y salidas ............................................................................. 8 2.3.2. Pesos sinpticos ............................................................................... 8 2.3.3. Regla de propagacin ....................................................................... 8 2.3.4. Funcin de activacin........................................................................ 9 2.3.5. Funcin de salida .............................................................................. 9 2.4. Arquitectura de una red neuronal .......................................................... 10 2.5. Aprendizaje............................................................................................ 10 2.5.1. Fase de entrenamiento. .................................................................. 10 2.5.2. Fase de operacin........................................................................... 11 2.6. Redes neuronales con conexin hacia delante ..................................... 11 2.6.1. Perceptrn....................................................................................... 12 2.6.2. ADALINE / MADALINE.................................................................... 12 2.6.3. Perceptrn multicapa ...................................................................... 13 Captulo 3: Entrenamiento de redes neuronales .............................................. 15 3.1. Mtodos de gradiente descendente....................................................... 15 3.2. El algoritmo Backpropagation ................................................................ 16 3.2.1. Deduccin del algoritmo Backpropagation ...................................... 16 3.2.2. Modos de entrenamiento................................................................. 19 3.2.3. Aceleracin del aprendizaje ............................................................ 20 3.3. Generalizacin....................................................................................... 22 Captulo 4: Algoritmos genticos...................................................................... 25 4.1. Introduccin ........................................................................................... 25 4.2. El cromosoma........................................................................................ 26 4.3. Evaluacin y aptitud............................................................................... 27 4.4. Poblacin ............................................................................................... 27 4.5 Variantes de los operadores bsicos ...................................................... 28 4.5.1. Seleccin......................................................................................... 28 4.5.2. Cruza............................................................................................... 30 4.5.3. Mutacin.......................................................................................... 31 Captulo 5: Descripcin del problema............................................................... 33 5.1. Deficiencias del algoritmo ...................................................................... 33 5.2. Objetivo y marco de trabajo ................................................................... 35 Captulo 6: Solucin propuesta ........................................................................ 37 6.1. Algoritmo gentico para entrenamiento de redes neuronales................ 38 6.1.1. Codificacin de parmetros............................................................. 38 6.1.2. Del genotipo al fenotipo................................................................... 38 6.1.3. Evaluacin y aptitud ........................................................................ 38 6.1.4. Operadores de seleccin ............................................................... 39 6.1.5. Operadores de cruza....................................................................... 41 6.1.6. Operadores de mutacin................................................................. 43 6.1.7. Operadores de inicializacin ........................................................... 45 6.2. Problemas del mtodo propuesto .......................................................... 46 L. Federico Bertona i

Entrenamiento de redes neuronales basado en algoritmos evolutivos 6.2.1. El problema de la convergencia prematura..................................... 46 6.2.2. El problema de la permutacin........................................................ 47 6.3. Cuestiones a resolver en esta tesis ....................................................... 48 Captulo 7: Experimentacin ............................................................................ 49 7.1. Diseo experimental .............................................................................. 49 7.1.1. El algoritmo backpropagation.......................................................... 50 7.1.2. El algoritmo gentico....................................................................... 51 7.1.3. El set de entrenamiento ................................................................. 51 7.1.4. Evaluacin del mtodo .................................................................... 52 7.1.5. Parmetros de los algoritmos.......................................................... 53 7.1.6. Tipos de grficos ............................................................................. 54 7.2. Experimentos......................................................................................... 55 7.2.1. Red Neuronal .................................................................................. 55 7.2.2. Algoritmos genticos ....................................................................... 60 7.2.3. Comparacin de ambos mtodos.................................................... 72 Captulo 8: Conclusiones y limitaciones ........................................................... 77 Referencias ...................................................................................................... 83 Apndice A: Datos Experimentales .................................................................. 89 Apndice B: Metodologa de software............................................................ 197 B.1. Requerimientos ................................................................................... 197 B.2. Anlisis ................................................................................................ 197 B.2.1. Seleccionar topologa ................................................................... 197 B.2.2. Seleccionar tipo de entrenamiento................................................ 198 B.2.3. Configurar algoritmo de entrenamiento......................................... 198 B.2.4. Cargar ejemplos de entrenamiento............................................... 198 B.2.5. Cargar ejemplos de evaluacin .................................................... 199 B.2.6. Entrenar red neuronal ................................................................... 199 B.3. Diseo ................................................................................................. 200 B.3.1. Plataforma .................................................................................... 200 B.3.2. Archivos y bloques constitutivos del sistema ................................ 201 B.3.3. Estructuras de datos ..................................................................... 210 B.3.4. Formato de los archivos de estadsticas....................................... 212 B.4. Implementacin ................................................................................... 213 B.4.1. Pantallas ....................................................................................... 213 B.4.2. Funciones implementadas ............................................................ 214 B.4.3. Pruebas ........................................................................................ 225 B.5. Mantenimiento..................................................................................... 239 B.5.1. Gestin de configuracin .............................................................. 239

ii

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 1: Introduccin
La Inteligencia Artificial es la disciplina que estudia la forma de disear procesos que exhiban caractersticas que comnmente se asocian con el comportamiento humano inteligente [Garca Martnez, 1997]. La Inteligencia Artificial sintetiza y automatiza tareas intelectuales y es, por lo tanto, potencialmente relevante para cualquier mbito de la actividad intelectual humana [Russell y Norving, 2004]. Actualmente esta ciencia est comprendida por varios subcampos que van desde reas de propsito general, como el aprendizaje y la percepcin, a otras ms especficas como la demostracin de teoremas matemticos, el diagnostico de enfermedades, etc. Uno de los modelos que ha surgido para emular el proceso de aprendizaje es la red neuronal artificial. Las redes neuronales son modelos que intentan reproducir el comportamiento del cerebro humano [Hilera y Martnez, 1995]. Una red neuronal consiste en un conjunto de elementos de procesamiento, llamados neuronas, los cuales se conectan entre s [Koehn, 1994]. La organizacin y disposicin de las neuronas dentro de una red neuronal se denomina topologa, y viene dada por el nmero de capas, la cantidad de neuronas por capa, el grado de conectividad, y el tipo de conexin entre neuronas. Una vez determinada la topologa de la red neuronal es necesario entrenarla. En la etapa de entrenamiento la red es capaz de aprender relaciones complejas entre entradas y salidas mediante el ajuste de los pesos de las conexiones entre neuronas. Widrow y Lehr [Lehr y Widrow, 1990] identifican una cantidad significativa de algoritmos de entrenamiento. La mayora de stos utilizan informacin del gradiente de una funcin de error para ajustar los pesos de las conexiones, y se los llaman algoritmos de gradiente descendente [Porto, 1998] Las redes neuronales artificiales han sido aplicadas con xito en gran cantidad de problemas como por ejemplo reconocimiento de patrones, clasificacin, visin, control, prediccin, etc. [Zilouchian, 2001]. Sin embargo, los algoritmos de gradiente descendente poseen dos problemas. Primero, suelen quedar atrapados en mnimos locales, generndose de esta manera estimaciones subptimas de los pesos. Segundo, suelen ser muy lentos por utilizar pasos infinitesimales para alcanzar la solucin. Los algoritmos evolutivos, dentro de los cuales los algoritmos genticos son los ms conocidos, son una familia de modelos computacionales inspirados en la evolucin y la supervivencia del ms apto [Bch, et. al., 1991; mer, 1995; Whitley, 2001]. Se utilizan fundamentalmente en la resolucin de problemas de bsqueda y de optimizacin [Holland, 1975]. El verdadero poder de estos algoritmos radica en la bsqueda simultnea de la solucin en un conjunto de posibles soluciones (individuos). Buscan una solucin del problema reproduciendo genticamente una poblacin de individuos a lo largo de una serie de generaciones [Koza, 1997]. En el contexto de los algoritmos evolutivos, el aprendizaje es formulado como un problema de optimizacin. Dada una topologa fija, el entrenamiento de una red neuronal puede ser visto como un proceso de optimizacin cuyo L. Federico Bertona Introduccin 1

Entrenamiento de redes neuronales basado en algoritmos evolutivos objetivo es encontrar un conjunto de pesos que minimice el error que produce la red sobre el conjunto de datos de entrenamiento. Esto convierte a los algoritmos evolutivos en una alternativa a los mtodos de entrenamiento tradicionales, ya que aquellos son capaces de no quedar atrapados en mnimos locales y, al avanzar hacia la solucin mediante operadores genticos, pueden aumentar la velocidad de convergencia a la solucin. El objetivo de este proyecto es combinar dos tcnicas utilizadas en la construccin de sistemas inteligentes, los algoritmos evolutivos y las redes neuronales, para crear un sistema donde, tras definir una topologa de red neuronal, los primeros sean utilizados para entrenar a las segundas, en reemplazo de los tradicionales algoritmos de entrenamiento. Se contrastar el entrenamiento de redes neuronales basado en algoritmos genticos con el entrenamiento basado en mtodos convencionales actualmente en uso.

1.2. Organizacin de esta tesis


El resto de este trabajo se encuentra organizado de la siguiente manera: Los captulos 2 a 4 son captulos introductorios, y se presentan las tecnologas utilizadas a lo largo de esta tesis. Luego, en los captulos restantes, se realiza una presentacin del problema, la solucin propuesta y los resultados y conclusiones obtenidas a lo largo de los experimentos. En el Captulo 2 se presentan las redes neuronales. Se introducen los conceptos bsicos de sta tcnica y se realiza una descripcin detallada del modo de funcionamiento de las mismas. El Captulo 3 est dedicado al estudio de los mtodos de aprendizaje de las redes neuronales. Se realiza una introduccin a los mtodos de entrenamiento y se desarrolla en detalle el algoritmo Backpropagation. Se exponen los distintos modos de entrenamiento y se enumeran las distintas tcnicas para acelerar el entrenamiento de una red neuronal. Se introduce el concepto de generalizacin. En el Captulo 4 se introducen los conceptos generales de los algoritmos genticos. Se describe en detalle las caractersticas de esta tcnica y se realiza una descripcin pormenorizada de los operadores genticos. Esta descripcin sirve como base para entender las caractersticas de la solucin propuesta. En el Captulo 5 se enumerar las deficiencias que tiene el algoritmo de entrenamiento backpropagation y que llevan a la necesidad de buscar una forma alternativa y complementaria de entrenar redes neuronales. Se plantean los objetivos de diseo del mtodo alternativo. En el Captulo 6 se describen las caractersticas principales que convierten a los algoritmos genticos como una alternativa interesante para entrenar redes neuronales. Se presentan las caractersticas de diseo del mtodo alternativo y se proponen algunas variantes de los operadores genticos para entrenar redes neuronales. Introduccin L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos El Captulo 7 est dividido en dos partes. En la primera de ellas se realiza una presentacin del diseo experimental. Se describen las caractersticas de los experimentos y la manera en que se analizarn los resultados. La segunda parte de dicho captulo esta dedicada a la presentacin de los resultados y al anlisis de los mismos. Se muestran los principales resultados obtenidos a lo largo de cada experimento de manera grfica y se realiza una descripcin detallada de los mismos. En el Captulo 8 se retoman todas las cuestiones surgidas a lo largo de este trabajo y se responden a las mismas en base a los resultados experimentales y/o los fundamentos tericos introducidos. Contiene las conclusiones finales de este trabajo. Tambin en este captulo se identifican las limitaciones del trabajo y se plantean futuras lneas de investigacin. En el Apndice A se despliegan los datos numricos obtenidos a lo largo de la etapa de experimentacin. En el Apndice B se introduce la metodologa de software aplicada al desarrollo realizado en esta tesis. En el se presentan los conceptos fundamentales que se utilizaron para disear y desarrollar el sistema utilizado en esta tesis.

L. Federico Bertona

Introduccin

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 2: Redes neuronales


Las redes neuronales artificiales (RNA) son modelos matemticos que intentan reproducir el funcionamiento del sistema nervioso. Como todo modelo, realizan una simplificacin del sistema real que simulan y toman las caractersticas principales del mismo para la resolucin de una tarea determinada.

2.1. El modelo biolgico


El cerebro es el elemento principal del sistema nervioso humano y est compuesto por un tipo especial de clula llamada neurona. Una neurona es una clula viva y como tal posee todos los elementos comunes de las clulas biolgicas. A su vez, las neuronas tienen caractersticas propias que le permiten comunicarse entre ellas, lo que las diferencia del resto de las clulas biolgicas. La figura 2.1 muestra la estructura tpica de una neurona biolgica.

Figura 2.1. Neurona biolgica De la figura se observa que la neurona biolgica esta compuesta por un cuerpo celular o soma, del cual se desprende rbol de ramificaciones llamado rbol dendrtico, compuesto por las dendritas. Del soma tambin parte una fibra tubular, llamada axn, el cual suele ramificarse cerca de su extremo. Las dendritas actan como un canal de entrada de seales provenientes desde el exterior hacia la neurona, mientras que el axn acta como un canal de salida. El espacio entre dos neuronas vecinas se denomina sinapsis. En el crtex cerebral se observa una organizacin horizontal en capas, as como tambin una organizacin vertical en columnas de neuronas. La intensidad de una sinapsis no es fija, sino que puede ser modificada en base a la informacin proveniente del medio. De esta manera la estructura del cerebro no permanece fija sino que se va modificando por la formacin de nuevas conexiones, ya sean excitadoras o inhibidoras, la destruccin de conexiones, la modificacin de la intensidad de la sinapsis, o incluso por muerte neuronal.

L. Federico Bertona

Redes neuronales

Entrenamiento de redes neuronales basado en algoritmos evolutivos Desde un punto de vista funcional, las neuronas conforman un procesador de informacin sencillo. Constan de un subsistema de entrada (dendritas), un subsistema de procesamiento (el soma) y un subsistema de salida (axn) Como se menciono antes, una de las caractersticas principales de las neuronas, y que la distinguen del resto de las clulas, es su capacidad de comunicarse. Las seales nerviosas pueden ser elctricas o qumicas. La transmisin qumica se da principalmente en la comunicacin entre neuronas, mientras que la elctrica se produce dentro de una neurona [Garca Martnez, et alt, 2003]. En general, una neurona recibe informacin de cientos de neuronas vecinas y la transmite a otras tantas neuronas. La comunicacin entre neuronas se lleva a cabo de la siguiente manera: en el soma de las neuronas transmisoras o presinpticas se genera un pulso elctrico llamado potencial de accin. El pulso elctrico se propaga a travs del axn en direccin a las sinapsis. La informacin se transmite a las neuronas vecinas utilizando un proceso qumico, mediante la liberacin de neurotransmisores. Estos neurotransmisores se transmiten a travs de la sinapsis hacia la neurona receptora. La neurona receptora o postsinptica toma la seal enviada por cientos de neuronas a travs de las dendritas y la transmite al cuerpo celular. Estas seales pueden ser excitadoras (positivas) o inhibidoras (negativas) [Gurney, 1997]. El soma es el encargado de integrar la informacin proveniente de las distintas neuronas. Si la seal resultante supera un determinado umbral (umbral de disparo) el soma emite un pulso que se transmite al lo largo del axn dando lugar a la transmisin elctrica a lo largo de la neurona. Al llegar la seal al extremo del axn se liberan neurotransmisores que permiten transmitir la seal a las neuronas vecinas. [Nascimiento, 1994].

2.2. Estructura de un sistema neuronal artificial


Como se dijo anteriormente, las redes neuronales son modelos matemticos que intentan reproducir el comportamiento del cerebro humano. El principal objetivo de este modelo es la construccin de sistemas capaces de presentar un cierto comportamiento inteligente. Esto implica la capacidad de aprender a realizar una determinada tarea. Las caractersticas principales que reproducen las redes neuronales artificiales se pueden reducir a los siguientes tres conceptos: procesamiento paralelo, distribuido y adaptativo. [Del Brio y Sanz Molina, 2002] El verdadero poder de este modelo radica en el procesamiento paralelo realizado por las neuronas artificiales. La neurona artificial es un elemento de procesamiento simple y constituye el elemento principal de un sistema neuronal artificial. Estas neuronas artificiales se combinan en estructuras denominadas capas. Una red neuronal artificial esta un compuesta por un conjunto de capas. De esta manera, la informacin se encuentre distribuida a lo largo de las sinapsis de la red, dndole a este sistema cierta tolerancia a fallos. A su vez, las redes neuronales artificiales son capaces de adaptar su funcionamiento a distintos entornos modificando sus conexiones entre neuronas. De esta manera pueden aprender de la experiencia y generalizar conceptos. 6 Redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Por ltimo, un conjunto de redes neuronales, junto con las interfases de entrada y salida, y los mdulos lgicos adicionales conforman un sistema neuronal artificial.

2.3. Modelo de neurona artificial


La neurona artificial es un elemento de procesamiento simple que a partir de un vector de entradas produce una nica salida. En general podemos encontrar tres tipos de neuronas artificiales, donde cada una de las cuales tiene su contraparte en el sistema nervioso: 1. Las que reciben informacin directamente desde el exterior, a las cuales se las denomina neuronas de entrada. 2. Las que reciben informacin desde otras neuronas artificiales, a las cuales se las denomina neuronas ocultas. Es en estas neuronas, en particular en sus sinapsis, donde se realiza la representacin de la informacin almacenada. 3. Las que reciben la informacin procesada y las devuelven al exterior. A estas neuronas se las denomina neuronas de salida. La figura 2.2 muestra los elementos que componen una neurona artificial:

Figura 2.2. Neurona artificial Conjunto de entradas, xj(t). Estas pueden ser provenientes del exterior o de otras neuronas artificiales. Peso sinpticos, wij. Representan el grado de comunicacin entre la neurona artificial j y la neurona artificial i. Pueden ser excitadores o inhibidores Regla de propagacin, i(wij, xj(t)). Integra la informacin proveniente de las distintas neuronas artificiales y proporciona el valor del potencial postsinptico de la neurona i. Funcin de activacin, fi(ai(t-1), hi(t)). Provee el estado de activacin actual de la neurona i. Redes neuronales 7

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin de salida, Fi(ai(t)). Representa la salida actual de la neurona i.

De esta forma, la salida producida por una neurona i, para un determinado instante de tiempo t puede ser escrita en forma general de la siguiente manera

y i (t ) = Fi ( f i [ai (t 1), i ( wij , x j (t ))])

(2.1)

A continuacin se estudian cada uno de los puntos introducidos anteriormente.

2.3.1. Entradas y salidas


Las entradas y salidas de una neurona pueden ser clasificadas en dos grandes grupos, binarias o continuas. Las neuronas binarias (digitales) slo admiten dos valores posibles. En general en este tipo de neurona se utilizan los siguientes dos alfabetos {0,1} o {-1,1}. Por su parte, las neuronas continuas (analgicas) admiten valores dentro de un determinado rango, que en general suele definirse como [-1, 1]. La seleccin del tipo de neurona a utilizar depende de la aplicacin y del modelo a construir.

2.3.2. Pesos sinpticos


El peso sinptico wij define la fuerza de una conexin sinptica entre dos neuronas, la neurona presinptica i y la neurona postsinptica j. Los pesos sinpticos pueden tomar valores positivos, negativos o cero. En caso de una entrada positiva, un peso positivo acta como excitador, mientras que un peso negativo acta como inhibidor. En caso de que el peso sea cero, no existe comunicacin entre el par de neuronas. Mediante el ajuste de los pesos sinpticos la red es capaz de adaptarse a cualquier entorno y realizar una determinada tarea.

2.3.3. Regla de propagacin


La regla de propagacin determina el potencial resultante de la interaccin de la neurona i con las N neuronas vecinas. El potencial resultante hi se puede expresar de la siguiente manera:

hi (t ) = i ( wij , x j (t ))

(2.2)

La regla de propagacin ms simple y utilizada consiste en realizar una suma de las entradas ponderadas con sus pesos sinpticos correspondientes:

Redes neuronales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

hi (t ) = wij * x j (t )
j

(2.3)

2.3.4. Funcin de activacin


La funcin de activacin determina el estado de activacin actual de la neurona en base al potencial resultante hi y al estado de activacin anterior de la neurona ai(t-1). El estado de activacin de la neurona para un determinado instante de tiempo t puede ser expresado de la siguiente manera: a i (t ) = f i (ai (t 1), hi (t )) (2.4)

Sin embargo, en la mayora de los modelos se suele ignorar el estado anterior de la neurona, definindose el estado de activacin en funcin del potencial resultante hi: ai (t ) = f i (hi (t )) (2.5)

La tabla 2.1 muestra un listado de algunas de las funciones de activacin ms utilizadas en los distintos modelos de redes neuronales artificiales. Funcin Identidad Escaln Formula y=x Rango [-,] [0,1] [-1,1] [-1,1]
si -1 x 1 si x >1 si x <-1

{ +01 1 y = {+1
y =
x y = +1 1

si x 0 si x <0
si x 0 si x <0

Lineal a tramos

Sigmoidea Sinusoidal

[0,1] 1 x 1+ e y = tanh(x) [-1,1] y = Sen( .x + ) [-1,1] Tabla 2.1. Funciones de activacin

y=

2.3.5. Funcin de salida


La funcin de salida proporciona el valor de salida de la neurona, en base al estado de activacin de la neurona. En general se utiliza la funcin identidad, es decir:

y i (t ) = Fi (ai (t )) = ai (t )

(2.6)

L. Federico Bertona

Redes neuronales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

2.4. Arquitectura de una red neuronal


Una vez definida el tipo de neurona que se utilizar en un modelo de redes neuronales artificiales es necesario definir la topologa de la misma. La organizacin y disposicin de las neuronas dentro de una red neuronal se denomina topologa, y viene dada por el nmero de capas, la cantidad de neuronas por capa, el grado de conectividad, y el tipo de conexin entre neuronas. Las neuronas suelen agruparse en unidades funcionales denominadas capas. Se denomina capa de entrada a aquella que esta compuesta por neuronas de entradas y por lo tanto recibe informacin procedente desde el exterior. Anlogamente, se denomina capa oculta y capa de salida a aquellas capas que estn compuestas por neuronas ocultas y de salida respectivamente. Una red neuronal artificial esta compuesta por una o ms capas, las cuales se encuentran interconectadas entre s. Entre un par de neuronas de la red neuronal artificial pueden existir conexiones. Estas conexiones son las sinapsis, tienen asociadas un peso sinptico, y son direccionales. Cuando la conexin se establece entre dos neuronas de una misma capa hablamos de conexiones laterales o conexiones intra-capa. Por el contrario, si la conexin se establece entre neuronas de distintas capas se la denomina conexin inter-capa. Si la conexin se produce en el sentido inverso al de entrada-salida la conexin se llama recurrente o realimentada. Una red puede estar formada por una nica capa de neuronas. En este caso hablamos de redes monocapa, y las neuronas que conforman dicha capa cumplen la funcin de neuronas de entrada y salida simultneamente. Cuando la red esta compuesta por dos o ms capas hablamos de redes multicapa. A su vez, hablamos de redes neuronales con conexin hacia delante (redes feedforward) cuando las conexiones entre las distintas neuronas de la red siguen un nico sentido, desde la entrada de la red hacia la salida de la misma. Cuando las conexiones pueden ser tanto hacia delante como hacia atrs hablamos de redes recurrentes (redes feedback).

2.5. Aprendizaje
Durante la operatoria de una red neuronal podemos distinguir claramente dos fases o modos de operacin: la fase de aprendizaje o entrenamiento, y la fase de operacin o ejecucin. Durante la primera fase, la fase de aprendizaje, la red es entrenada para realizar un determinado tipo de procesamiento. Una vez alcanzado un nivel de entrenamiento adecuado, se pasa a la fase de operacin, donde la red es utilizada para llevar a cabo la tarea para la cual fue entrenada.

2.5.1. Fase de entrenamiento.


Una vez seleccionada el tipo de neurona artificial que se utilizar en una red neuronal y determinada su topologa es necesario entrenarla para que la red 10 Redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos pueda ser utilizada. Partiendo de un conjunto de pesos sinpticos aleatorio, el proceso de aprendizaje busca un conjunto de pesos que permitan a la red desarrollar correctamente una determinada tarea. Durante el proceso de aprendizaje se va refinando iterativamente la solucin hasta alcanzar un nivel de operacin suficientemente bueno. El proceso de aprendizaje se puede dividir en tres grandes grupos de acuerdo a sus caractersticas [Isasi Viuela y Galvn Len, 2004], [Yao, 1999]: Aprendizaje supervisado. Se presenta a la red un conjunto de patrones de entrada junto con la salida esperada. Los pesos se van modificando de manera proporcional al error que se produce entre la salida real de la red y la salida esperada. Aprendizaje no supervisado. Se presenta ala red un conjunto de patrones de entrada. No hay informacin disponible sobre la salida esperada. El proceso de entrenamiento en este caso deber ajustar sus pesos en base a la correlacin existente entre los datos de entrada. Aprendizaje por refuerzo. Este tipo de aprendizaje se ubica entre medio de los dos anteriores. Se le presenta a la red un conjunto de patrones de entrada y se le indica a la red si la salida obtenida es o no correcta. Sin embargo, no se le proporciona el valor de la salida esperada. Este tipo de aprendizaje es muy til en aquellos casos en que se desconoce cual es la salida exacta que debe proporcionar la red.

2.5.2. Fase de operacin.


Una vez finalizada la fase de aprendizaje, la red puede ser utilizada para realizar la tarea para la que fue entrenada. Una de las principales ventajas que posee este modelo es que la red aprende la relacin existente entre los datos, adquiriendo la capacidad de generalizar conceptos. De esta manera, una red neuronal puede tratar con informacin que no le fue presentada durante de la fase de entrenamiento.

2.6. Redes neuronales con conexin hacia delante


Las redes neuronales artificiales con conexin hacia delante son el tema central de esta tesis. Este tipo de red, que se caracteriza por su organizacin en capas y conexiones estrictamente hacia delante, utiliza algoritmos de entrenamiento del tipo supervisado. Este grupo de red es el ms utilizado en aplicaciones prcticas que utilicen redes neuronales, obtenindose muy buenos resultados fundamentalmente como clasificadores de patrones y estimadores de funciones. Dentro de este grupo de redes neuronales encontramos al perceptrn, la red ADALINE/MADALINE, y al perceptrn multicapa.

L. Federico Bertona

Redes neuronales

11

Entrenamiento de redes neuronales basado en algoritmos evolutivos

2.6.1. Perceptrn.
Este modelo tiene gran importancia histrica ya que fue el primer modelo en poseer un mecanismo de entrenamiento que permite determinar automticamente los pesos sinpticos que clasifican correctamente a un conjunto de patrones a partir de un conjunto de ejemplos. La arquitectura del perceptrn esta compuesta por dos capas de neuronas, una de entrada y una de salida. La capa de entrada es la que recibe la informacin proveniente del exterior y la transmite a las neuronas sin realizar ningn tipo de operacin sobre la seal de entrada. En general la informacin entrante es binaria. La funcin de activacin de las neuronas de un perceptrn es del tipo escaln, dando de esta manera slo salidas binarias. Cada neurona de salida del perceptrn representa a una clase. Una neurona de salida responde con 1 si el vector de entrada pertenece a la clase a la que representa y responde con 0 en caso contrario. La operacin de un perceptrn con n neuronas de entrada y m neuronas de salidas puede ser resumida de la siguiente manera:
y i (t) = f( wij x j i ) i, 1im
j =1 n

(2.7)

El algoritmo de entrenamiento del perceptrn se encuentra dentro de los denominados algoritmos por correccin de errores. Este tipo de algoritmos ajustan los pesos de manera proporcional a la diferencia entre la salida actual proporcionada por la red y la salida objetivo, con el fin de minimizar el error producido por la red. Se puede demostrar que este mtodo de entrenamiento converge siempre en un tiempo finito y con independencia de los pesos de partida, siempre que la funcin a representar sea linealmente separable. El principal problema de este mtodo de entrenamiento es que cuando la funcin a representar no es linealmente separable el proceso de entrenamiento oscilar y nunca alcanzar la solucin. Las funciones no separables linealmente no pueden ser representadas por un perceptrn.

2.6.2. ADALINE / MADALINE


Otro de los modelos que tienen gran importancia es la red neuronal ADALINE. La topologa de la red ADALINE es similar a la del perceptrn slo que en este caso la funcin de salida de las neuronas es lineal. Dado que las seales de entrada pueden ser continuas, la red ADALINE es un dispositivo de entrada/salida analgica (continua) a diferencia del perceptrn que de acuerdo a lo dicho anteriormente es un dispositivo entrada/salida digital (binaria) La operacin de una red ADALINE con n neuronas de entrada y m neuronas de salidas puede ser resumida de la siguiente manera:
y i (t) = wij x j i i, 1im
j =1 n

(2.8)

12

Redes neuronales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Sin embargo, la principal diferencia entre la red ADALINE y el perceptrn consiste en la regla de aprendizaje que utilizan. En el caso de la red ADALINE implementa como mtodo de aprendizaje la regla de Widrow-Hoff, tambin conocida como regla LMS (Least Mean Squares, mnimos cuadrados), que realiza una actualizacin continua de los pesos sinpticos de acuerdo a la contribucin de cada neurona sobre el error total de la red. Este mtodo produce un conjunto de pesos sinpticos ptimos desde el punto de vista de los mnimos cuadrados (un conjunto de pesos que minimiza el error cuadrtico que comete la red), y en caso de que los vectores de entrada sean linealmente independientes produce una asociacin perfecta entre entradas-salidas. Existe una versin multicapa de la ADALINE denominada MADALINE (Multiple ADALINE, mltiples Adalides) que consiste en una red neuronal con neuronas similares a las de la ADALINE pero que contiene capas de neuronas ocultas.

2.6.3. Perceptrn multicapa


El perceptrn multicapa es una extensin del perceptrn simple. La topologa de un perceptrn multicapa esta definida por un conjunto de capas ocultas, una capa de entrada y una de salida. No existen restricciones sobre la funcin de activacin aunque en general se suelen utilizar funciones sigmoideas. La operacin de un perceptrn multicapa con una nica capa oculta puede ser resumida de la siguiente manera:

z k = w' kj y i 'i = w' kj f ( w ji xi i ) 'i


j j i

(2.9)

Este modelo es el ms utilizado en la actualidad. El espectro de aplicaciones del perceptrn multicapa es muy amplio lo que hace muy difcil enumerar sus aplicaciones ms relevantes. Sin embargo, podemos mencionar algunas reas de aplicacin:

Codificacin de informacin Traduccin de texto en lenguaje hablado Reconocimiento ptico de caracteres (OCR)

La popularidad de este modelo de redes neuronales no se debe nicamente al xito obtenido en aplicaciones prcticas del mismo. Existen demostraciones tericas que permiten explicar el xito de dichas aplicaciones. En [Funahashi, 1989] se demuestra que un perceptrn multicapa cuya funcin de activacin sea no constante, acotada y montona creciente es un aproximador universal de funciones. En [Hornik et alt, 1989] se llega a un resultado similar utilizando funciones de activacin sigmoideas, no necesariamente continuas.

L. Federico Bertona

Redes neuronales

13

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 3: Entrenamiento de redes neuronales


En el contexto de las redes neuronales el aprendizaje puede ser visto como el proceso de ajuste de los parmetros libres de la red [Yao, 1995]. Partiendo de un conjunto de pesos sinpticos aleatorio, el proceso de aprendizaje busca un conjunto de pesos que permitan a la red desarrollar correctamente una determinada tarea. El proceso de aprendizaje es un proceso iterativo, en el cual se va refinando la solucin hasta alcanzar un nivel de operacin suficientemente bueno. La mayora de los mtodos de entrenamiento utilizados en las redes neuronales con conexin hacia delante consisten en proponer una funcin de error que mida el rendimiento actual de la red en funcin de los pesos sinpticos. El objetivo del mtodo de entrenamiento es encontrar el conjunto de pesos sinpticos que minimizan (o maximizan) la funcin. El mtodo de optimizacin proporciona una regla de actualizacin de los pesos que en funcin de los patrones de entrada modifica iterativamente los pesos hasta alcanzar el punto ptimo de la red neuronal.

3.1. Mtodos de gradiente descendente


El mtodo de entrenamiento ms utilizado es el mtodo del gradiente descendente. Este mtodo define una funcin E(W) que proporciona el error que comete la red en funcin del conjunto de pesos sinpticos W. El objetivo del aprendizaje ser encontrar la configuracin de pesos que corresponda al mnimo global de la funcin de error, aunque en muchos casos es suficiente encontrar un mnimo local lo suficientemente bueno [Cauwenberghs, 1993]. El principio general del mtodo es el siguiente: dado un conjunto de pesos W(0) para el instante de tiempo t=0, se calcula la direccin de mxima variacin del error. La direccin de mximo crecimiento de la funcin E(W) en W(0) viene dado por el gradiente E(W). Luego, se actualizan los pesos siguiendo el sentido contrario al indicado por el gradiente E(W), direccin que indica el sentido de mximo decrecimiento [Defalco, 1997]. De este modo se va produciendo un descenso por la superficie de error hasta alcanzar un mnimo local.

W (t + 1) = W (t ) E (W )

(3.1)

donde indica el tamao del paso tomado en cada iteracin, pudiendo ser diferente para cada peso e idealmente debera ser infinitesimal. El tamao del paso es un factor importante a la hora de disear un mtodo de estas caractersticas. Si se toma un paso muy chico el proceso de entrenamiento resulta muy lento, mientras que si el tamao del paso es muy grande se producen oscilaciones en torno al punto mnimo.

L. Federico Bertona Entrenamiento de redes neuronales

15

Entrenamiento de redes neuronales basado en algoritmos evolutivos

3.2. El algoritmo Backpropagation


El algoritmo backpropagation es el mtodo de entrenamiento ms utilizado en redes con conexin hacia delante. Es un mtodo de aprendizaje supervisado de gradiente descendente, en el que se distinguen claramente dos fases: primero se aplica un patrn de entrada, el cual se propaga por las distintas capas que componen la red hasta producir la salida de la misma. Esta salida se compara con la salida deseada y se calcula el error cometido por cada neurona de salida. Estos errores se transmiten hacia atrs, partiendo de la capa de salida, hacia todas las neuronas de las capas intermedias [Fritsch, 1996]. Cada neurona recibe un error que es proporcional a su contribucin sobre el error total de la red. Basndose en el error recibido, se ajustan los errores de los pesos sinpticos de cada neurona.

3.2.1. Deduccin del algoritmo Backpropagation


El algoritmo propone una actualizacin iterativa de los pesos de la siguiente manera:

W (t + 1) = W (t ) + W (t )

(3.2)

Si tomamos una variacin proporcional al gradiente de una funcin de error E(W) tenemos que:

W (t + 1) = W (t ) E[W (t )]

(3.3)

Como se explico anteriormente el primer paso de este algoritmo consiste en propagar hacia delante un patrn de entrada Xp y obtener la salida de la red Yp. La salida de la neurona i viene dada segn su estado de activacin. Si consideramos la funcin de salida identidad tenemos que

y i (t ) = Fi (ai (t )) = ai (t )
Siendo

(3.4)

ai (t ) = f i (hi (t ))

(3.5)

La regla de propagacin ms simple y utilizada consiste en realizar una suma de las entradas ponderadas con sus pesos sinpticos correspondientes.

hi (t ) = wij * x j (t )
j

(3.6)

Se compara la salida obtenida Yp con la salida deseada Dp, obtenindose un error que viene dado por

16

Entrenamiento de redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

ep =

1 M (d pk y pk ) 2 2 k =1

(3.7)

donde k es el ndice de neurona para las neuronas de la ltima capa, y M el total de neuronas de la misma. El error total de la red esta dado por

e=

e
p =1

(3.8)

siendo p el ndice de ejemplo, y P el numero total de ejemplos. De acuerdo a la ecuacin (3.3) la variacin de los pesos sinpticos ser proporcional al gradiente de la funcin de error:

w ji =

e p w ji

(3.9)

Si aplicamos la regla de la cadena a (3.9) obtenemos que

e p w ji

e p h j h j w ji

(3.10)

La ecuacin (3.10) expresa la derivada del error en funcin de dos derivadas. La derivada del error respecto al potencial resultante hj indica como varia el error al variar la entrada de la neurona j, mientras que la derivada con respecto al peso sinptico wji indica como varia la entrada de la neurona j al variar el peso de la conexin que va desde la neurona i hasta la neurona j. El segundo termino de la expresin (3.10) lo podemos expresar a partir de la ecuacin (3.6) de la siguiente manera

h j w ji

w ji y pi
i

w ji

= y pi

(3.11)

Si escribimos al primer trmino de la ecuacin (3.10) como

e p h j
tenemos que

= pj

(3.12)

e p w ji

= p j y pi

(3.13)

y por lo tanto la ecuacin (3.9) queda expresada de la siguiente manera L. Federico Bertona Entrenamiento de redes neuronales 17

Entrenamiento de redes neuronales basado en algoritmos evolutivos

w ji = pj y pj

(3.14)

Para calcular el valor de delta se vuelve a aplicar la regla de la cadena

pj =

e p

e p y pj = y h h j j pj

(3.15)

El clculo del segundo trmino de la ecuacin (3.15) es simple si observamos las ecuaciones (3.4) y (3.5)

y pj h j

f j (h j ) h j

= f j' (h j )

(3.16)

sin embargo, para el clculo del primer trmino de la ecuacin (3.15) es necesario distinguir entre dos casos diferentes.

La neurona j es una neurona de salida


En este caso podemos obtener el segundo trmino a partir de la ecuacin (3.7) ya que el subndice j es igual al subndice k

e p y pj

1 M (d pj y pj ) 2 2 j =1 = (d pj y pj ) y pj

(3.17)

As, la variacin de los pesos de una conexin que va hacia la capa externa de la red se calcula como:
w ji = (d pj y pj ) f j' (h j ) y pi

(3.18)

La neurona j es una neurona oculta


En este caso es necesario aplicar nuevamente la regla de la cadena

e p y pj

e p hk = k hk y pj

(3.19)

Donde k es el subndice de las neuronas que pertenecen a la prxima capa. La ecuacin (3.19) la podemos reescribir utilizando la ecuacin (3.6)

18

Entrenamiento de redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos


e p e p = y pj k hk wkj y pj e p j = h wkj y pj k k

(3.20)

y por la ecuacin (3.12) tenemos que

e p y pj

= pk wkj = pj wkj
k k

(3.21)

As, la variacin de los pesos de una conexin que va desde una capa hacia otra capa de la red que no sea la externa se calcula como:

w ji = ( pk wkj ) f j' (h j ) y pi
k

(3.22)

En la implementacin del algoritmo, se toma una amplitud de paso que viene dado por la tasa de aprendizaje (). A mayor tasa de aprendizaje el proceso ser ms rpido. Sin embargo, si la tasa de aprendizaje es muy alta puede dar lugar a oscilaciones en torno a un mnimo local. Es posible disminuir el impacto de dichas oscilaciones mediante la adicin de un momento (), quedando la expresin (3.14) expresada de la siguiente manera:

w ji (t + 1) = pj y pj + w ji (t )

(3.23)

De esta manera el momento determina el efecto en el instante t+1 del cambio de los pesos realizado en el instante t. Con este momento se consigue la convergencia de la red en menor numero de iteraciones, ya que si la modificacin de los pesos en los instantes t y t+1 es en la misma direccin, entonces el descenso por la superficie de error en t+1 es mayor. En cambio, si la modificacin en los pesos en los instantes t y t+1 se produce en direcciones opuestas, el paso que se da en t+1 es ms pequeo, lo que es adecuado, ya que esto significa que se a pasado por un mnimo. Resumiendo, el algoritmo backpropagation queda expresado de la siguiente manera:
w ji (t + 1 ) = w ji (t) + pj y pj + w ji (t) (d pj y pj )f j' (h j ) siendo pj = ' pk wkj f j (h j ) k

]
si j es una neurona de salida si j es una neurona oculta

3.2.2. Modos de entrenamiento

L. Federico Bertona Entrenamiento de redes neuronales

19

Entrenamiento de redes neuronales basado en algoritmos evolutivos Durante la aplicacin del algoritmo backpropagation, el aprendizaje se produce mediante la presentacin sucesiva de un set de entrenamiento. Cada presentacin completa al perceptrn multicapa del set de entrenamiento se denomina epoch. As, el proceso de aprendizaje se repite epoch tras epoch hasta que los pesos sinpticos se estabilizan y la performance de la red converge a un valor aceptable. La forma en que se actualizan los pesos sinpticos da lugar a dos modos de entrenamientos distintos, cada uno con sus ventajas y desventajas.

Modo Secuencial En este modo de entrenamiento la actualizacin de los pesos sinpticos se produce tras la presentacin de cada ejemplo de entrenamiento [Yao, 1993a], de all que tambin es conocido como modo por patrn. Si un set de entrenamientos posee N ejemplos, el modo secuencial de entrenamiento tiene como resultado N correcciones de pesos sinpticos durante cada epoch.

Modo Batch En este modo de entrenamiento la actualizacin de los pesos sinpticos se produce una nica vez, tras la presentacin de todo el set de entrenamiento. Para cada epoch se calcula el error cuadrtico medio (3.8) producido por la red. La variacin de los peso sinpticos, para un set de entrenamiento de N ejemplos, se puede calcular a partir de las ecuaciones (3.7), (3.8) y (3.9) como:

w ji =

e = w ji N

e
n =1

e j
j

w ji

(3.24)

Luego, la derivada podemos definirla de la misma manera que la definimos previamente. Si los patrones de entrenamiento se presentan a la red de manera aleatoria, el modo de entrenamiento secuencial convierte a la bsqueda en el espacio de pesos en estocstica por naturaleza, y disminuye la probabilidad de que el algoritmo backpropagation quede atrapado en un mnimo local. Sin embargo, la naturaleza estocstica del modo de entrenamiento secuencial dificulta el establecimiento de condiciones tericas para la convergencia del algoritmo. Por su parte, el uso del modo de entrenamiento batch provee una estimacin precisa del vector gradiente, garantizando de esta manera la convergencia hacia un mnimo local.

3.2.3. Aceleracin del aprendizaje


Como se menciono previamente las redes el algoritmo backpropagation ha sido utilizado con xito en gran cantidad de aplicaciones. Sin embargo, el xito 20 Entrenamiento de redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos y la velocidad de convergencia de este mecanismo de entrenamiento tienen un alto grado de dependencia de la configuracin del mismo. Por ello se han realizado una serie de mtodos que permiten mejorar significativamente la performance del algoritmo.

Modo de actualizacin. La actualizacin secuencial es ms rpida computacionalmente y demanda menos recursos que la actualizacin batch. Esto es especialmente cierto cuando el set de datos es grande y altamente redundante [Chinrungrueng, 1993]. Set de datos. La calidad del set de datos es un factor muy importante a tener en cuenta. Cada ejemplo presentado a la red debe cumplir con las siguientes dos premisas: o Maximizar el error de entrenamiento o Maximizar la informacin

Presentacin de los ejemplos. El modo en que se presentan los ejemplos es otro factor importante a tener en cuenta. La aleatorizacin del orden en que se presentan los ejemplos en los distintos epochs evita que los resultados se vean distorsionados por el orden de los ejemplos Funcin de activacin. El uso de una funcin de activacin adecuada puede acelerar notoriamente el tiempo de entrenamiento. El uso de funciones antisimtricas en general produce mejores tiempos que el uso de funciones no simtricas. Valores objetivos. La seleccin de los valores objetivos debe hacerse de acuerdo a la funcin de activacin seleccionada. Una tcnica que permite acelerar el tiempo de aprendizaje es desplazar el valor objetivo del valor mximo de la funcin. El algoritmo backpropagation tiende a saturar las neuronas ocultas cuando el valor objetivo es igual al mximo de la funcin de activacin. Cuando esto sucede se produce el efecto de parlisis, lo que produce un aumento en el tiempo total de entrenamiento. Desplazando el valor objetivo un offset e del valor mximo de la funcin se reduce el riesgo de que las neuronas ocultas se saturen. Normalizacin de las entradas. Si bien el algoritmo backpropagation no exige que los valores de entrada a la red se encuentren normalizados, esta es una buena tcnica para acelerar los tiempos de entrenamiento [Bishop, 1996]. La normalizacin de las entradas debe realizarse de manera tal que el valor medio de la misma se encuentre cercano a cero. Preprocesamiento de los ejemplos. Se aplica en aquellos casos en que un atributo toma un conjunto discreto de valores. Si un atributo slo puede tomar N valores diferentes, la entrada de la red puede 21

L. Federico Bertona Entrenamiento de redes neuronales

Entrenamiento de redes neuronales basado en algoritmos evolutivos subdividirse en N entradas, cada una de las cuales representa a una clase. Cada una de estas entradas ahora puede tomar dos valores, verdadero o falso. Esta tcnica puede ayudar a mejorar los tiempos de entrenamiento de la red neuronal

3.3. Generalizacin
Una vez finalizada la fase de aprendizaje, la red puede ser utilizada para realizar la tarea para la que fue entrenada. Una de las principales ventajas que posee este modelo es que la red aprende la relacin existente entre los datos, adquiriendo la capacidad de generalizar conceptos. De esta manera, una red neuronal puede tratar con informacin que no le fue presentada durante de la fase de entrenamiento [Chinrungrueng, 1988]. Cuando se evala una red neuronal no slo es importante evaluar si la red ha sido capaz de aprender los patrones de entrenamiento. Es imprescindible tambin evaluar el comportamiento de la red ante patrones nunca antes vistos. Esta caracterstica de las redes neuronales se la conoce como capacidad de generalizacin y es adquirida durante la fase de entrenamiento [Sanger, 1989]. Es necesario que durante el proceso de aprendizaje la red extraiga las caractersticas de las muestras, para poder luego responder correctamente a nuevos patrones. De lo dicho anteriormente surge la necesidad de evaluar durante la fase de entrenamiento dos tipos de errores. El error de aprendizaje, que indica la calidad de la respuesta de la red a los patrones de entrenamiento, y el error de generalizacin, que indica la calidad de la respuesta de la red a patrones nunca antes vistos. Para poder obtener una medida de ambos errores es necesario dividir el set de datos disponibles en dos, el set de datos de entrenamiento, y el set de datos de evaluacin. El primero se utiliza durante la fase de entrenamiento para que la red pueda extraer las caractersticas de los mismos y, mediante el ajuste de sus pesos sinpticos, la red logre una representacin interna de la funcin. El set de evaluacin se utiliza para evaluar la capacidad de generalizacin de la red. La causa ms comn de la perdida de capacidad de generalizacin es el sobreaprendizaje. Esto sucede cuando la cantidad de ciclos de entrenamientos tiende a ser muy alta. Se observa que la respuesta de la red a los patrones de entrenamiento es muy buena mientras que la respuesta a nuevos patrones tiende a ser muy pobre. Al aumentar el nmero de ciclos la red tiende a sobreajustar la respuesta a los patrones de entrenamiento, a expensas de una menor capacidad de generalizacin. La figura 3.1 muestra una situacin idealizada de lo dicho anteriormente. En la misma se observa que en un determinado punto la red comienza a perder capacidad de generalizacin como consecuencia del sobreaprendizaje de los patrones de entrenamiento.

22

Entrenamiento de redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura 3.1. Generalizacin. Situacin idealizada En la figura 3.2 se muestra una situacin ms real del mismo caso. A medida que transcurre el proceso de aprendizaje se obtienen varios mnimos sobre el conjunto de evaluacin. Existen diversas tcnicas de parada temprana (early stopping) aunque en la mayora de los casos se deja que el proceso de aprendizaje avance hasta alcanzar una cota de error razonable, guardando peridicamente las distintas configuraciones intermedias para luego seleccionar la de menor error de evaluacin.

Figura 3.2. Generalizacin. Situacin real

L. Federico Bertona Entrenamiento de redes neuronales

23

Entrenamiento de redes neuronales basado en algoritmos evolutivos En ocasiones la perdida de capacidad de generalizacin se produce por el uso excesivo de neuronas ocultas en la red neuronal. Esto hace que la red tienda a ajustar con mucha exactitud los patrones de entrenamiento, evitando que la red extraiga las caractersticas del conjunto. Este problema se ve agravado cuando los patrones de entrenamiento poseen ruido, ya que la red ajusta tambin el ruido de los mismos.

24

Entrenamiento de redes neuronales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 4: Algoritmos genticos


Los algoritmos genticos son una tcnica de resolucin de problemas inspirada en la naturaleza. Estn basados en el principio darwiniano de reproduccin y supervivencia de los individuos ms aptos [Beasley et alt, 1993]

4.1. Introduccin
La computacin evolutiva es la rama de la inteligencia artificial que engloba a todas aquellas tcnicas de resolucin de problemas basadas en la evolucin de las especies y la supervivencia del ms apto [Joglekar y Tungare, 2001]. Dentro de ella encontramos a los algoritmos genticos (genetic algorithms), las estrategias evolutivas (evolution strategies) y la programacin evolutiva (evolutionary programming) entre otros [Yao, 1996]. Las tcnicas evolutivas han sido aplicadas con xito a distintos tipos de problemas como optimizacin de parmetros, planificacin de tareas, diseo, etc. [Whitley, 2002] Estos algoritmos codifican las posibles soluciones en estructuras llamadas cromosomas (o individuos). A un conjunto de individuos se lo conoce como poblacin y representan un conjunto de soluciones posibles al problema [Cant-Paz, 1997]. Mediante la aplicacin de un conjunto de operadores genticos sobre la poblacin se va refinando gradualmente la solucin hasta alcanzar un resultado que cumpla con las condiciones requeridas. El primer paso en la aplicacin de un algoritmo gentico consiste en la generacin de una poblacin inicial. En general esta poblacin se genera de manera aleatoria, y el tamao de dicha poblacin (la cantidad de individuos que la compone) es un parmetro que se define durante el diseo del algoritmo gentico. Una vez generada esta poblacin se debe evaluar la aptitud (fitness) de cada individuo [Deb, 2004]. El operador de seleccin es el encargado de decidir cuales individuos contribuirn en la formacin de la prxima generacin de individuos. Este mecanismo simula el proceso de seleccin natural, mediante el cual slo los individuos ms adaptados al ambiente se reproducen [Coello Coello, 2002]. El mecanismo de seleccin forma una poblacin intermedia, que esta compuesta por los individuos con mayor aptitud de la generacin actual. La siguiente fase del algoritmo consiste en la aplicacin de los operadores genticos. El primero de ellos es la cruza, y su funcin es recombinar el material gentico. Se toman aleatoriamente dos individuos que hayan sobrevivido al proceso de seleccin y se recombina su material gentico creando uno o ms descendientes, que pasan a la siguiente poblacin. Este operador se aplica tantas veces como sea necesario para formar la nueva poblacin. El ltimo paso consiste en la aplicacin del operador de mutacin. Este operador, que en general acta con muy baja probabilidad, modifica algunos genes del cromosoma, posibilitando de esta manera la bsqueda de soluciones alternativas. L. Federico Bertona Algoritmos genticos 25

Entrenamiento de redes neuronales basado en algoritmos evolutivos Una vez finalizado el proceso de seleccin, cruza y mutacin se obtiene la siguiente generacin del algoritmo, la cual ser evaluada, repitindose el ciclo descripto previamente. Tras cada iteracin la calidad de la solucin generalmente va incrementndose, y los individuos representan mejores soluciones al problema [Forrest 1996]. Al algoritmo gentico detallado anteriormente se lo conoce como algoritmo gentico cannico y es la forma ms utilizada. Sin embargo, en algunas implementaciones particulares de algoritmos genticos se puede agregar nuevos operadores. En todos los casos, la forma en que se implementen los operadores variar de acuerdo a las caractersticas propias del problema.

4.2. El cromosoma
Los algoritmos genticos trabajan manipulando cromosomas, que son estructuras que codifican las distintas soluciones de un determinado problema. La forma en que se codifican los cromosomas es dependiente de cada problema en particular, y suele variar de problema en problema. Un cromosoma esta compuesto por un conjunto de genes. Cada gen representa una caracterstica particular del individuo y ocupa una posicin determinada en el cromosoma, llamada locus. A cada uno de los valores que puede tomar un gen se lo conoce como alelo. [Ilachinski, 1997] Es importante destacar dos conceptos que muchas veces suelen confundirse: genotipo y fenotipo. El genotipo es el conjunto de genes de un individuo, la descripcin gentica del individuo. El fenotipo es la forma en que se expresa el genotipo, como resultado de la interaccin con su entorno [Morrison, 1998]. La morfognesis es el proceso de decodificar el genotipo para producir un fenotipo [Biondi y Michel, 1995]. Una cuestin a resolver cuando se disean algoritmos evolutivos es la forma de codificar los genes. Estos se pueden representar como cadenas binarias, nmeros enteros, nmeros reales, etc. [Whitley, 2001]. En general se utilizan las cadenas binarias por varios motivos:

Cualquier parmetro se puede codificar como una cadena de bits. Una cadena de bits permite expresar valores booleanos, enteros, reales, etc. La codificacin binaria se puede ajustar a cualquier problema. Por este motivo la mayor parte de los trabajos tericos se basa en este esquema de codificacin. El uso de cadenas de bits permite contar con gran cantidad de herramientas de anlisis. Las cadenas de bits son fciles de manipular. El desarrollo de operadores genticos es simple y eficiente.

Sin embargo, las caractersticas propias del problema podran llevar a la utilizacin de otro esquema de codificacin. En dicho caso ser necesario desarrollar operadores genticos que se adapten al esquema seleccionado.

26

Algoritmos genticos

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos En lo que sigue de este captulo se supone el uso de cadenas binarias, debido a que estas son ms fciles de comprender.

4.3. Evaluacin y aptitud


El uso de los conceptos de funcin de evaluacin y funcin de aptitud se suelen utilizar como sinnimos. Sin embargo, ambos conceptos son diferentes, y es conveniente hacer una distincin entre ellos. La funcin de evaluacin, o funcin objetivo, provee una medida de la performance de conjunto de parmetros. Indica que tan buena es la solucin obtenida tras la aplicacin de un conjunto de parmetros, independientemente de la aplicacin de esta funcin sobre otro conjunto de parmetros [Whiltey, 1994]. En general, esta medida se obtiene tras la decodificacin de un cromosoma en el conjunto de parmetros que representa. Por su parte, la funcin de adaptacin siempre esta definida con respecto al resto de los individuos de la poblacin. Indica que tan buena (o mala) es una solucin comparada con el resto de las soluciones obtenidas hasta el momento. El valor obtenido por esta funcin se traduce, tras la aplicacin del operador de seleccin, en oportunidades de reproduccin. Aquellos que tengan mayor aptitud tendrn mayores posibilidades de reproducirse y transmitir su material gentico a la prxima generacin. En el algoritmo gentico cannico, la funcin de adaptacin se define como

Fi =

fi f

(4.1)

f =

f
i =1

(4.2)

donde fi es el valor de la funcin de evaluacin para el cromosoma i

4.4. Poblacin
Los algoritmos genticos trabajan sobre una poblacin de individuos [Bck, 1992], donde cada uno de los cuales representa una posible solucin. La poblacin es un concepto muy importante en los algoritmos genticos y existen dos cuestiones fundamentales a resolver: como generar la primera poblacin, y cual debe ser el tamao de la poblacin. La poblacin inicial debe poseer la mayor diversidad posible. Idealmente, la poblacin inicial debera contener todos los posibles valores (alelos) que pueda tomar un gen. De esta manera se asegurara una exploracin completa del espacio de bsqueda. En la prctica, esta situacin no suele ser factible por lo que la primera poblacin se genera comnmente de manera azarosa, asignndole aleatoriamente a cada gen uno de los posibles alelos. De esta manera se asegura la diversidad de alelo por gen. En algunos casos se pueden L. Federico Bertona Algoritmos genticos 27

Entrenamiento de redes neuronales basado en algoritmos evolutivos utilizar heursticas para la generacin de la poblacin inicial, las que permiten obtener un punto de partida ms prximo a la solucin del problema. En estos casos, es importante que la heurstica asegure la diversidad mencionada. De lo contrario el algoritmo gentico no ser capaz de realizar una bsqueda completa sobre el espacio de soluciones. El tamao de la poblacin no es problema crtico. Si el tamao de la poblacin es muy grande se realizar una exploracin del espacio de bsqueda ms rpida en trminos de generaciones. Sin embargo, el tiempo necesario para obtener una nueva generacin a partir de la generaron actual ser mayor, dado que se estarn procesando individuos innecesarios. Si el tamao de la poblacin es muy chico podra llegar a darse el caso en que la poblacin converja rpidamente a una solucin que no sea lo suficientemente buena. En la practica se suelen utilizar poblaciones de 20 individuos, pudindose aumentar el mismo en base a la complejidad del problema o a la calidad de la solucin requerida. En algunos casos se utiliza un tamao de poblacin inicial, el cual se va incrementando a medida que la poblacin tiende a ser homognea.

4.5 Variantes de los operadores bsicos


El objetivo de cada uno de los tres operadores bsicos esta bien definido: elegir los individuos de la poblacin que tengan mayor grado de adaptacin (seleccin), recombinar el material gentico de ellos para producir nuevos individuos (cruza) y alterar caractersticas de algunos de ellos para garantizar al diversidad (mutacin). Siguiendo estos objetivos se han desarrollado gran cantidad de variantes para cada uno de los operadores. Cada variante tiene caractersticas particulares que afectaran el comportamiento del algoritmo gentico. Una eleccin adecuada para cada operador puede influir decisivamente en la eficiencia del proceso de bsqueda. A continuacin se realiza una mencin sobre las variantes ms utilizadas de cada uno de los operadores.

4.5.1. Seleccin
4.5.1.1. Seleccin por ruleta El primer paso para la aplicacin de este operador consiste en obtener aleatoriamente un nmero R de la siguiente manera:

R = Random(0, Fi )
i =1

(4.3)

Luego se selecciona al individuo j tal que:

Fi R < Fi
i =1 i =1

j +1

(4.4)

28

Algoritmos genticos

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Este individuo pasa a la siguiente generacin, repitindose el procedimiento tantas veces como sea necesario hasta completar la siguiente generacin. Al contener una componente aleatoria, la cantidad de copias de un individuo que efectivamente pasan a la siguiente generacin puede variar de la cantidad de copias esperadas. 4.5.1.2. Seleccin proporcional Este operador asigna un nmero de copias proporcional a la aptitud de un individuo. El nmero de copias del individuo i que pasarn a la siguiente poblacin se calcula en base a la siguiente ecuacin:
ci = N * fi

F
i =1

(4.5)

4.5.1.3. Seleccin por torneo Se seleccionan aleatoriamente dos individuos de la poblacin, pasando a la siguiente generacin aquel individuo que tiene mayor aptitud. Este proceso se repite N veces, donde N es el tamao de la poblacin. La seleccin por torneo no asegura que el nmero de copias que pasan a la prxima generacin sea igual al esperado. Este operador se puede implementar tomando cualquier nmero de individuos. 4.5.1.4. Seleccin por ranking Este operador asigna una probabilidad de seleccin proporcional a la aptitud del individuo. Sin embargo, la seleccin se realiza con un esquema anlogo al de seleccin por ruleta. Se asigna a un individuo una probabilidad de seleccin igual a:

pi =

N i

i
i =1

(4.6)

Luego se selecciona un nmero aleatorio R de la siguiente manera:

R = Random(0, pi )
i =1

(4.7)

Por ltimo se elige al individuo j tal que:

pi R < pi
i =1 i =1

j +1

(4.8)

L. Federico Bertona

Algoritmos genticos

29

Entrenamiento de redes neuronales basado en algoritmos evolutivos Este individuo pasa a la siguiente generacin. El procedimiento se repite tantas veces como sea necesario hasta completar la siguiente generacin. Nuevamente, la cantidad de copias que se pasan a la siguiente generacin puede diferir de la cantidad esperada con un esquema proporcional.

4.5.2. Cruza
4.5.2.1. Cruza Uniforme Este operador de cruza asigna aleatoriamente los pesos. Cada hijo tiene una probabilidad de 0.5 de recibir los genes de su padre y por ende de recibirlos de su madre. 4.5.2.2. Cruza Simple En esta variante del operador de cruza se toma aleatoriamente un punto de cruza. Luego, a un hijo se le asignan todos los genes del padre ubicados a la izquierda del punto de cruza, y todos los genes de la madre ubicados a la derecha del punto de cruza. El segundo hijo es el complemento del primero. La figura 4.1 muestra un ejemplo de cruza simple en el cual se toma como punto de cruza el primero de ellos. Padre Madre 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0

Hijo 1 Hijo 2

0 1

1 0

1 0

1 1

1 0

0 1

0 0 0 0 1 1 Figura 4.1. Cruza Simple

4.5.2.3. Cruza Multipunto Esta variante del operador de cruza es similar al operador de cruza simple, slo que la cantidad de puntos de cruza se determina aleatoriamente. Cada hijo recibe los genes entre dos puntos de cruza sucesivos de cada uno de los padres, de manera intercalada. Cabe destacar que la cruza simple es un caso particular de la cruza multipunto, con un nico punto de cruza. La figura 4.2 muestra un ejemplo de cruza multipunto, tomando dos puntos de cruza.

30

Algoritmos genticos

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Padre Madre 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0

Hijo 1 Hijo 2

0 1

1 0

1 0

1 1

0 1

1 0

0 0 0 0 1 1 Figura 4.2. Cruza Multipunto

4.5.2.4. Cruza Binomial Este operador es similar al operador de cruza uniforme, slo que las probabilidades se definen en funcin de la aptitud de los padres de la siguiente manera:

f padre p padre = f padre + f madre p madre =1 p padre

(4.9)

4.5.3. Mutacin
La mutacin binaria es el tipo de mutacin tradicionalmente utilizado en el algoritmo gentico cannico, y consiste en invertir un gen aleatoriamente. Dada la representacin binaria del gen, se invierte el bit que lo representa con una determinada probabilidad, como lo muestra la figura 4.3. Antes 1 0 1 0 1 0 1 0

Despus

1 1 1 0 Figura 4.3. Mutacin Binaria

4.5.3.1. Mutacin simple En este caso la probabilidad de mutacin permanece constante a lo largo de las distintas generaciones, como lo muestra la ecuacin 4.10.
max min Pm (t ) = Pm (0) = Pm = Pm

(4.10)

4.5.3.2. Mutacin adaptativa por temperatura ascendente La probabilidad de mutacin se va incrementando a medida que transcurren las generaciones. El objetivo de este aumento es mantener la L. Federico Bertona Algoritmos genticos 31

Entrenamiento de redes neuronales basado en algoritmos evolutivos diversidad de individuos en la poblacin, que tiende a hacerse homognea con el transcurso de las generaciones. La probabilidad de mutacin para una generacin esta dada por la ecuacin 4.11.
min Pm (t ) = Pm + max min ( Pm Pm ) *t T

(4.11)

4.5.3.3. Mutacin adaptativa por temperatura descendente La probabilidad de mutacin va decreciendo a medida que transcurren las generaciones. De esta manera se asegura una alta diversidad de individuos en las generaciones iniciales. La probabilidad mnima debe ser mayor a cero para permitir continuar la exploracin del espacio de bsqueda a medida que las generaciones avanzan. La ecuacin 4.12 muestra como se calcula la probabilidad de mutacin para una determinada generacin.
max Pm (t ) = Pm max min ( Pm Pm ) *t T

(4.12)

32

Algoritmos genticos

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 5: Descripcin del problema


Las redes neuronales con conexin hacia delante en general son un importante mtodo de aproximacin de funciones [Kim, 1992]. Como se mencion en el captulo 2, el perceptrn multicapa es un aproximador universal de funciones. Pese a todo, el algoritmo backpropagation suele tener algunas dificultades para encontrar un conjunto de pesos que permita utilizar la red como aproximador de funciones. Todos estos problemas deben ser tenidos en cuenta por el diseador de una red neuronal, quien debe actuar en funcin de ellos. Para algunos de estos problemas existen tcnicas que permiten disminuir su efecto, pero en ningn caso puede ser eliminado completamente. El objetivo de este captulo es hacer una sntesis de los diferentes problemas que suelen encontrarse durante una sesin de entrenamiento de un perceptrn multicapa utilizando el algoritmo backpropagation, as como tambin mencionar las tcnicas que se pueden utilizar para disminuir su efecto. Al final del captulo se plantean tambin los objetivos y cuestiones a resolver mediante el mtodo propuesto.

5.1. Deficiencias del algoritmo


A pesar del xito del algoritmo para entrenar redes multicapa, este algoritmo posee una serie de deficiencias, las cuales se analizan a continuacin.

Adaptabilidad
El algoritmo tiene como premisa la utilizacin de una funcin de activacin derivable [Walker, 1995]. Al hacer uso de la derivada de la funcin de activacin, es condicin necesaria para la aplicacin del algoritmo que la misma sea continua y derivable en todo el dominio de aplicacin [Wilson, 1994]. Esto impide la utilizacin del mtodo en otras topologa como por ejemplo en redes Adaline/Madaline, donde la funcin de activacin presenta discontinuidades. Este problema suele encontrarse en varios mtodos de entrenamiento, los cuales son desarrollados para una determinada topologa y sus resultados, en general, no son extensibles directamente a otras topologas. Es necesario adaptar los mtodos para aplicarlos a otras topologas.

Dependencia de parmetros del algoritmo


Los algoritmos de gradiente descendente hacen uso de una tasa de aprendizaje que idealmente debera ser infinitesimal. De esta manera, mediante pequeos ajustes de los pesos sinpticos el algoritmo converge hacia un mnimo. El uso de tasas de aprendizaje muy pequeas hace que el algoritmo tenga una convergencia estable hacia un mnimo, aunque el tiempo necesario para alcanzarlo puede llegar a ser muy alto.

L. Federico Bertona

Descripcin del problema

33

Entrenamiento de redes neuronales basado en algoritmos evolutivos Como consecuencia de lo dicho anteriormente, y con el objetivo de disminuir el tiempo de convergencia del algoritmo, en la prctica se suelen utilizar tasas de aprendizajes mayores a las tericas. El aumento de la tasa de aprendizaje disminuye el tiempo de convergencia, pero tiene un efecto contraproducente: el algoritmo comienza a oscilar en torno a un mnimo, disminuyendo la probabilidad de alcanzarlo. El efecto de oscilacin puede reducirse mediante la adicin de una tasa de momento, como se describi en el captulo 3, pero no puede eliminarse. El algoritmo backpropagation es muy dependiente de los parmetros mencionados previamente. Dependiendo de la seleccin de parmetros realizadas el resultado de la aplicacin del algoritmo ser exitosa o no [Liu et alt, 2004]. Pequeas variaciones sobre los parmetros del algoritmo pueden conducir a resultados diferentes. El principal problema es que no existe un mtodo general que permita establecer el valor de estos parmetros [Branke, 1995]. Los parmetros que aseguran la convergencia para un determinado problema pueden no ser aplicables a otro problema. De esta manera, la seleccin de los parmetros del algoritmo se realiza en base a la expertiz del diseador, y se realiza un refinamiento de los mismos mediante mecanismos de prueba y error. Esto produce un aumento en el tiempo total de diseo y entrenamiento de la red.

Mnimos locales
La superficie que define la funcin de error E (ecuacin 8) en base a los parmetros de la red neuronal es compleja y esta llena de valles y colinas. Debido a la utilizacin del gradiente para encontrar el mnimo de dicha funcin de error se corre el riesgo de que el proceso de entrenamiento quede atrapado en un mnimo local [Sutton, 1986]. Esta situacin no es deseable, fundamentalmente si dicho mnimo esta localizado lejos del mnimo global. Existen algunos mecanismos para evitar que esto suceda. Una posible solucin para evitar que el entrenamiento quede atrapado en un mnimo local es aumentar el nmero de neuronas ocultas de la red. Este mecanismo puede ayudar en aquellos casos en los que la red tiene escaso poder de representacin interna, y no es capaz de distinguir entre dos patrones diferentes, proporcionando una misma salida para ambos patrones. Al aumentar el nmero de neuronas ocultas la red posee mayor cantidad de parmetros libres y puede conseguir una mejor representacin interna. Otros mecanismos que ayudan a disminuir los efectos de este problema son la adicin de una tasa de momento al proceso de entrenamiento, utilizar una tasa de aprendizaje decreciente a lo largo del proceso, partir de otras configuraciones iniciales de la red, aadir ruido al mtodo de gradiente, etc.

Parlisis
El fenmeno de parlisis, tambin conocido como saturacin, se produce cuando la entrada total a una neurona de la red toma valores muy altos, ya sean positivos o negativos. Al utilizar funciones de activacin sigmoidales, la funcin de activacin posee dos asntotas horizontales. Si la entrada de la neurona alcanza un valor alto, la funcin de activacin se satura y alcanza un valor de activacin mximo o mnimo. 34 Descripcin del problema L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Cuando la funcin de activacin se satura su derivada tiende a hacerse nula, haciendo que los parmetros de la red permanezcan invariables y, como consecuencia, la suma de los errores locales permanece constante por un largo periodo de tiempo [Krse y van der Smagt, 1993]. Aunque esta situacin se suele confundir con un mnimo local, pues el error permanece invariable, en este caso es posible que despus de un cierto tiempo el error comience nuevamente a decrecer. El fenmeno de parlisis del perceptrn multicapa ocurre fundamentalmente cuando los parmetros de la red toman valores muy altos. Un mecanismo para evitar esto consiste en partir de valores iniciales bajos.

Condiciones iniciales
El conjunto de pesos iniciales de la red neuronal generalmente se selecciona de manera aleatoria. Sin embargo, el algoritmo backpropagation es muy dependiente de las condiciones iniciales seleccionadas [Kolen, 1991]. Pequeas variaciones realizadas sobre las condiciones iniciales pueden llevar a grandes diferencias en el tiempo de convergencia del algoritmo. Todos estos problemas muestran la necesidad de buscar un mtodo alternativo que permita entrenar redes neuronales con conexin hacia delante. Este mtodo no reemplazar los mtodos existentes sino que ser una alternativa a tener en cuenta por el diseador de una red neuronal en el momento de seleccionar el algoritmo de entrenamiento.

5.2. Objetivo y marco de trabajo


El mtodo de entrenamiento deber ser diseado con el objetivo de eliminar los problemas que sufre el algoritmo backpropagation, o en su defecto deber disminuir el efecto producido por stos. El diseo de dicho mtodo de entrenamiento deber realizarse siguiendo las siguientes premisas:

Adaptabilidad El mtodo deber ser aplicable a distintas topologas sin necesidad de realizar grandes modificaciones sobre el mismo. De esta manera se busca reducir el tiempo de desarrollo de mtodos de entrenamiento.

Baja dependencia de parmetros El mtodo debe ser capaz de encontrar un conjunto de pesos sinpticos lo suficientemente bueno como para ser utilizado en problemas prcticos, sin que el xito del mismo este fuertemente asociado a la configuracin del mtodo.

L. Federico Bertona

Descripcin del problema

35

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Mnimos locales El mtodo debe realizar una buena exploracin del espacio de soluciones para evitar quedar atrapado en mnimos locales. El mtodo no necesariamente tiene que ser capaz de encontrar el mnimo global, pero si debe ser capaz de encontrar un mnimo local lo suficientemente bueno.

Parlisis El proceso de aprendizaje debe ser un proceso continuo. El mtodo debe asegurar la continuidad del aprendizaje en los casos en que una neurona se sature.

Generalizacin Una caracterstica deseable del mtodo es que sea capaz de obtener un alto grado de generalizacin.

Siguiendo los lineamientos mencionados previamente se disear un nuevo mtodo de entrenamiento, el cual se comparar con el algoritmo backpropagation. Los experimentos debern resolver las siguientes cuestiones: Cuestin: Como influyen los parmetros del algoritmo backpropagation en el aprendizaje de la red? Cuestin: De qu manera influyen los valores de inicializacin en el aprendizaje utilizando el algoritmo backpropagation? Cuestin: Cul es la capacidad de generalizacin de las redes entrenadas por el mtodo propuesto? Cuestin: Cmo responde el mtodo al fenmeno de saturacin y a los mnimos locales? Cuestin: Cmo se adapta el mtodo a diferentes topologas?

36

Descripcin del problema

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 6: Solucin propuesta


El objetivo de este captulo es desarrollar un mtodo alternativo de entrenamiento de redes neuronales con conexin hacia delante, siguiendo los lineamientos propuestos en el captulo anterior. El mtodo propuesto deber tener la capacidad de sobreponerse a los siguientes problemas:

Adaptabilidad Dependencia de parmetros Mnimos locales Parlisis

Teniendo en cuenta los problemas mencionados se estudiar en este captulo la posibilidad de entrenar redes neuronales basndose en la aplicacin de algoritmos genticos. Los algoritmos genticos son una alternativa interesante ya que presentan las siguientes caractersticas:

El espacio de bsqueda es muy grande y multimodal. Diferentes redes neuronales son capaces de lograr la misma performance [Yao, 1996]. A medida que crece la cantidad de ejemplos, y aumenta la complejidad de la topologa, el espacio de bsqueda se vuelve cada vez ms complejo, y la funcin de error contiene cada vez ms mnimos locales. Los algoritmos genticos presentan una alta eficiencia en espacios de bsqueda grandes y complejos, pudiendo encontrar soluciones prximas al mnimo global [Montana, 1995], [Adamidis, 1994]. Otra importante razn para estudiar los algoritmos genticos como mtodo alternativo de entrenamiento de redes neuronales es su generalidad. El algoritmo gentico requiere muy poca informacin acerca de la estructura del problema [Jules, 1994] y por lo tanto puede ser utilizado para entrenar diferentes variedades de redes neuronales, como redes recurrentes, redes con funciones de activacin discontinuas, etc. [Yao, 1993b]. El proceso evolutivo es un proceso continuo. Los algoritmos evolutivos trabajan en paralelo sobre una poblacin de posibles soluciones, reducindose las posibilidades de que el proceso se detenga en un mnimo local subptimo [Potter, 1992].

Durante el resto del captulo se estudiarn las modificaciones necesarias a realizar sobre el algoritmo gentico cannico para poder aplicarlo el entrenamiento de redes neuronales.

L. Federico Bertona

Solucin propuesta

37

Entrenamiento de redes neuronales basado en algoritmos evolutivos

6.1. Algoritmo gentico para entrenamiento de redes neuronales


El mtodo propuesto consiste en una adaptacin del algoritmo gentico cannico. Se estudiar la manera de adaptar distintas variantes de los operadores clsicos para poder utilizar a los algoritmos genticos como mtodo de entrenamiento de redes neuronales.

6.1.1. Codificacin de parmetros


Cada individuo (cromosoma) de la poblacin se definir como una cadena binaria. La longitud de dicha cadena depender de la topologa de la red. Dentro del cromosoma cada peso de la red neuronal estar representado por 32 bits consecutivos. As, la cantidad de genes dentro del cromosoma ser proporcional a la cantidad de pesos (y umbrales) que tenga la red. A lo largo de este captulo se utilizar indistintamente el trmino peso y gen para facilitar la explicacin de los distintos operadores. Sin embargo, es importante destacar que 32 genes sern la representacin en el genotipo de un peso sinptico, existiendo una funcin que transforma un conjunto de 32 bits en el peso sinptico que representa (y viceversa).

6.1.2. Del genotipo al fenotipo


La transformacin del genotipo al fenotipo ser directa. Los pesos sinpticos que parten desde una misma neurona sern representados por genes contiguos en el genotipo. La figura 6.1 muestra grficamente la transformacin del genotipo al fenotipo. W02 W03 W04 W05 W12 W13 W14 W15 T2 T3 T4 T5

W02 W03 W04 W05 W12 W13 W14 W15 T2 T3 T4 T5 Figura 6.1. Morfognesis

Este esquema de codificacin del genotipo esta directamente relacionado con el esquema de cruza que se utilizar, y que se describe en la seccin 6.1.5.

6.1.3. Evaluacin y aptitud


La funcin de evaluacin que se utilizar en este mtodo ser la dada por la ecuacin (6.1):

38

Solucin propuesta

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

fi =

1 ei

(6.1)

donde fi es el valor de evaluacin del individuo i, y ei es el error cuadrtico medio de la red neuronal que representa el individuo i. Esta funcin de evaluacin aumenta cuando el error cuadrtico medio disminuye. As, se busca favorecer en mayor medida a los individuos que tienen menor error cuadrtico medio sobre el set de entrenamiento. Una vez evaluados todos los individuos de la poblacin se proceder a calcular la aptitud de los mismos. En este caso se decidi no hacer uso de la funcin de aptitud clsica empleada por el algoritmo gentico cannico, sino que se utilizar la funcin de aptitud dada por la ecuacin (6.2):
Fi = 2 * f MIN fi

(6.2)

Donde Fi es el valor de aptitud del individuo i, fi es el valor de evaluacin del individuo i, y fMIN es el valor de evaluacin mnimo obtenido en las generaciones previas a la actual. De esta manera se busca asignarles mayores posibilidades de supervivencia a los individuos que superan la mejor performance de las generaciones previas.

6.1.4. Operadores de seleccin


Se proponen para el estudio cuatro variantes del operador de seleccin. Todas estas variantes son operadores de seleccin clsicos, los cuales se utilizarn en combinacin con un proceso de seleccin elitista. A continuacin se realiza una descripcin de cada uno de estos operadores: 6.1.4.1. Seleccin elitista Este operador se utilizar en combinacin con el resto de los operadores propuestos. El objetivo de este esquema de seleccin es asegurar que los mejores individuos de una poblacin pasen a la siguiente. El operador propuesto asigna una cantidad de copias igual a un porcentaje de la poblacin, el cual vara de acuerdo a la posicin del individuo: Posicin Porcentaje 1 10% 2 5% 3 3% 4 2% 5 1,5% 6 1% Tabla 6.1. Seleccin elitista

L. Federico Bertona

Solucin propuesta

39

Entrenamiento de redes neuronales basado en algoritmos evolutivos En todos los casos se asegura que al menos una copia de cada individuo pasar a la siguiente poblacin, aun cuando el porcentaje corresponda a menos de una copia. El resto de los individuos de la poblacin sern seleccionados por alguna otra variante del operador de seleccin. 6.1.4.2. Seleccin proporcional Este operador asigna un nmero de copias proporcional a la aptitud de un individuo. El nmero de copias del individuo i que pasarn a la siguiente poblacin se calcula en base a la siguiente ecuacin:
ci = N * Fi

F
i =1

(6.3)

6.1.4.3. Seleccin por ruleta El primer paso para la aplicacin de este operador consiste en obtener aleatoriamente un nmero R de la siguiente manera:

R = Random(0, Fi )
i =1

(6.4)

Luego se selecciona al individuo j tal que:

Fi R < Fi
i =1 i =1

j +1

(6.5)

Este individuo pasa a la siguiente generacin, repitindose el procedimiento tantas veces como sea necesario hasta completar la siguiente generacin. Al contener una componente aleatoria, la cantidad de copias de un individuo que efectivamente pasan a la siguiente generacin puede variar de la cantidad de copias esperadas. 6.1.4.4. Seleccin por torneo Para este operador se defini un tamao del torneo igual a dos. De esta manera se seleccionan aleatoriamente dos individuos de la poblacin, pasando a la siguiente generacin aquel individuo que tiene mayor aptitud. Este proceso se repite N veces, donde N es el tamao de la poblacin. La seleccin por torneo no asegura que el nmero de copias que pasan a la prxima generacin sea igual al esperado. 6.1.4.5. Seleccin por ranking Este operador asigna una probabilidad de seleccin proporcional a la aptitud del individuo. Sin embargo, la seleccin se realiza con un esquema 40 Solucin propuesta L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos anlogo al de seleccin por ruleta. Se asigna a un individuo una probabilidad de seleccin igual a:

pi =

N i

i
i =1

(6.6)

Luego se selecciona un nmero aleatorio R de la siguiente manera:

R = Random(0, pi )
i =1

(6.7)

Por ltimo se elige al individuo j tal que:

pi R < pi
i =1 i =1

j +1

(6.8)

Este individuo pasa a la siguiente generacin. El procedimiento se repite tantas veces como sea necesario hasta completar la siguiente generacin. Nuevamente, la cantidad de copias que se pasan a la siguiente generacin puede diferir de la cantidad esperada con un esquema proporcional.

6.1.5. Operadores de cruza


Este operador se implementar directamente sobre el fenotipo, en contraste con los operadores de cruza clsicos utilizados en los algoritmos genticos. En lugar de cruzar genes individuales se cruzarn neuronas completas. El objetivo de esta definicin es mantener estructuras complejas, evitando que sean destruidas por el operador de cruza. Todos los pesos que parten de una misma neurona sern tratados como una unidad indivisible. La figura 6.2 muestra grficamente los puntos de cruza para una red neuronal con dos neuronas de entrada y 4 neuronas de salida. W02 Neurona 0 Neurona 1 Umbrales W03 W04 W05 W12 W13 W14 W15 T2 T3 T4 T5 Figura 6.2. Puntos de cruza Debido a esta definicin ser necesario darle gran importancia al operador de mutacin, que ser el encargado de explorar el espacio de soluciones, en bsqueda de mejores conjuntos de pesos sinpticos. Todos los operadores de cruza que se estudiarn toman dos padres aleatoriamente de la poblacin actual y generan dos hijos donde uno es el complemento del otro. A continuacin se presentan las cuatro variantes a estudiar.

L. Federico Bertona

Solucin propuesta

41

Entrenamiento de redes neuronales basado en algoritmos evolutivos 6.1.5.1. Cruza Uniforme Este operador de cruza asigna aleatoriamente los pesos entre puntos de cruza sucesivos. Cada hijo tiene una probabilidad de 0.5 de recibir los genes de su padre y por ende de recibirlos de su madre. Para cada conjunto de pesos comprendido entre dos puntos de cruza sucesivos se selecciona aleatoriamente el origen de los genes del hijo 1 y se asignan a l. Luego, el hijo 2 tomar los genes del otro ancestro. La figura 6.3 muestra un ejemplo de cruza uniforme entre dos cromosomas. En el ejemplo se observa que el hijo 1 recibe dos conjuntos de pesos sucesivos del padre y el tercero de la madre. El segundo hijo se forma como complemento del primero. Padre W02 W03 W04 W05 W12 W13 W14 W15 Madre W02 W03 W04 W05 W12 W13 W14 W15 T2 T2 T3 T3 T4 T4 T5 T5

Hijo 1 W02 W03 W04 W05 W12 W13 W14 W15

T2

T3 T3

T4 T4

T5 T5

Hijo 2 W02 W03 W04 W05 W12 W13 W14 W15 T2 Figura 6.3. Cruza uniforme 6.1.5.2. Cruza Binomial

Este operador es similar al operador de cruza uniforme, slo que las probabilidades se definen en funcin de la aptitud de los padres de la siguiente manera:

f padre p padre = f padre + f madre p madre =1 p padre


6.1.5.3. Cruza Simple

(6.9)

En esta variante del operador de cruza se toma aleatoriamente un punto de cruza. Luego, a un hijo se le asignan todos los genes del padre ubicados a la izquierda del punto de cruza, y todos los genes de la madre ubicados a la derecha del punto de cruza. El segundo hijo es el complemento del primero. La figura 6.4 muestra un ejemplo de cruza simple en el cual se toma como punto de cruza el primero de ellos.

42

Solucin propuesta

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Padre W02 W03 W04 W05 W12 W13 W14 W15 Madre W02 W03 W04 W05 W12 W13 W14 W15

T2 T2

T3 T3

T4 T4

T5 T5

Hijo 1 W02 W03 W04 W05 W12 W13 W14 W15

T2

T3 T3

T4 T4

T5 T5

Hijo 2 W02 W03 W04 W05 W12 W13 W14 W15 T2 Figura 6.4. Cruza Simple 6.1.5.4. Cruza Multipunto

Esta cuarta variante del operador de cruza es similar al operador de cruza simple, slo que la cantidad de puntos de cruza se determina aleatoriamente. Cada hijo recibe los genes entre dos puntos de cruza sucesivos de cada uno de los padres, de manera intercalada. Cabe destacar que la cruza simple es un caso particular de la cruza multipunto, con un nico punto de cruza. La figura 6.5 muestra un ejemplo de cruza multipunto, tomando dos puntos de cruza. Padre W02 W03 W04 W05 W12 W13 W14 W15 Madre W02 W03 W04 W05 W12 W13 W14 W15 T2 T2 T3 T3 T4 T4 T5 T5

Hijo 1 W02 W03 W04 W05 W12 W13 W14 W15

T2

T3 T3

T4 T4

T5 T5

Hijo 2 W02 W03 W04 W05 W12 W13 W14 W15 T2 Figura 6.5. Cruza Multipunto

6.1.6. Operadores de mutacin


Para el operador de mutacin se estudiarn dos variantes diferentes, la mutacin binaria y la mutacin numrica. En ambos casos, el operador de mutacin actuar con una determinada probabilidad de mutacin, la cual se explica ms delante. La mutacin binaria es el tipo de mutacin tradicionalmente utilizado en el algoritmo gentico cannico, y consiste en invertir un gen aleatoriamente. Dada la representacin binaria del gen, se invierte el bit que lo representa con una determinada probabilidad, como lo muestra la figura 6.6.

L. Federico Bertona

Solucin propuesta

43

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Antes

Despus

0 1 1 1 0 Figura 6.6. Mutacin Binaria

La mutacin numrica es otra variante del operador de mutacin, implementada sobre el fenotipo. Se convierten los genes en el conjunto de pesos que representan y con una determinada probabilidad se les suman una pequea cantidad aleatoria. La figura 6.7 muestra un ejemplo de mutacin numrica. Antes W02 W03 W04 W05 W12 W13 W14 W15 T2 T3 T4 T5

Despus W02 W03 W04 W05 W12 + W W13 W14 W15 Figura 6.7. Mutacin Numrica

T2

T3

T4

T5

Este tipo de mutacin se desarroll en base a observaciones realizadas sobre el algoritmo backpropagation. En dicho algoritmo cada peso es modificado proporcionalmente al gradiente de la funcin de error. De esta manera, a medida que la red se va acercando a la solucin las modificaciones son menores. De acuerdo a lo dicho anteriormente se propone el esquema de variaciones de pesos dado por la ecuacin 6.10.

Wij (t + 1) = Wij (t ) + Wij (t )


donde

(6.10)

Wij (t ) = Random( R, R)
y 0.6 0.0005 * t si t <= 1000 R = 0.1 caso contrario

(6.11)

(6.12)

En ambos casos el operador de seleccin ser el encargado de determinar si el individuo resultante tiene el grado de adaptacin suficiente para contribuir a la formacin de la prxima generacin. Como se mencion en el captulo 4 el operador de mutacin acta con una probabilidad de mutacin Pm. Cada uno de estos tipos de mutacin se combinar con tres funciones de probabilidad de mutacin distintas: uniforme,

44

Solucin propuesta

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos adaptativa por temperatura ascendente, y adaptativa por temperatura descendente, y que se definen a continuacin 6.1.6.1. Mutacin uniforme En este caso la probabilidad de mutacin permanece constante a lo largo de las distintas generaciones, como lo muestra la ecuacin 6.13.
max min Pm (t ) = Pm (0) = Pm = Pm

(6.13)

6.1.6.2. Mutacin adaptativa por temperatura ascendente La probabilidad de mutacin se va incrementando a medida que transcurren las generaciones. El objetivo de este aumento es mantener la diversidad de individuos en la poblacin, que tiende a hacerse homognea con el transcurso de las generaciones. La probabilidad de mutacin para una generacin esta dada por la ecuacin 6.14.
min Pm (t ) = Pm + max min ( Pm Pm ) *t T

(6.14)

6.1.6.3. Mutacin adaptativa por temperatura descendente La probabilidad de mutacin va decreciendo a medida que transcurren las generaciones. De esta manera se asegura una alta diversidad de individuos en las generaciones iniciales. La probabilidad mnima debe ser mayor a cero para permitir continuar la exploracin del espacio de bsqueda a medida que las generaciones avanzan. La ecuacin 6.15 muestra como se calcula la probabilidad de mutacin para una determinada generacin.

Pm (t ) = P

max m

max min ( Pm Pm ) *t T

(6.15)

6.1.7. Operadores de inicializacin


La forma en que se crea la poblacin inicial es una cuestin clave a resolver. Como se mencion en el captulo 4, la poblacin inicial debera contener idealmente todos los alelos posibles que pueda tomar un gen. Dado que en la prctica esta situacin no es factible, el mtodo de inicializacin debe asegurar la suficiente diversidad como para explorar todo el espacio de bsqueda. A continuacin se presentan dos formas distintas de inicializar la poblacin. 6.1.7.1. Inicializacin Random Este mtodo de inicializacin se implementa directamente sobre el fenotipo y consiste en generar aleatoriamente un conjunto de pesos. El valor de los

L. Federico Bertona

Solucin propuesta

45

Entrenamiento de redes neuronales basado en algoritmos evolutivos pesos esta dado por una distribucin uniforme definida en un rango de valores que idealmente debera estar centrado en cero. Es decir,
Wij = Random( Ini min , Ini max )

(6.16)

6.1.7.2. Inicializacin Selectiva Este mtodo es similar al anterior, slo que una determinada cantidad de individuos es generada con valores previamente seleccionados. Individuo Wij 1 0 2 Inimin 3 Inimax min 4 Random(0.5*Ini ; 0.5*Inimax) 5 Random(0.75*Inimin ; 0.75*Inimax) 6 Random(0.25*Inimin ; 0.25*Inimax) 7 0.5*Inimin 8 0.5*Inimax Tabla 6.2. Inicializacin Selectiva El resto de los individuos se genera con pesos dados por la ecuacin 6.16

6.2. Problemas del mtodo propuesto


Durante la aplicacin del mtodo propuesto podran aparecer algunos problemas, los cuales se describen a continuacin. Tambin se describe a continuacin el tratamiento que se le dar a cada uno de ellos.

6.2.1. El problema de la convergencia prematura


La convergencia prematura es un problema muy comn en los algoritmos genticos. Este problema se presenta cuando aparece en una generacin un individuo con un nivel de adaptacin muy superior al resto de la poblacin [Korning, 1995]. En este caso, el sper-individuo domina rpidamente la poblacin, antes de que se haya podido realizar una exploracin suficientemente amplia del espacio de bsqueda. Esta caracterstica se presenta fundamentalmente cuando se hace uso de operadores de seleccin proporcionales, donde el sper-individuo contribuye con gran cantidad de copias a la siguiente generacin. As, la poblacin tiende a hacerse homognea y el algoritmo gentico se estabiliza en una solucin que puede no ser lo suficientemente buena. Para evitar este problema se estudiar el uso de operadores de seleccin alternativos a la seleccin proporcional, donde todos los individuos tengan posibilidades de pasar a la siguiente generacin. Tambin, para garantizar la

46

Solucin propuesta

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos heterogeneidad de la poblacin, se har uso de probabilidades de mutacin superiores a las utilizadas normalmente en algoritmos genticos.

6.2.2. El problema de la permutacin


El problema de la permutacin es un tema tratado muy frecuentemente en trabajos sobre diseo de topologas de redes neuronales mediante algoritmos genticos. El origen de este problema se encuentra en la disposicin de las neuronas ocultas de una red neuronal [Liu y Yao, 1997]. Dos redes neuronales pueden ser funcionalmente equivalentes independientemente del orden de sus neuronas ocultas, como se muestra en la figura 6.8.

2. 1

4. 7

4. 7

2.1

7.3

4.3

3.5

4.3

6.4

6.4

3.5

(a)

(b)

Figura 6.8. El problema de la permutacin Dado que una red neuronal puede tener varios genotipos que la representan, la probabilidad de que el operador de cruza produzca de ellos un individuo ms adaptado es baja. Por esto, varios trabajos no hacen uso de este operador, a pesar de la importancia del mismo [Whiltey, 1995]. Sin embargo, el efecto de este problema no es tan severo como se supone [Hancock, 1992]. Por ello, en este trabajo se tratar a los individuos que presentan este problema como sinnimos, dejando que el operador de seleccin sea el encargado de decidir que individuos contribuyen a la prxima generacin. A su vez, el tamao de la poblacin se seleccionar de manera de minimizar los efectos de este problema en el operador de cruza. En base a lo dicho a lo largo de este captulo se debern disear los experimentos de manera tal que respondan a las siguientes cuestiones: Cuestin: Cul es el operador de seleccin adecuado para entrenar redes neuronales utilizando algoritmos genticos? Cuestin: Cul es el operador de cruza adecuado para entrenar redes neuronales utilizando algoritmos genticos?

L. Federico Bertona

Solucin propuesta

7.3

47

Entrenamiento de redes neuronales basado en algoritmos evolutivos Cuestin: Cual es la manera ms efectiva de realizar la mutacin para entrenar redes neuronales utilizando algoritmos genticos? Cul es el operador de mutacin adecuado para entrenar redes neuronales? Cuestin De qu manera influyen los valores de inicializacin en el aprendizaje utilizando el mtodo propuesto? Cul es la ventaja de utilizar un esquema de inicializacin selectivo? Cuestin: Cul es la ventaja del mtodo propuesto en cuanto a los tiempos de entrenamiento?

6.3. Cuestiones a resolver en esta tesis


El propsito de esta tesis es establecer una medida de comparacin entre los mtodos tradicionales de entrenamiento y el mtodo de entrenamiento propuesto en este captulo. Dentro de este contexto, las cuestiones que se plantean a lo largo de esta tesis y se debern resolver en base a los resultados experimentales son las siguientes: Cuestin 1: Como influyen los parmetros del algoritmo backpropagation en el aprendizaje de la red? Cuestin 2: De qu manera influyen los valores de inicializacin en el aprendizaje utilizando el algoritmo backpropagation? Cuestin 3: Cul es el operador de seleccin adecuado para entrenar redes neuronales utilizando algoritmos genticos? Cuestin 4: Cul es el operador de cruza adecuado para entrenar redes neuronales utilizando algoritmos genticos? Cuestin 5: Cual es la manera ms efectiva de realizar la mutacin para entrenar redes neuronales utilizando algoritmos genticos? Cul es el operador de mutacin adecuado para entrenar redes neuronales? Cuestin 6: De qu manera influyen los valores de inicializacin en el aprendizaje utilizando el mtodo propuesto? Cul es la ventaja de utilizar un esquema de inicializacin selectivo? Cuestin 7: Cul es la ventaja del mtodo propuesto en cuanto a los tiempos de entrenamiento? Cuestin 8: Cul es la capacidad de generalizacin de las redes entrenadas por el mtodo propuesto? Cuestin 9: Cmo responde el mtodo al fenmeno de saturacin y a los mnimos locales? Cuestin 10: Cmo se adapta el mtodo a diferentes topologas? 48 Solucin propuesta L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 7: Experimentacin
En este captulo se presentan los resultados experimentales obtenidos por ambos mtodos de entrenamiento. La seccin 7.1 describe las caractersticas generales de los experimentos realizados, la manera en que se disearon los experimentos, y el objetivo perseguido por stos. Luego, en la seccin 7.2 se presentan los resultados obtenidos. Los resultados experimentales permitirn establecer una medida de comparacin entre ambos mtodos y determinar las caractersticas principales de cada uno de ellos.

7.1. Diseo experimental


Los experimentos realizados fueron diseados con el objetivo de establecer las siguientes tres caractersticas: 1. Determinar la configuracin ptima del algoritmo backpropagation (seccin 7.2.1) 2. Determinar la configuracin ptima del algoritmo de entrenamiento propuesto (seccin 7.2.2) 3. Establecer una comparacin directa entre ambos mtodos (seccin 7.2.3) Para cada configuracin en particular de un mtodo de entrenamiento se realizaron un total de 50 experimentos. Se seleccion esta cantidad de experimentos ya que permite determinar con precisin el tiempo promedio de entrenamiento de un mtodo, as como tambin el grado de variacin de los resultados con respecto a dicho valor promedio. Esta afirmacin se hace extensiva al resto de las variables analizadas. Los resultados obtenidos se analizaron de la siguiente manera: se tom como valor del mtodo para una variable en particular al valor promedio sobre el total de experimentos realizados (50 corridas). Se utiliz el desvo estndar para determinar el grado de variacin de los valores de la variable con respecto del valor medio. Los valores individuales de cada experimento tambin se analizaron con el objetivo de realizar comparaciones entre distintas configuraciones. En este caso se estudi cual es el mejor valor obtenido por cada configuracin. Sin embargo, este valor no fue tomado como un valor general del mtodo ya que en muchos casos se presentaron grandes variaciones entre los valores obtenidos. Slo fueron considerados para tener una medida del mejor caso. Los resultados presentados a lo largo de este captulo fueron obtenidos tras ms de 400 horas de entrenamiento. A continuacin se presenta un resumen del tiempo total de entrenamiento realizado por cada mtodo, de acuerdo al objetivo de entrenamiento perseguido por el experimento:

L. Federico Bertona

Experimentacin

49

Entrenamiento de redes neuronales basado en algoritmos evolutivos Tipo Algoritmo Entrenamiento Objetivo Entrenamiento Evaluacin de operadores del algoritmo gentico - Seleccin Evaluacin de operadores del algoritmo gentico - Cruza Evaluacin de operadores del algoritmo gentico - Mutacin Parmetros de inicializacin del algoritmo gentico Comparacin de mtodo Total Parmetros ptimos de la red neuronal Parmetros de inicializacin de la red neuronal Comparacin de mtodo Total Tiempo 15.22 11.91 116.25 35.96 5.80 185.13 179.12 48.98 9.54 237.63 422.76

Algoritmo gentico

Red Neuronal Total

Tabla 7.1 Distribucin de los tiempos de entrenamiento.

7.1.1. El algoritmo backpropagation


El algoritmo Backpropagation se utiliz como medida de comparacin para constatar la calidad del mtodo propuesto. En la primera serie de experimentos se estudi el conjunto de parmetros que minimizan los tiempos de entrenamiento de este mtodo. Los parmetros de configuracin estudiados durante esta serie de experimentos fueron:

Tasa de aprendizaje Tasa de momento Rango de valores iniciales.

Los parmetros ptimos obtenidos durante esta primera etapa fueron utilizados luego para comparar los resultados obtenidos por este mtodo con los resultados obtenidos por el algoritmo gentico. El primer paso en la aplicacin de este mtodo consiste en la generacin aleatoria del conjunto de pesos de la red neuronal. El valor de inicializacin esta dado por una distribucin uniforme, y cuyo rango de valores ptimos es un parmetro en estudio. Luego se procede a la aplicacin del mtodo utilizando las tasas de aprendizaje y de momento seleccionadas. La aplicacin del algoritmo continuar hasta que la red alcance un nivel de error menor al umbral prefijado o cuando se hayan realizado una cantidad de ciclos predeterminada. Si la red alcanza un nivel de error menor al umbral prefijado se considera que el mtodo fue capaz de entrenar la red. Caso contrario, se considera que la red no pudo ser entrenada.

50

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

7.1.2. El algoritmo gentico


La segunda serie de experimentos tuvo como objetivo determinar cuales son los operadores genticos y los parmetros de configuracin que minimizan los tiempos de entrenamiento empleados por el algoritmo gentico. Los parmetros y/o operadores estudiados en este caso fueron: Funcin de seleccin Funcin de cruza Tipo de mutacin Funcin de mutacin y probabilidad de mutacin Funcin de inicializacin y rango de valores iniciales Dependiendo de los parmetros seleccionados la aplicacin del mtodo tendr caractersticas propias. Sin embargo, una definicin general del mtodo es la siguiente: 1. 2. 3. 4. 5. 6. Generar una poblacin inicial. Seleccionar los mejores individuos de la poblacin Cruzar los individuos de la poblacin Mutar aleatoriamente los individuos de la poblacin Evaluar a los individuos de la poblacin resultante. Si el nivel de error de la poblacin es mayor al umbral prefijado, volver al paso 2

Los parmetros ptimos obtenidos durante esta etapa fueron utilizados luego para comparar los resultados obtenidos por este mtodo con los resultados obtenidos por el algoritmo backpropagation.

7.1.3. El set de entrenamiento


El set de entrenamiento que se utilizar durante la evaluacin del mtodo propuesto debe presentar las siguientes caractersticas: 1. Debe poseer un elevado numero de ejemplos. 2. Los ejemplos deben ser variados, y los atributos multivaluados. 3. El problema a resolver debe ser una aplicacin real, de compleja resolucin. Las caractersticas mencionadas previamente responden a la necesidad de evaluar el mtodo propuesto sobre aplicaciones reales. Al poseer un elevado nmero de ejemplos se podr evaluar tambin la capacidad de generalizacin de la red obtenida. El set de datos utilizado a lo largo de los experimentos realizados consiste en 690 solicitudes de tarjetas de crditos. Este problema, conocido como Australian Credit Card Problem, es altamente utilizado para la evaluacin de mtodos de entrenamiento [Blake y Merz, 1998]. El set de entrenamiento esta compuesto de 690 ejemplos, cada uno de los cuales es una solicitud. Cada ejemplo posee 14 atributos que describen las L. Federico Bertona Experimentacin 51

Entrenamiento de redes neuronales basado en algoritmos evolutivos caractersticas del solicitante, de los cuales 8 poseen valores discretos y 6 poseen valores numricos. La salida de cada ejemplo puede pertenecer a una de dos clases, que indica la aprobacin o no de la solicitud. Para facilitar el entrenamiento de la red neuronal, y disminuir los tiempos de entrenamiento, se realiz un preprocesamiento de estos ejemplos. A los atributos que toman valores continuos se los normaliz dentro del intervalo [0,1]. A los atributos que toman valores discretos se los dividi en N atributos, donde N representa la cantidad de valores que puede tomar el atributo. De esta manera se obtiene un set de datos de 690 ejemplos, con 47 atributos entradas y una nica salida. Para poder evaluar las caractersticas de la red obtenida se particion el set de datos en dos subsets: el subset de entrenamiento y el subset de evaluacin. El primer subset se utiliz para realizar el entrenamiento de la red, mientras que el segundo subset se utiliz para evaluar la red obtenida. El particionamiento se realiz de manera tal que los subsets resultantes sean representativos, es decir, que posean las mismas caractersticas que el set original. Para la primera y segunda serie de experimentos se utiliz el mismo particionamiento del set de datos. Se toman aleatoriamente el 65% de los ejemplos para entrenamiento y se dejan un 35% de ejemplos para evaluacin. Para realizar la comparacin entre ambos mtodos se particion nuevamente el set de datos, tomando en este caso el 80 % de los ejemplos para entrenamiento. A continuacin se presentan las caractersticas de cada set de datos: CANTIDADES PORCENTAJES Total Clase 1 Clase 2 % % C1 % C2 690 307 383 100.0% 44.5% 55.5% Dataset 448 199 249 64.9% 44.4% 55.6% Ent. 1 242 108 134 35.1% 44.6% 55.4% Eval. 1 552 246 306 80.0% 44.6% 55.4% Ent. 2 138 61 77 20.0% 44.2% 55.8% Eval. 2 Tabla 7.2 Caractersticas de los sets de datos

7.1.4. Evaluacin del mtodo


La evaluacin del mtodo propuesto se realiz comparando su performance con la obtenida por el algoritmo backpropagation. Se tom como medida de comparacin el error cuadrtico medio por dos motivos. En primer lugar, el error cuadrtico medio es inversamente proporcional a la performance de la red. Una red con bajo error cuadrtico medio tiene una buena performance. El segundo motivo por el que se selecciono esta unidad de medida es que puede ser calculada fcilmente en ambos mtodos, sin introducir distorsiones sobre el valor obtenido. Dado que ambos mtodos trabajan con ciclos iterativos distintos (las redes neuronales lo hacen con epochs mientras que los algoritmos genticos trabajan con generaciones) se seleccion como unidad de medida para comparar tiempos entre ambos mtodos al segundo. De esta manera, en todas las estadsticas se registran el tiempo en segundos desde el comienzo del 52 Experimentacin L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos entrenamiento, permitiendo realizar una comparacin directa entre ambos mtodos. Para poder establecer una medida real de comparacin, al algoritmo backpropagation se le aplicarn el conjunto de tcnicas para la aceleracin del algoritmo descriptas en el captulo 3.

7.1.5. Parmetros de los algoritmos


7.1.5.1. Parmetros fijos Estos parmetros permanecieron invariables a lo largo de los experimentos:

Cantidad de generaciones. Mxima cantidad de generaciones del algoritmo gentico. Se tom un valor mximo de 5000 generaciones Cantidad de individuos por generacin. Cantidad de individuos que componen cada generacin del algoritmo gentico. Se tom un valor de 30 individuos. Probabilidad de cruza. Determina la probabilidad de que dos individuos se crucen e intercambien su material gentico. Este parmetro esta directamente relacionado con el salto generacional, que es la cantidad de individuos nuevos que conforman la poblacin. Se tom un valor de 1, por lo que entre dos generaciones sucesivas se renuevan completamente los individuos que la componen. Cantidad de ciclos o epochs. Mxima cantidad de ciclos del algoritmo Backpropagation. Se tomo un valor mximo de 1000 epochs. Error mximo admisible. Error cuadrtico medio a partir del cual una red puede considerarse entrenada. Se tom valor de 0.05 para las primeras dos series de experimentos y de 0.07 para la tercer serie. Umbral de acierto. Es la diferencia mxima que puede existir entre el valor deseado y el valor obtenido por la red para que el ejemplo pueda ser considerado como acierto. Se tomo un valor mximo de 0.35.

7.1.5.2. Variables independientes Estos variables fueron modificadas de acuerdo al objetivo de cada experimento:

Funcin de seleccin. Indica cual es la funcin de seleccin que se utiliza en el algoritmo gentico. Funcin de cruza. Denota cual es la funcin de cruza que se utiliza en el algoritmo gentico. Tipo de mutacin. Determina la manera en que se aplica el operador mutacin. Funcin de mutacin. Indica cual es la funcin de mutacin que se utiliza en el algoritmo gentico.

L. Federico Bertona

Experimentacin

53

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin de inicializacin. Define de que manera se conforma la generacin inicial del algoritmo gentico. Probabilidad de mutacin. Determina cual es la probabilidad de aplicar el operador de mutacin. Valor de inicializacin. Define el rango de valores dentro del cual se generarn aleatoriamente los pesos iniciales de un cromosoma o una red neuronal. Tasa de aprendizaje. Indica el tamao del paso tomado en cada iteracin. Define como se realizar el ajuste de los pesos entre ciclos sucesivos. Tasa de momento. Permite disminuir el impacto de las oscilaciones en torno al punto mnimo cuando se utilizan tasas de aprendizaje altas.

7.1.5.3. Variables dependientes El siguiente conjunto de variables depende de la configuracin realizada sobre el algoritmo de entrenamiento. Se utilizan para medir la performance del mtodo aplicado:

Tiempo de entrenamiento. Tiempo que transcurre desde el inicio del entrenamiento hasta el fin del mismo. Error. Es el error cuadrtico medio de una red neuronal. Para el caso del algoritmo gentico se toma el mnimo de la generacin. Porcentaje de aciertos. Cantidad de ejemplos bien clasificados sobre el total de ejemplos evaluados.

7.1.6. Tipos de grficos


Para mostrar los resultados obtenidos a lo largo de los experimentos realizados se utilizarn dos tipos de grficos.

Grficos de tendencia del error de entrenamiento: muestran, en funcin del tiempo, la tendencia logartmica del error de entrenamiento. El error de entrenamiento se define como el error promedio obtenido para un instante de tiempo por las distintas corridas del mtodo en anlisis. Grficos de error de entrenamiento: muestran, en funcin del tiempo, la evolucin del error de entrenamiento promedio. Grficos de aciertos. Muestran el porcentaje de ejemplos correctamente clasificados sobre el total de ejemplos evaluados. Se considera que un ejemplo es clasificado correctamente si la diferencia entre la salida deseada y la salida obtenida es menor al umbral de acierto. Grfico de tiempos individuales de entrenamiento: Muestra para cada experimento en particular el tiempo total de entrenamiento.

54

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

7.2. Experimentos
7.2.1. Red Neuronal
El objetivo de esta serie de experimentos es determinar cuales son los parmetros ptimos que permitan entrenar una red neuronal para el problema en cuestin. Para este grupo de experimentos se utiliz el primer set de datos. 7.2.1.1. Tasas de aprendizaje y momento ptimos Descripcin: Las tasas de aprendizaje y de momento determinan de qu manera se realizan las actualizaciones de los pesos entre iteraciones sucesivas. De acuerdo a las caractersticas de la topologa y de los datos estas constantes suelen variar de problema en problema. Variables: Para la realizacin de los experimentos se utilizaron los siguientes parmetros: Tasa de aprendizaje () = {0.01, 0.05, 0.1, 0.25} Taza de momento () = {0, 0.01, 0.05, 0.1} Resultados: Cant. % Tiempo Desvo Tiempo Alfa Beta Corridas Entrenamiento Prom. Ent. Ent. 0 50 100.0% 534 165 0.01 50 100.0% 592 274 0.01 0.05 50 100.0% 580 207 0.1 50 100.0% 542 179 Tabla 7.3 Tiempos de entrenamiento. Tasa de aprendizaje = 0.01

L. Federico Bertona

Experimentacin

55

Entrenamiento de redes neuronales basado en algoritmos evolutivos


0.25

0 0

0.01 0.01

0.05 0.05

0.1 0.1

0.20

0.15 Error 0.10 0.05 0.00 1 49 97 145 193 241 289 337 385 433 481 529 577 625 673 721 769 817 865 913 961 1009 1057 1105 1153 1201 1249 1297 1345 1393 1441 1861 1489 1923 1537

Seg

Grfico 7.1 Tendencia del error de entrenamiento. Tasa de aprendizaje = 0.01 Cant. % Tiempo Desvo Tiempo Alfa Beta Corridas Entrenamiento Prom. Ent. Ent. 0 50 100.0% 324 189 0.01 50 100.0% 269 92 0.05 0.05 50 98.0% 368 349 0.1 50 100.0% 296 193 Tabla 7.4 Tiempos de entrenamiento. Tasa de aprendizaje = 0.05
0.25

0 0

0.01 0.01

0.05 0.05

0.1 0.1

0.20

0.15 Error 0.10 0.05 0.00 1 63 125 187 249 311 373 435 497 559 621 683 745 807 869 931 993 1055 1117 1179 1241 1303 1365 1427 1489 1551 1613 1675 1737 1799

Seg

Grfico 7.2 Tendencia del error de entrenamiento. Tasa de aprendizaje = 0.05

56

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Cant. % Tiempo Desvo Tiempo Alfa Beta Corridas Entrenamiento Prom. Ent. Ent. 0 50 100.0% 363 141 0.01 50 100.0% 331 159 0.1 0.05 50 98.0% 376 300 0.1 50 98.0% 368 265 Tabla 7.5 Tiempos de entrenamiento. Tasa de aprendizaje = 0.1
0.25

0 0

0.01 0.01

0.05 0.05

0.1 0.1

0.20

0.15 Error 0.10 0.05 0.00 1 63 125 187 249 311 373 435 497 559 621 683 745 807 869 931 993 1055 1117 1179 1241 1303 1365 1427 1489 1551 1613 1675 1737 1799 1861 1923

Seg

Grfico 7.3 Tendencia del error de entrenamiento. Tasa de aprendizaje = 0.1 Cant. % Tiempo Desvo Tiempo Alfa Beta Corridas Entrenamiento Prom. Ent. Ent. 0 50 0.0% 1,980 35 0.01 50 0.0% 1,989 52 0.25 0.05 50 0.0% 1,990 25 0.1 50 0.0% 1,999 41 Tabla 7.6 Tiempos de entrenamiento. Tasa de aprendizaje = 0.25

L. Federico Bertona

Experimentacin

57

Entrenamiento de redes neuronales basado en algoritmos evolutivos


0.35

0 0

0.01 0.01

0.05 0.05

0.1 0.1

0.30

0.25 Error 0.20 0.15 0.10 1 72 143 214 285 356 427 498 569 640 711 782 853 924 995 1066 1137 1208 1279 1350 1421 1492 1563 1634 1705 1776 1847 1918 1989 2060 2132 2211

Seg

Grfico 7.4 Tendencia del error de entrenamiento. Tasa de aprendizaje = 0.25 Corrida Tiempo Prom. Ent. 14 137 14 138 17 139 7 145 0.01 0.05 26 148 0.1 28 148 0.01 25 153 0.1 0.1 32 155 0.05 50 156 0.05 0.01 42 157 0.1 29 157 Tabla 7.7 Mejores tiempos individuales de entrenamiento. Interpretacin de los resultados: El uso de tasas de aprendizaje bajas lleva a una convergencia lenta del algoritmo. Sin embargo, permiten un descenso ms estable sobre la superficie de error permitiendo localizar mejores mnimos. El porcentaje de convergencia a una solucin es alto (Tabla 7.3, Grfico 7.1). Al utilizar tasas de aprendizaje altas el algoritmo oscila alrededor de un mnimo, y no se estabiliza en una solucin. El porcentaje de convergencia a una solucin es bajo (Tabla 7.6, Grfico 7.4). Al utilizar tasas de aprendizaje altas es preferible utilizar tasas de momentos bajas. Esto aumenta la estabilidad del algoritmo. Sin embargo los resultados obtenidos siguen siendo malos (Grfico 7.4). Los mejores tiempos de entrenamiento individuales se obtuvieron utilizando las tasas de aprendizaje 0.05 y 0.1 (Tabla 7.6). Alfa 0.1 Beta 0.01 0 0.05

58

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Los mejores tiempos de entrenamiento promediados sobre el total de ejecuciones del algoritmo se obtuvieron utilizando una tasa de aprendizaje de 0.05 y una tasa de momento de 0.01 (Tabla 7.4).

7.2.1.2. Valores de inicializacin ptimos Descripcin: Los experimentos presentados en esta seccin tienen como objetivo encontrar cual es el rango de valores de inicializacin que disminuye los tiempos de entrenamiento. Variables: Los rangos estudiados fueron los siguientes: Rangos = {[-0.01, 0.01]; [-0.1, 0.1]; [-1, 1]; [-5, 5]} Resultados: Desvo Tiempo Ent. -0.01 0.01 50 100.0% 682 128 -0.1 0.1 50 100.0% 559 111 -1 1 50 100.0% 306 211 -5 5 50 0.0% 1,980 66 Tabla 7.8 Tiempos de entrenamiento. Valores de inicializacin de la red neuronal Min Max Cant. % Tiempo Inicializacin Inicializacin Corridas Entrenamiento Prom. Ent.
0.25 [-5 , 5] [-1 , 1] [-0.1 , 0.1] [-0.01 , 0.01]

0.20

0.15

0.10

0.05

0.00 1 84 167 250 333 416 499 582 665 748 831 914 997 1080 1163 1246 1329 1412 1495 1578 1661 1744 1827 1910 2019 2186 2349

Grfico 7.5 Tendencia del error de entrenamiento. Valores de inicializacin de la red neuronal

L. Federico Bertona

Experimentacin

59

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tiempo Prom. Min Inicializacin Max Inicializacin Corrida Ent. 32 124 41 136 16 141 3 152 24 165 -1 1 10 167 49 173 7 187 31 194 38 194 Tabla 7.9 Mejores tiempos individuales de entrenamiento. Interpretacin de los resultados: El uso de valores de inicializacin muy altos evita que la red sea capaz de alcanzar un nivel de entrenamiento adecuado (Tabla 7.8, Grfico 7.5). El uso de valores de inicializacin muy bajos aumenta el tiempo necesario de entrenamiento (Tabla 7.8). Los mejores tiempos de entrenamiento promediados sobre el total de ejecuciones se obtuvieron para el rango de inicializacin [-1,1]. Esta caracterstica se observa tambin si se analizan cada una de las ejecuciones (Tabla 7.8, Tabla 7.9).

7.2.2. Algoritmos genticos


El objetivo de esta serie de experimentos es determinar cuales son los parmetros de configuracin del algoritmo gentico ptimos que permitan entrenar una red neuronal para el set de datos analizado. Para este grupo de experimentos se utiliz el primer set de datos. 7.2.2.1. Funcin de seleccin Descripcin: El objetivo del operador de seleccin es elegir los individuos de la poblacin que tengan mayor grado de adaptacin. Variables: A lo largo de esta seccin se analizan cuatro funciones de seleccin diferentes: S = {Proporcional, Ruleta, Torneo, Ranking-Ruleta}

60

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Resultados: Tiempo Desvo Funcin Seleccin Prom. Tiempo Ent. Ent. Seleccin proporcional 50 96.0% 296 155 Seleccin ruleta 50 100.0% 325 112 Seleccin torneo 50 100.0% 208 79 Seleccin ranking-ruleta 50 100.0% 267 78 Tabla 7.10 Tiempos de entrenamiento. Funcin de seleccin Cant. % Corridas Entrenamiento
0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00 0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 630 660 690 720 Seg 750

Seleccion proporcional Seleccion torneo

Seleccion ruleta Seleccion ranking-ruleta

Error

Grfico 7.6 Tendencia del error de entrenamiento. Funcin de seleccin Funcin Seleccin Corrida Tiempo Prom. Ent. 32 129 Seleccin torneo 46 134 26 136 Seleccin proporcional 40 140 Seleccin torneo 33 144 Seleccin proporcional 48 147 43 148 Seleccin torneo 16 149 Seleccin proporcional 20 150 Seleccin ranking-ruleta 4 153 Tabla 7.11 Mejores tiempos individuales de entrenamiento. Interpretacin de los resultados: Los tiempos promedio obtenidos por todas las funciones de seleccin analizadas son relativamente similares (Tabla 7.10, Grfico 7.6). L. Federico Bertona Experimentacin 61

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Los mejores tiempos individuales se obtuvieron utilizando los mtodos de seleccin por torneo y seleccin proporcional (Tabla 7.10). Sin embargo esta ltima no fue capaz de alcanzar el nivel de entrenamiento deseado en 2 ejecuciones (Tabla 7.10). Los mtodos de seleccin por torneo y ranking-ruleta muestran tiempos de convergencia bastantes similares a lo largo de las distintas ejecuciones. Esto se ve reflejado en el bajo desvi estndar que muestran sobre el total de corridas (Tabla 7.10). La funcin de seleccin por torneo obtuvo, en promedio, los mejores tiempos de entrenamiento (Tabla 7.10). Los resultados muestran que el mtodo de entrenamiento es poco dependiente del operador de seleccin utilizado (Tabla 7.10, Grfico 7.6).

7.2.2.2. Funcin de cruza Descripcin: El objetivo del operador de cruza es recombinar el material gentico de los individuos de una poblacin para producir nuevos individuos. Variables: En esta seccin se presentan los resultados obtenidos para cuatro operadores de cruza diferentes. C = {Probabilstica, Uniforme, Simple, Multipuntos} Resultados: Cant. % Tiempo Desvo Corridas Entrenamiento Prom. Ent. Tiempo Ent. Cruza probabilstica 50 98.0% 202 99 Cruza uniforme 50 100.0% 190 51 Cruza simple 50 100.0% 249 111 Cruza multipuntos 50 100.0% 216 67 Tabla 7.12 Tiempos de entrenamiento. Funcin de cruza Tipo Funcin Cruza

62

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25

Cruza probabilistica Cruza simple


0.20

Cruza uniforme Cruza multipuntos

0.15 Error 0.10 0.05 0.00 0 29 58 87 116 145 174 203 232 261 290 319 348 377 406 435 464 493 522 551 580 609 638 667 696 725 Seg 754

Grfico 7.7 Tendencia del error de entrenamiento. Funcin de cruza Tiempo Prom. Ent. Cruza probabilstica 27 124 Cruza simple 42 126 Cruza multipuntos 12 126 40 127 Cruza probabilstica 14 131 32 131 Cruza multipuntos 42 133 Cruza probabilstica 41 134 Cruza multipuntos 41 134 12 135 Cruza uniforme 38 135 Cruza simple 10 135 Tabla 7.13 Mejores tiempos individuales de entrenamiento. Tipo Funcin Cruza Corrida Interpretacin de los resultados: Los tiempos promedio obtenidos por todas las funciones de cruza analizadas son muy similares (Tabla 7.12). Se observa tambin que el desvo estndar del tiempo de entrenamiento es relativamente bajo (Tabla 7.12). Esta caracterstica se debe a que los tiempos de entrenamiento permanecen similares entre las distintas ejecuciones del algoritmo. Los mejores tiempos individuales se reparten entre los cuatro operadores. Todos los operadores son capaces de alcanzar un nivel de entrenamiento adecuado en tiempos similares (Tabla 7.13).

L. Federico Bertona

Experimentacin

63

Entrenamiento de redes neuronales basado en algoritmos evolutivos

El algoritmo gentico no pudo entrenar la red neuronal una nica vez. Este caso se produjo utilizando la funcin de cruza probabilstica (Tabla 7.12). Los tiempos promedio obtenidos por la cruza uniforme son mejores que los obtenidos por el resto de los operadores analizados (Tabla 7.13, Grfico 7.7). Los resultados muestran que el mtodo de entrenamiento es poco dependiente del operador de cruza utilizado.

7.2.2.3. Funcin de mutacin Descripcin: El objetivo del operador de mutacin es alterar caractersticas de algunos individuos para garantizar la diversidad de la poblacin. Variables: En esta seccin se analizan los experimentos realizados para el estudio de tres operadores de mutacin. Para cada uno de stos se estudiaron tambin distintos rangos de variacin de la probabilidad de mutacin, y dos variantes para llevar a cabo la mutacin: M = {Uniforme, Lineal Creciente, Lineal Decreciente} Tipo de Mutacin = {Numrica, Binaria} Resultados: Funcin Mutacin Cant. % Corridas Entrenamiento Tiempo Desvo Prom. Tiempo Ent. Ent. 100.0% 195 48 100.0% 191 58 94.0% 326 185 229 207 205 54 56 167

Mutacin lineal creciente [0.01,0.02] 50 Mutacin lineal creciente [0.02,0.04] 50 Mutacin lineal creciente [0.04,0.08] 50 Mutacin lineal decreciente 50 80.0% 327 [0.005,0.01] Mutacin lineal decreciente 50 86.0% 274 [0.01,0.02] Mutacin lineal decreciente 50 86.0% 284 [0.02,0.04] Mutacin uniforme [0.01,0.01] 50 100.0% 214 Mutacin uniforme [0.02,0.02] 50 100.0% 203 Mutacin uniforme [0.04,0.04] 50 98.0% 267 Tabla 7.14 Tiempos de entrenamiento. Funcin de mutacin numrica

64

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25

Lineal Creciente [0.01 , 0.02] Lineal Creciente [0.02 , 0.04] Lineal Creciente [0.04 , 0.08]

0.20

0.15 Error 0.10 0.05 0.00 0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 630 660 690 690 720 720 Seg 750 750

Grfico 7.8 Tendencia del error de entrenamiento. Funcin de mutacin numrica lineal creciente

0.25

Lineal Decreciente [0.005, 0.01] Lineal Decreciente [0.01, 0.02] Lineal Decreciente [0.02, 0.04]

0.20

0.15 Error 0.10 0.05 0.00 0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 630 Seg 660

Grfico 7.9 Tendencia del error de entrenamiento. Funcin de mutacin numrica lineal decreciente

L. Federico Bertona

Experimentacin

65

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25

Uniforme [0.01 , 0.01] Uniforme [0.02 , 0.02] Uniforme [0.04 , 0.04]

0.20

0.15 Error 0.10 0.05 0.00 0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 630 660 690 720 Seg 750

Grfico 7.10 Tendencia del error de entrenamiento. Funcin de mutacin numrica uniforme Tiempo Desvo Cant. % Prom. Tiempo Corridas Entrenamiento Ent. Ent. 265 10 2 186 315 326 214 221 176

Funcin Mutacin

Mutacin lineal creciente 50 40.0% 715 [0.000156,0.000313] Mutacin lineal creciente 50 0.0% 914 [0.000313,0.000625] Mutacin lineal creciente 50 0.0% 923 [0.000625,0.001250] Mutacin lineal decreciente 50 10.0% 837 [0.000078,0.000156] Mutacin lineal decreciente 50 40.0% 644 [0.000156,0.000313] Mutacin lineal decreciente 50 58.0% 526 [0.000313,0.000625] Mutacin uniforme 50 90.0% 485 [0.000156,0.000156] Mutacin uniforme 50 88.0% 502 [0.000313,0.000313] Mutacin uniforme 50 90.0% 543 [0.000625,0.000625] Tabla 7.15 Tiempos de entrenamiento. Funcin de mutacin binaria

66

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25

Lineal creciente [0.000156,0.000313] Lineal creciente [0.000313,0.000625] Lineal creciente [0.000625,0.001250]

0.20

0.15 Error 0.10 0.05 0.00 0 40 80 120 160 200 240 280 320 360 400 440 480 520 560 600 640 680 720 760 800 840 880 792 920 828 Seg 960 864 900

Grfico 7.11 Tendencia del error de entrenamiento. Funcin de mutacin binaria lineal creciente

0.25

Lineal decreciente [0.000078,0.000156] Lineal decreciente [0.000156,0.000313] Lineal decreciente [0.000313,0.000625]

0.20

0.15 Error 0.10 0.05 0.00 0 36 72 108 144 180 216 252 288 324 360 396 432 468 504 540 576 612 648 684 720 Seg 756

Grfico 7.12 Tendencia del error de entrenamiento. Funcin de mutacin binaria lineal decreciente

L. Federico Bertona

Experimentacin

67

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25

Uniforme [0.000156,0.000156] Uniforme [0.000313,0.000313] Uniforme [0.000625,0.000625]

0.20

0.15 Error 0.10 0.05 0.00 0 39 78 117 156 195 234 273 312 351 390 429 468 507 546 585 624 663 702 741 780 819 858 897 Seg 936

Grfico 7.13 Tendencia del error de entrenamiento. Funcin de mutacin binaria uniforme Interpretacin de los resultados: La mutacin numrica es ampliamente superior a la mutacin binaria. Esto se observa claramente en los porcentajes de entrenamiento alcanzados por cada uno de ellas (Tabla 7.14, Tabla 7.15). El uso de mutacin binaria demostr no ser una buena opcin. Ninguna de las implementaciones logr superar el 90 % de entrenamientos exitosos (Tabla 7.15). Para mutaciones binarias, el uso de tasas de mutacin uniformes demuestra una amplia superioridad sobre los otros dos tipos de funciones de mutacin estudiadas, cuyos resultados no superaron en ningn caso el 60 % de entrenamientos exitosos (Tabla 7.15). Dentro de las funciones de mutacin numrica estudiadas se observa que disminuir la tasa de mutacin a medida que avanzan las generaciones no es una buena opcin. Los mejores porcentajes de entrenamiento se obtuvieron manteniendo una tasa de mutacin constante a lo largo de las diferentes generaciones. A su vez, el uso de tasas de mutacin crecientes produjo los mejores tiempos promedio de entrenamiento, con un porcentaje de convergencia levemente inferior a la mutacin uniforme (Tabla 7.14). La funcin de mutacin numrica lineal creciente, con probabilidades variando entre un 2% y un 4% mostr los mejores tiempos promediados sobre el total de ejecuciones. Sin embargo, otras implementaciones del operador de mutacin muestran resultados comparables con los obtenidos por esta implementacin (Tabla 7.14). El operador de mutacin presenta mayor variacin de resultados entre las distintas implementaciones que el resto de los operadores estudiados. 68 Experimentacin L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

7.2.2.4. Valores de inicializacin Descripcin: Los experimentos presentados en esta seccin tienen como objetivo encontrar cual es el rango de valores de inicializacin que disminuye los tiempos de entrenamiento. Se estudian a su vez dos operadores de inicializacin diferentes. Variables: Los operadores rangos estudiados fueron los siguientes: Tipo Inicializacin = {Random, Random Selectiva} Rangos = {[-0.01, 0.01]; [-0.1, 0.1]; [-1, 1]; [-5, 5]} Resultados: Tipo Funcin Inicializacin Tiempo Desvo Prom. Tiempo Ent. Ent. -0.01 0.01 50 100.0% 249 73 Inicializacin -0.1 0.1 50 100.0% 239 86 Random -1 1 50 100.0% 209 74 -5 5 50 4.0% 770 26 Tabla 7.16 Tiempos de entrenamiento. Inicializacin random Min Ini. Max Ini. Cant. % Corridas Entrenamiento Tiempo Prom. Ent. 32 121 40 137 30 138 -1 1 36 138 44 144 Inicializacin Random 7 147 45 150 -0.01 0.01 25 150 31 151 -1 1 39 151 -0.1 0.1 11 151 Tabla 7.17 Mejores tiempos individuales de entrenamiento. Min Ini. Max Ini. Corrida Tipo Funcin Inicializacin

L. Federico Bertona

Experimentacin

69

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25

Random [-1 , 1] Random [-0.01 , 0.01] Random [-0.1 , 0.1] Random [-5 , 5]

0.20

0.15 Error 0.10 0.05 0.00 0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 630 660 690 720 750 Seg 780

Grfico 7.14 Tendencia del error de entrenamiento. Inicializacin random Tiempo Desvo Prom. Tiempo Ent. Ent. -0.01 0.01 50 100.0% 233 60 Inicializacin -0.1 0.1 50 100.0% 222 52 Random -1 1 50 100.0% 224 122 Selectiva -5 5 50 76.0% 442 235 Tabla 7.18 Tiempos de entrenamiento. Inicializacin random selectiva Tipo Funcin Inicializacin Min Ini. Max Cant. % Ini. Corridas Entrenamiento Tiempo Prom. Ent. -1 1 10 135 -0.01 0.01 42 135 9 138 -1 1 42 139 -0.1 0.1 17 139 Inicializacin Random Selectiva -1 1 19 142 -5 5 27 145 -1 1 24 145 -0.1 0.1 13 145 -1 1 46 147 Tabla 7.19 Mejores tiempos individuales de entrenamiento. Tipo Funcin Inicializacin Min Ini. Max Ini. Corrida

70

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25 Random Selectiva [-1 , 1] Random Selectiva [-0.01 , 0.01] Random Selectiva [-0.1 , 0.1] Random Selectiva [-5 , 5]

0.20

0.15 Error 0.10 0.05 0.00 0 31 62 93 124 155 186 217 248 279 310 341 372 403 434 465 496 527 558 589 620 651 682 713 744 Seg 775

Grfico 7.15 Tendencia del error de entrenamiento. Inicializacin random selectiva Interpretacin de los resultados: El uso de ambos tipos de inicializacin no muestra grandes diferencias. La ventaja de preseleccionar algunos valores de inicializacin slo se observa al utilizar grandes valores de inicializacin (Tabla 7.16, Tabla 7.18). El uso de grandes valores de inicializacin muestra resultados pobres. Por su parte, se obtuvieron buenos resultados al hacer uso de valores de inicializacin medios y bajos (Tabla 7.16, Tabla 7.18, Grfico 7.14, Grfico 7.15). A diferencia de las redes neuronales, los algoritmos genticos muestran mayor inmunidad a las condiciones de inicializacin. Esto se observa en la paridad general en los tiempos de entrenamiento promedio obtenidos por los distintos mtodos. El pequeo desvo Standard de los tiempos promedio de entrenamiento tambin es una buena medida de dicha inmunidad (Tabla 7.16, Tabla 7.18). Los mejores tiempos individuales de entrenamiento se obtuvieron utilizando valores iniciales dentro del rango [-1 , 1]. Esta caracterstica se hace ms notoria al usar inicializacin puramente aleatoria, aunque tambin se observa en menor medida al usar pesos preseleccionados (Tabla 7.17, Tabla 7.19). Lo dicho anteriormente impacta directamente sobre los resultados generales, donde el uso de valores en el rango [-1 , 1] mostr un leve superioridad sobre el resto (Tabla 7.16, Tabla 7.18).

L. Federico Bertona

Experimentacin

71

Entrenamiento de redes neuronales basado en algoritmos evolutivos

7.2.3. Comparacin de ambos mtodos


Descripcin: Los resultados presentados en esta seccin son los ms importantes del captulo ya que permiten establecer una medida de comparacin entre ambos mtodos de entrenamiento. Para este conjunto de experimentos se utilizaron las configuraciones ptimas obtenidas de los experimentos anteriores. Se utiliz tambin un segundo set de datos, ms rico en ejemplos y que permite tener una mejor medida de la capacidad de entrenamiento y generalizacin del mtodo. Resultados: Tipo Algoritmo Cant. % Tiempo Desvo Entrenamiento Corridas Entrenamiento Prom. Ent. Tiempo Ent. Algoritmo gentico 50 100.0% 418 161 Red Neuronal 50 98.0% 687 415 Tabla 7.20 Comparacin de tiempos de entrenamiento
0.25 Algoritmo Genetico Red Neuronal 0.20

0.15 Error 0.10 0.05 0.00 0 68 136 204 272 340 408 476 544 612 680 748 816 884 981 1100 1238 1378 1509 1678 1876 2074 2273 2471 2669 2867

Seg

Grfico 7.16 Comparacin de la tendencia del error de entrenamiento

72

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

0.25 0.23 0.21 0.19 0.17 Error 0.15 0.13 0.11 0.09 0.07 0.05 1 40 79 118 157 196 235 274 313 352 391 430 469 508 547 586 625 664 703 742 781 820 859 Seg Algoritmo genetico Red Neuronal

Grfico 7.17 Comparacin del error de entrenamiento Corrida Tiempo Prom. Ent. 30 207 42 226 38 248 25 260 4 271 49 274 18 275 34 275 39 275 36 279 Algoritmo gentico 8 287 12 291 20 294 7 301 37 313 9 316 21 318 24 318 17 327 46 338 Red Neuronal 33 338 Tabla 7.21 Mejores tiempos individuales de entrenamiento. Tipo Algoritmo Entrenamiento

L. Federico Bertona

Experimentacin

73

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Grfico 7.18 Tiempos individuales de entrenamiento Aciertos Desvo Aciertos Desvo Aciertos Desvo Prom. Aciertos Prom. Aciertos Prom. Aciertos Ent. Ent. Eval. Eval. Total Total 94.09% 0.92% 82.70% 2.40% 91.81% 1.04% 0.88% 94.32% 0.83% 83.29% 2.03% 92.11% Tabla 7.22 Comparacin de la cantidad de aciertos

Tipo Algoritmo Entrenamiento Algoritmo gentico Red Neuronal

96.00% Algoritmo genetico 94.00% 92.00% 90.00% % Aciertos 88.00% 86.00% 94.09% 94.32% 84.00% 82.00% 80.00% 78.00% 76.00% Aciertos Prom. Total Aciertos Prom. Ent. Aciertos Prom. Eval. 82.70% 83.29% 91.81% 92.11% Red Neuronal

Grfico 7.19 Comparacin de la cantidad de aciertos

74

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Aciertos Prom. Ent. Algoritmo gentico 28 95.65% Red Neuronal 49 95.65% 2 95.47% Algoritmo gentico 6 95.47% 19 95.47% 7 95.47% Red Neuronal 31 95.47% 1 95.29% Algoritmo gentico 27 95.29% 47 95.29% 5 95.29% 34 95.29% Red Neuronal 35 95.29% 45 95.29% Tabla 7.23 Mejores porcentajes de aciertos sobre el set de entrenamiento. Tipo Algoritmo Entrenamiento Corrida Aciertos Prom. Eval. 25 87.68% Algoritmo gentico 3 86.96% Red Neuronal 20 86.96% 19 85.51% Algoritmo gentico 28 85.51% 43 85.51% 15 85.51% 19 85.51% Red Neuronal 30 85.51% 35 85.51% 46 85.51% Tabla 7.24 Mejores porcentajes de aciertos sobre el set de validacin. Tipo Algoritmo Entrenamiento Corrida Interpretacin de los resultados: De la comparacin directa de los tiempos de entrenamiento promedio se observa una marcada superioridad de los algoritmos genticos por sobre las redes neuronales. El tiempo promedio de entrenamiento del mtodo propuesto es un aproximadamente un 40% menor que el obtenido por el algoritmo backpropagation. Esta caracterstica se observa claramente en el grfico 7.18, donde se presentan los tiempos individuales de entrenamiento para cada una de las corridas. En el mismo grfico se observa que los tiempos obtenidos por el algoritmo gentico presentan menor variacin que los obtenidos por la red neuronal. Estos valores se pueden observar cuantitativamente en la tabla 7.20.

L. Federico Bertona

Experimentacin

75

Entrenamiento de redes neuronales basado en algoritmos evolutivos

El grfico 7.16 muestra la tendencia del error promedio en el tiempo. Se observa que en el mtodo propuesto tiene tendencia a acercarse rpidamente a la solucin. En el grfico 7.17, que muestra la evolucin del error promedio de entrenamiento, se observa que durante los primeros instantes de entrenamiento se produce una aproximacin rpida, que luego se vuelve en una lenta aproximacin, cuando se acerca demasiado a la solucin. Se observa que el algoritmo es estable, mostrando un descenso prcticamente continuo del error promedio. Cuando se estudian las redes neuronales se observa que en general la tendencia del error promedio presenta el mismo comportamiento que el mtodo propuesto. Sin embargo, la curva del error se muestra siempre por encima de la de los algoritmos genticos, llevando a una convergencia ms lenta del algoritmo de entrenamiento. A su vez, en el grfico 7.17 se observa que el mtodo presenta menor estabilidad en el descenso del error, mostrando bruscas variaciones del error. Si observamos los tiempos individuales de entrenamiento, se ve que los mejores 20 tiempos individuales corresponden al algoritmo gentico. Esta caracterstica se observa grficamente en el grfico 7.18, donde se presentan los tiempos individuales de entrenamiento para cada una de las corridas. Los valores de los mejores 20 tiempos individuales de entrenamiento se presentan en la tabla 7.21. Si se estudian los porcentajes de aciertos promedios de ambos mtodos se observa una leve superioridad de las redes neuronales por sobre los algoritmos genticos. Sin embargo, como se muestra en el grfico 7.19, esta superioridad no es muy notoria ya que representa menos del 1% de diferencia. Estos valores se observan cuantitativamente en la tabla 7.22. Esta paridad en cuanto a los porcentajes de aciertos promedio se observa nuevamente al estudiar el porcentaje de acierto individual para cada una de las corridas. En la tabla 7.23 se muestran los mejores porcentajes de aciertos obtenidos sobre el set de datos de entrenamiento. Como se puede observar existe una alta paridad entre ambos mtodos. Anlogamente, en la tabla 7.24 se muestran los mejores porcentajes de acierto sobre el set de datos de validacin. De la lectura de la misma se extiende que ambos mtodos poseen capacidades de generalizacin similares.

76

Experimentacin

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Captulo 8: Conclusiones y limitaciones


Los resultados presentados en el captulo 7 demuestran que el mtodo propuesto tiene la capacidad de entrenar redes neuronales con conexin hacia delante con las mismas caractersticas que los mtodos tradicionales de entrenamiento. Tambin demuestran que el mtodo propuesto puede incluso mejorar la performance del entrenamiento en aquellos aspectos en que los mtodos tradicionales suelen tener dificultades. A continuacin se abordan cada una de las cuestiones planteadas en el captulo 6 y se responden a estos interrogantes. Las respuestas a estos interrogantes resumen los contenidos presentados a lo largo de este trabajo. 1. Como influyen los parmetros del algoritmo backpropagation en el aprendizaje de la red? El algoritmo backpropagation se caracteriza por su alta dependencia a los parmetros seleccionados. La manera en que se ajustan los pesos sinpticos esta determinada por la tasa de aprendizaje y la tasa de momento. El uso de tasas bajas en general lleva a aprendizajes lentos, con un alto riesgo de quedar atrapados en mnimos locales. Por su parte, si se utilizan tasas de aprendizaje grandes se aceleran los tiempos de entrenamiento, pero se corre el algoritmo oscile en torno a la solucin sin lograr estabilizarse en la misma. En la primera serie de experimentos se observan las caractersticas mencionadas previamente. El estudio de diversas combinaciones de parmetros permiti determinar cual era la combinacin ptima para el problema estudiado. Estos parmetros ptimos luego fueron utilizados para comparar el algoritmo backpropagation con el algoritmo gentico. 2. De qu manera influyen los valores de inicializacin en el aprendizaje utilizando el algoritmo backpropagation? Otra cuestin importante a resolver en el algoritmo backpropagation es de qu manera se genera la red inicial. La forma ms habitual de hacerlo es aleatoriamente, con valores obtenidos a travs de una distribucin uniforme definida dentro de un rango determinado. En la segunda serie de experimentos se estudiaron distintos valores de inicializacin y se observ que nuevamente el proceso de aprendizaje se ve fuertemente influenciado por los valores seleccionados. Los resultados obtenidos variaron no slo en el tiempo necesario para alcanzar un nivel de entrenamiento adecuado sino tambin en el porcentaje de entrenamiento alcanzado. 3. Cul es el operador de seleccin adecuado para entrenar redes neuronales utilizando algoritmos genticos? La tercera serie de experimentos estuvo destinada a determinar cual es el operador de seleccin ptimo para entrenar redes neuronales L. Federico Bertona Conclusiones 77

Entrenamiento de redes neuronales basado en algoritmos evolutivos utilizando algoritmos genticos. Se estudiaron cuatro variantes de este operador, las cuales se aplicaron todas en combinacin con un proceso de seleccin elitista. Los resultados obtenidos demuestran que el mtodo es poco dependiente del operador de seleccin utilizado. Esto se observa en la paridad de tiempos entre los distintos operadores, y en las bajas variaciones de tiempos entre las distintas ejecuciones del algoritmo. Esta paridad se puede atribuir en gran medida al proceso de seleccin elitista, que asegura que las mejores soluciones sobrevivan, lo que conduce a una mejora continua de la calidad de la solucin obtenida. 4. Cul es el operador de cruza adecuado para entrenar redes neuronales utilizando algoritmos genticos? Otro punto importante que se estudi en este trabajo fue operador de cruza ptimo para entrenar redes neuronales utilizando algoritmos genticos. Entre los resultados obtenidos se destaca la baja dependencia del algoritmo al operador de cruza seleccionado. Se observan grandes similitudes entre los tiempos de los distintos operadores estudiados, y bajas variaciones entre distintas ejecuciones del mismo operador. Como se mencion en el captulo 7, este operador se implement a directamente sobre el fenotipo, en contraste con los operadores de cruza clsicos utilizados en los algoritmos genticos. Los resultados demuestran que la recombinacin de neuronas permite formar nuevos individuos que preservan las caractersticas ms importantes de sus padres, y se evitan de esta manera destruir estructuras complejas que han demostrado buenos niveles de adaptacin. La eleccin de este tipo de cruza aumenta la importancia del operador de mutacin, que es el encargado de introducir distorsiones que mejoren las caractersticas de los descendientes. Otro resultado importante que se observa es la baja influencia de los efectos de permutacin descriptos en el captulo 6. Como se afirmo en dicho captulo, los efectos de este problema en general estn sobreestimados, y el proceso evolutivo tiene la capacidad suficiente para lidiar con dicho problema. 5. Cual es la manera ms efectiva de realizar la mutacin para entrenar redes neuronales utilizando algoritmos genticos? Cul es el operador de mutacin adecuado para entrenar redes neuronales? Esta serie de experimentos permiti sacar varios resultados interesantes. En primer lugar, se observa de los resultados obtenidos que la mutacin numrica es ms adecuada que la mutacin binaria. Mientras que la mutacin numrica obtuvo en general altos porcentajes de entrenamiento, la mutacin binaria se caracteriz por alcanzar bajos porcentajes de entrenamiento. Esto se debe a que la mutacin numrica fue diseada de acuerdo a las caractersticas propias del problema, mientras que la mutacin binaria es un proceso general, cuyas caractersticas no son aplicables al problema. Otro resultado importante 78 Conclusiones L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos que se observa en esta serie de experimentos es la manera de modificar la probabilidad de mutacin. Los resultados muestran que es preferible mantener constante dicha probabilidad a lo largo de las distintas generaciones. Como se mencion previamente, el operador de mutacin asume una importancia mayor en el mtodo propuesto que en el algoritmo gentico cannico. El operador de mutacin es el encargado de introducir distorsiones que mejoren las caractersticas de los descendientes. Debido a ello, las probabilidades de mutacin utilizadas por este mtodo deben ser superiores a las utilizadas por el algoritmo gentico cannico. La importancia dada a este operador hace que los resultados obtenidos sean los que mostraron mayores variaciones entre s. 6. De qu manera influyen los valores de inicializacin en el aprendizaje utilizando el mtodo propuesto? Cul es la ventaja de utilizar un esquema de inicializacin selectivo? Una cuestin importante de resolver en el mtodo propuesto es de qu manera se genera la poblacin inicial. La forma ms habitual de hacerlo en los algoritmos genticos es generar la poblacin inicial aleatoriamente, con valores obtenidos a travs de una distribucin uniforme definida dentro de un rango determinado. Los resultados obtenidos para esta serie de experimentos permiten afirmar que el mtodo propuesto es menos dependiente de los valores iniciales que el algoritmo backpropagation. Esto se observa en la baja variacin de los tiempos totales de entrenamiento. A pesar de ello, el uso de valores de inicializacin muy grandes afecta al mtodo propuesto, de la misma manera que lo hace con el algoritmo backpropagation. En ambos casos, el uso de valores de inicializacin muy altos lleva a bajos porcentajes de entrenamiento. Sin embargo, este efecto puede ser reducido en gran medida, aunque no eliminado totalmente, utilizando un esquema de inicializacin selectivo. Mediante la adicin de valores preseleccionados en la poblacin inicial se logra que el porcentaje de entrenamiento aumente en gran medida, para altos valores de inicializacin. 7. Cul es la ventaja del mtodo propuesto en cuanto a los tiempos de entrenamiento? En la ltima serie de experimentos se realizaron comparaciones directas entre ambos mtodos. Los resultados obtenidos demuestran una amplia superioridad en cuanto a tiempos de entrenamiento del mtodo propuesto por sobre el algoritmo backpropagation. El tiempo de entrenamiento promedio del mtodo propuesto es aproximadamente un 40% inferior que el obtenido por el algoritmo backpropagation. Otro resultado importante que se observa de los experimentos realizados es que la variacin de los tiempos de entrenamiento es menor en el mtodo propuesto que en el algoritmo backpropagation. Esta caracterstica es de gran importancia ya que permite realizar una estimacin inicial del tiempo necesario de entrenamiento de una red neuronal.

L. Federico Bertona

Conclusiones

79

Entrenamiento de redes neuronales basado en algoritmos evolutivos 8. Cul es la capacidad de generalizacin de las redes entrenadas por el mtodo propuesto? El objetivo de un mtodo de entrenamiento no es que la red neuronal aprenda todos los patrones de entrenamiento presentados, sino que extraiga de ellos las caractersticas principales para poder actuar correctamente sobre patrones nunca antes vistos. De la comparacin directa entre ambos mtodos se observa que el porcentaje de aciertos sobre el set de evaluacin es levemente inferior para el mtodo propuesto que para el algoritmo backpropagation. Esta caracterstica tambin se observa sobre el set de entrenamiento. Sin embargo, las diferencias entre ambos mtodos son inferiores al 1% por lo que ambos mtodos pueden considerarse con similares capacidades de generalizacin 9. Cmo responde el mtodo al fenmeno de saturacin y a los mnimos locales? Como se describi en el captulo 5 estos son dos problemas que afectan en gran medida la performance del algoritmo backpropagation. Sin embargo, estos problemas no tienen efecto en el mtodo propuesto. El fenmeno de saturacin se produce cuando una neurona alcanza un mximo o un mnimo. En este caso, la derivada de la funcin de activacin se hace nula, y los pesos de la red permanecen invariables. Como el mtodo propuesto no hace uso de la derivada de la funcin de activacin, el efecto de este fenmeno es completamente eliminado. El algoritmo backpropagation suele tambin quedar atrapado en mnimos locales. Esto se debe a que el algoritmo hace uso de la informacin del gradiente de la funcin de error, y actualiza los pesos en la direccin de mximo decrecimiento. Nuevamente, este efecto no se produce en el mtodo propuesto ya que el mismo no hace uso de las derivadas de la funcin de activacin de la neurona. Un efecto similar al de los mnimos locales que suele suceder en los algoritmos genticos es el fenmeno de convergencia prematura. Esto sucede cuando un individuo es muy superior al resto de la poblacin. En este caso la poblacin tiende a hacerse homognea y el algoritmo gentico se estabiliza en una solucin que puede no ser lo suficientemente buena. Para solucionar este problema se hace uso de operadores que garanticen la heterogeneidad de la poblacin. Las caractersticas del mtodo propuesto garantizan la heterogeneidad de la poblacin, reduciendo al mnimo la probabilidad de que se produzca este fenmeno. 10. Cmo se adapta el mtodo a diferentes topologas? Las caractersticas del mtodo propuesto lo hacen fcilmente adaptable a otras topologas y tipos de aprendizaje. El mtodo no hace uso de informacin de gradientes ni de ningn otro tipo de informacin propia de la topologa. El proceso de actualizacin de pesos slo requiere informacin de la calidad de la respuesta obtenida por un conjunto de 80 Conclusiones L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos pesos. Esta informacin es suficiente para que el mtodo ajuste iterativamente la solucin hasta que la misma sea lo suficientemente buena. De esta manera, para entrenar redes neuronales con distintas topologas slo ser necesario estudiar las funciones de evaluacin y de adaptacin, adaptndolas a las caractersticas propias del problema cuando sea necesario. Esta afirmacin es extensible a distintos tipos de entrenamiento, por ejemplo, el aprendizaje por refuerzo. Los resultados obtenidos en este trabajo demuestran que el mtodo propuesto es una alternativa ms que interesante para el entrenamiento de redes neuronales. Los objetivos propuestos para el nuevo mtodo fueron cumplidos de manera satisfactoria. As, el mtodo propuesto es capaz de entrenar redes neuronales con las mismas caractersticas que el algoritmo backpropagation, y evitando todos los problemas que en general suele tener dicho algoritmo. Sin embargo, existen algunos caminos que no han sido estudiados en este trabajo y que podran llegar a mejorar la calidad del mtodo. Una de las caractersticas ms importantes de las redes neuronales es su capacidad de generalizacin. En este trabajo se demostr que el mtodo propuesto es capaz de alcanzar niveles de generalizacin similares a los del algoritmo backpropagation. Sin embargo esta capacidad de generalizacin podra ser incrementada si la funcin de evaluacin hiciera uso de esta informacin. Mediante la adicin de un trmino en dicha funcin que haga referencia a la capacidad de generalizacin se podra llegar a mejorar esta caracterstica. Otro punto que debera ser estudiado es la repeticin de todos estos experimentos para distintos tipos de problemas y topologas. Si bien en este trabajo se estudiaron las caractersticas del mtodo utilizando un problema real de difcil resolucin, el uso de otros problemas permitir extender y generalizar los resultados obtenidos en este trabajo. El uso de distintas topologas permitir tambin comparar el mtodo aqu propuesto con otros mtodos de entrenamiento. La utilizacin de un sistema hibrido que entrene redes neuronales utilizando los mtodos tradicionales en conjunto con el mtodo propuesto qued fuera del alcance de este trabajo. Sin embargo, la utilizacin conjunta de ambos mtodos es un camino interesante a seguir. Esta solucin podra darse incluyendo un nuevo operador gentico de aprendizaje, o utilizando ambos mtodos, uno a continuacin del otro. En este ltimo caso se podra utilizar el mtodo aqu propuesto para alcanzar una solucin prxima a la deseada y finalizar el entrenamiento con algn mtodo tradicional de entrenamiento. Por ltimo, sera interesante tambin estudiar las mejoras que introduce paralelizar el algoritmo gentico. Los algoritmos genticos son fcilmente paralelizables, pudindose de esta manera reducir aun ms los tiempos de entrenamiento. Esta paralelizacin se puede realizar en dos sentidos. En primer lugar, haciendo uso de una nica poblacin se pueden llegar a aplicar conjuntamente los operadores genticos en diferentes procesadores. De esta manera se podran llegar a mutar, evaluar, etc., varios individuos simultneamente. Otra forma de paralelizar el mtodo propuesto consiste en hacer uso de varias poblaciones independientes. Esta tcnica, llamada

L. Federico Bertona

Conclusiones

81

Entrenamiento de redes neuronales basado en algoritmos evolutivos algoritmos genticos paralelos, es un rea de investigacin muy interesante que propone distintos modelos de paralelizacin.

82

Conclusiones

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Referencias
Adamidis, P. (1994) Review of Parallel Genetic Algorithms Bibliography. Version 1. Internal Technical Report. Automation and Robotics Lab., Dept. of Electrical and Computer Eng., Aristotle University of Thessaloniki, Greece. Bch, T., Hoffmeister F. y Schwefel H. (1991) A Survey of evolution strategies. En Proceedings of the Fourth International Conference on Genetic Algorithms R. K. Belew and L. B. Booker (eds), pp. 2-9. Bck, T. (1992) Self-Adaptation in Genetic Algorithms. En Towards a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life. F. J. Varela and P. Bourgine (eds.). pp. 263-271. MIT Press Beasley, D., Bull, D. R., Martin, R. R. (1993) An Overview of Genetic Algorithms: Part 1, Fundamentals. En University Computing, 15(2) 58-69. Biondi, J., Michel, O. (1995). From the chromosome to the neural network. En Proceedings of the International Conference on Artificial Neural Networks and Genetic Algorithms. D.W. Pearson, N.C. Steele, and R.F. Albrecht (eds) Bishop, C., Jordan, M. (1996). Neural Networks. En CRC Handbook of Computer Science, CRC Press. Tucker (ed). Blake C. L. y Merz C. J. (1998). UCI Repository of machine learning databases. http://www.ics.uci.edu/~mlearn/MLRepository.html. Irvine, CA: University of California, Department of Information and Computer Science. Booch G., Jacobson I., Rumbaugh J. (2000). El Lenguaje Unificado de Modelado. Addison-Wesley. Madrid. 2000. Branke, J. (1995) Evolutionary Algorithms for Neural Network Design and Training. En Proceedings of the First Nordic Workshop on Genetic Algorithms and its Applications, J. T. Alander (ed). 95(1) 145-163. Cant-Paz, E. (1997). A survey of Parallel Genetic Algorithms. Technical Report Illinois Genetic Algorithms Laboratory. University of Illinois at Urbana-Champaign. Cauwenberghs, G. (1993). A fast stochastic Error-Descent Algorithm for supervised learning and optimization. En Advances in Neural Information Processing Systems, S. J. Hanson, J. D. Cowan, C. L. Giles (eds). pp. 244-251. Morgan Kaufmann, San Mateo, CA

L. Federico Bertona

Referencias

83

Entrenamiento de redes neuronales basado en algoritmos evolutivos Chinrungrueng, C. (1988). Analysis of simple neural networks. Masters Report. Computer Science Department, University of California at Berkeley. Chinrungrueng, C. (1993). Evaluation of Heterogeneous Architectures of Artificial Neural Networks. Technical Report. Computer Science Department, University of California at Berkeley.

Coello Coello, C. (2002). Theoretical and Numerical Constraint-Handling Techniques used with Evolutionary Algorithms: A survey of the state of the Art. En Computer Methods in Applied Mechanics and Engineering. 191(11-12):1245-1287 Deb, K. (2004). Genetic Algorithms for optimization. En Statistical Computing: Existing Methods and Recent Developments. D. Kundu y A. Basu (eds.). pp. 85-123. New Delhi, India: Narosa Publishing House De Falco, I., Della Cioppa, A., Natale, P. Tarantino, E. (1997). Artificial Neural Networks Optimization by means of Evolutionary Algorithms. En Soft Computing in Engineering Design and Manufacturing. P. Chawdhry, R. Pant, R. Roy (eds). Springer Verlag. ISBN: 3540762140 Del Bro, B. M., Sanz Molina, A. (2002) Redes neuronales y Sistemas difusos. Alfaomega Grupo Editor. Forrest, S. (1996). Genetic Algorithms. En ACM Computer Survey. 28(1). pp. 77-80 Fritsch, J. (1996). Modular Neural Networks for Speech Recognition. Masters Thesis. Carnegie Mellon University. Funahashi, K.I. (1989). On the approximate realization of continuous mappings by neural networks. En Neural Networks, 2. pp. 183-192. Garca Martnez, R., Pasquini, D. y Servente, M. (2003) Sistemas Inteligentes. Nueva Librera. Garca Martnez, R. (1997). Sistemas Autnomos. Aprendizaje Automtico. Nueva Librera. Gurney, K. (1997). Neural Nets. CRC Press. ISBN: 1857285034 Hilera J. y Martnez V. (1995) Redes Neuronales Artificiales. Fundamentos, modelos y aplicaciones. RA-MA, Madrid. Holland J. H. (1975) Adaptation in Natural and Artificial Systems. University of Michigan Press (Ann Arbor). Hornik, K., Stichcombe, M. White, H. (1989) Multilayer feedforward networks are universal approximators. En Neural Network, 2(5): 359 - 366 84 Referencias L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Ilachinsky, A. (1997). Irreducible Semi-Autonomous Adaptive Combat (ISAAC): An Artificial-Life Approach to Land Combat. Research Memorandum CRM 97-61.10. Center for Naval Analyses Isasi Viuela, P., Galvn Len, I.M. (2004). Redes Neuronales Artificiales. Un enfoque Prctico. Prentice Hall Joglekar, A., Tungare, M. (2001). Genetic Algorithms and their use in the design of Evolvable Hardware. Fr. Conceicao Rodrigues College of Engineering. Jules, A., Wattenberg, M. (1994). Stochastic Hillclimbing as a Baseline Method of Evaluating Genetic Algorithms. Technical Report. Department of Computer Science, University of California at Berkeley Kim, H. (1992). Mathematical Findings on Artificial Neural Nets and Their Physical Meaning. Technical Report. Computer Science Department, University of California at Berkeley Koehn, P. (1994). Combining Genetic Algorithms and Neural Networks: The encoding problem. Master's thesis, University of Erlangen and The University of Tennessee, Knoxville. Koza, J.R. (1997). Genetic Programming. En Encyclopedia of Science and Technology, A. Kent y J. G. Williams (eds). 39(24) pp. 29-43 Kolen, J., Pollack, J. (1991). Back Propagation is Sensitive to Initial Conditions. En Advances in Neural Information Processing Systems. R. P. Lippmann, J. E. Moody, D. S. Touretzky (eds). Vol. 3, pp. 860-867. Morgan Kaufmann Publishers, Inc. Korning, P. (1995). Training of Neural Networks by means of Genetic Algorithms working on very long Chromosomes. En International Journal of Neural Systems. Vol. 6(3), pp. 299-316. Krse, B., Van der Smagt, P. (1993). An Introduction to Neural Networks. University of Amsterdam. Lehr, M., Widrow, B. (1990) 30 years of adaptive neural networks: Perceptron, Madaline and Backpropagation. En Proceedings of the IEEE, 78(9), pp 1415-1442. Liu, A., Liu, Z., Niu, Z., Wang, C. (2004). Evolving Neural Network using Real coded Genetic Algorithm (GA) for Multispectral Image Classification. En Future Generation Computer Systems The International Journal of Grid Computing: Theory, Methods and Applications. Vol. 20(7), pp.1119-1129 Liu, Y., Yao, X. (1996). Evolving Artificial Neural Networks Through Evolutionary Programming. En Evolutionary Programming V: Proc. of the Fifth

L. Federico Bertona

Referencias

85

Entrenamiento de redes neuronales basado en algoritmos evolutivos Annual Conference on Evolutionary Programming, pp.257-266. MIT Press. Liu Y. y Yao X. (1997). A new evolutionary system for evolving artificial neural networks. En IEEE Transactions on Neural Networks. Vol. 8(3), pp. 694-713 Montana D.J. (1995). Neural network weight selection using genetic algorithms. En Intelligent Hybrid Systems, S. Goonatilake, S. Khebbal (eds), pp.85-104, Wiley, New York. Morrison, J. (1998). Co-Evolution and Genetic Algorithms. Master's thesis, School of Computer Science, Carleton University, Ottawa, Canada. Nascimento, C. (1994). Artificial Neural Networks in Control and Optimization. PhD Thesis. University of Manchester, Institute of Science and Technology (UMIST), Control Systems Centre, Manchester, United Kingdom. mer, B (1995) Genetic Algorithms for Neural Network Training on Transputers. University of Newcastle. Porto, V.W. (1998). Evolutionary computation approaches to solving problems in neural computation. En The Handbook of Evolutionary Computation, Bck, T., Fogel, D., Michalewicz, Z. (eds.). ISBN: 0750303921. Potter, M. (1992). A Genetic Cascade-Correlation Learning Algorithm. En Proceedings of {COGANN}-92 International Workshop on Combinations of Genetic Algorithms and Neural Networks. Schaffer, J., Whitley D. (eds), p.p. 123-133. IEEE Computer Society Press Russell, S., Norving, P. (2004). Inteligencia Artificial. Un enfoque moderno. Segunda Edicin. Pearson Educacin. Sanger, T. (1989). Optimal Unsupervised Learning in Feedforward neural networks. En Neural Networks, Vol. 2, pp. 459-473. Sutton, R.S. (1986). Two problems with Backpropagation and other steepestdescent learning procedures for networks. En Proc. of 8th Annual Conf. Of the Cognitive Science Society, pp 823-831. Lawrence Erlbaum Associates, Hillsdale, NJ. Walker, T. (1995). Generating neural networks with genetic algorithms using a marker based encoding. MSc Thesis. University of Edinburgh. Whitley, D. (1994). A Genetic Algorithm Tutorial. En Statistics and Computing. Vol 4, pp. 65-85.

86

Referencias

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Whitley, D. (1995). Genetic Algorithms and Neural Networks. En Genetic Algorithms in Engineering and Computer Science. Periauxm J., Winter G. (eds). pp. 203-216. John Wiley & Sons Ltd. Whitley, D. (2001). An Overview of Evolutionary Algorithms: Practical Issues and Common Pitfalls. En Journal of Information and Software Technology. Vol 43(14), pp. 817-831. Whitley, D. (2002) Genetic Algorithms and Evolutionary Computing. En Van Nostrand's Scientific Encyclopedia. Wilson, E. (1994). Backpropagation Learning for System with Discrete-Valued Functions. En Proceedings of the World Congress on Neural Networks. Vol 3, pp. 332-339. Yao, X. (1993a). Evolutionary Artificial Neural Networks. En International Journal of Neural Systems. Vol (4), pp. 203-222. Yao, X. (1993b). A Review of Evolutionary Artificial Neural Networks. En International Journal of Intelligent Systems. Vol 8(4), pp. 539-567. Yao, X. (1995). Evolutionary Artificial Neural Networks. En Encyclopedia of Computer Science and Technology, Kent, A., J. G. Williams(eds). Vol 33, pp. 137-170, Marcel Dekker Inc. Yao, X. (1996). An Overview of Evolutionary Computation. En Chinese Journal of Advanced Software Research. Vol 3(1), pp. 12-29, Allerton Press Inc. Yao X (1999) Evolving Artificial Neural Networks. En Proceedings of the IEEE. Vol 87(9), pp.1423-1447. Zilouchian, A. (2001). Fundamentals of Neural network. En Intelligent control Systems Using Soft Computing Methodologies. A. Zilouchian , M. Jamshidi (eds.). CRC Press.

L. Federico Bertona

Referencias

87

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Apndice A: Datos Experimentales


En este apndice se muestran los resultados obtenidos durante los experimentos realizados. Los experimentos se realizaron sobre un equipo Pentium IV 2.8 GHz, 512 MB de memoria, corriendo sobre un SO Windows 2000. A.1. Tasas de aprendizaje y momentos ptimos Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 417 78.10% 96.43% 90.00% 828 80.17% 96.43% 90.72% 526 80.17% 95.76% 90.29% 437 80.99% 95.76% 90.58% 499 76.03% 96.21% 89.13% 527 80.17% 96.21% 90.58% 314 81.41% 96.21% 91.01% 715 78.10% 96.88% 90.29% 811 77.69% 95.98% 89.57% 1,017 79.75% 96.21% 90.43% 590 77.27% 94.64% 88.55% 503 81.41% 95.98% 90.87% 374 77.27% 96.65% 89.86% 475 76.03% 95.76% 88.84% 610 78.93% 95.54% 89.71% 399 78.93% 95.54% 89.71% 466 77.27% 96.43% 89.71% 751 79.34% 96.65% 90.58%

L. Federico Bertona

Datos experimentales

89

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 507 79.75% 96.88% 90.87% 726 78.93% 95.98% 90.00% 448 77.69% 95.31% 89.13% 637 78.51% 96.21% 90.00% 389 78.10% 95.31% 89.28% 587 79.75% 95.31% 89.86% 772 78.93% 96.43% 90.29% 706 76.86% 95.76% 89.13% 625 78.10% 96.21% 89.86% 565 74.79% 95.98% 88.55% 557 80.17% 95.54% 90.14% 612 76.45% 96.21% 89.28% 440 76.45% 96.65% 89.57% 432 76.86% 96.21% 89.42% 332 77.27% 96.65% 89.86% 428 76.45% 95.76% 88.99% 365 75.21% 96.43% 88.99% 444 78.51% 95.98% 89.86% 316 79.75% 96.65% 90.72% 289 79.34% 95.98% 90.14% 573 78.10% 96.88% 90.29% 790 79.75% 95.76% 90.14% 442 79.75% 95.76% 90.14% 629 76.45% 95.76% 88.99% 322 77.69% 95.76% 89.42% 765 80.58% 96.65% 91.01% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 L. Federico Bertona 0 0 0 0 0 0 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 417 77.27% 95.54% 89.13% 392 78.10% 95.54% 89.42% 484 78.10% 95.98% 89.71% 482 80.17% 96.65% 90.87% 692 78.51% 95.54% 89.57% 255 79.34% 95.98% 90.14% 508 76.45% 96.21% 89.28% 589 76.86% 96.43% 89.57% 687 76.03% 95.09% 88.41% 272 76.03% 95.31% 88.55% 421 77.69% 96.21% 89.71% 628 80.58% 95.98% 90.58% 540 76.03% 96.43% 89.28% 283 77.27% 95.98% 89.42% 451 80.17% 96.65% 90.87% 321 77.69% 96.21% 89.71% 416 74.38% 94.64% 87.54% 898 76.03% 96.65% 89.42% 610 78.51% 96.21% 90.00% 880 76.86% 95.98% 89.28% 425 78.51% 95.54% 89.57% 476 76.86% 96.65% 89.71% 695 78.10% 95.54% 89.42% 587 78.10% 96.43% 90.00% 403 76.45% 95.31% 88.70% 292 76.86% 96.21% 89.42% Datos experimentales 91

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 92 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,377 78.93% 96.43% 90.29% 537 78.51% 96.65% 90.29% 1,541 76.45% 97.32% 90.00% 500 76.45% 95.76% 88.99% 364 80.17% 96.21% 90.58% 408 76.86% 95.76% 89.13% 713 77.27% 95.98% 89.42% 424 75.21% 95.98% 88.70% 465 78.93% 96.43% 90.29% 538 78.10% 95.98% 89.71% 490 75.62% 96.65% 89.28% 381 77.69% 95.98% 89.57% 572 79.34% 95.76% 90.00% 481 77.27% 96.43% 89.71% 669 78.93% 96.88% 90.58% 397 77.27% 96.88% 90.00% 926 76.45% 96.43% 89.42% 516 79.34% 96.43% 90.43% 842 77.69% 96.65% 90.00% 1,113 78.93% 96.43% 90.29% 331 77.69% 95.98% 89.57% 389 78.10% 95.98% 89.71% 404 77.69% 95.09% 88.99% 617 78.93% 96.21% 90.14% 432 78.93% 95.09% 89.42% 585 79.34% 96.65% 90.58% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 L. Federico Bertona 0.01 0.01 0.01 0.01 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 440 78.10% 96.88% 90.29% 913 80.17% 96.88% 91.01% 1,238 78.10% 97.10% 90.43% 592 78.51% 96.21% 90.00% 542 78.10% 95.31% 89.28% 692 78.51% 97.10% 90.58% 488 78.10% 96.21% 89.86% 386 79.34% 95.98% 90.14% 581 78.51% 95.98% 89.86% 399 77.69% 95.76% 89.42% 474 76.03% 95.31% 88.55% 669 79.34% 95.31% 89.71% 906 83.06% 96.43% 91.74% 455 78.51% 96.88% 90.43% 659 79.75% 96.65% 90.72% 559 77.27% 96.65% 89.86% 412 77.27% 95.31% 88.99% 415 76.03% 96.21% 89.13% 1,254 82.64% 96.65% 91.74% 619 76.86% 96.21% 89.42% 753 76.86% 95.98% 89.28% 497 78.10% 95.98% 89.71% 520 80.58% 96.88% 91.16% 409 82.23% 96.43% 91.45% 586 76.86% 96.65% 89.71% 1,017 78.93% 96.43% 90.29% Datos experimentales 93

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 94 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 337 76.45% 95.98% 89.13% 316 75.21% 95.31% 88.26% 690 75.62% 96.21% 88.99% 433 81.41% 95.98% 90.87% 388 77.27% 95.98% 89.42% 1,055 78.51% 95.98% 89.86% 899 81.41% 96.21% 91.01% 340 78.10% 96.21% 89.86% 672 77.69% 95.98% 89.57% 840 80.58% 96.88% 91.16% 335 76.45% 95.09% 88.55% 502 76.45% 96.88% 89.71% 423 78.10% 96.88% 90.29% 420 78.10% 96.21% 89.86% 706 77.27% 96.88% 90.00% 458 76.03% 95.76% 88.84% 396 78.51% 95.76% 89.71% 829 78.93% 96.65% 90.43% 594 73.97% 95.98% 88.26% 482 74.79% 96.43% 88.84% 905 78.93% 95.76% 89.86% 532 80.99% 97.10% 91.45% 612 80.58% 96.65% 91.01% 498 76.45% 95.54% 88.84% 386 76.03% 94.42% 87.97% 573 79.34% 95.31% 89.71% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 L. Federico Bertona 0.05 0.05 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 643 79.34% 96.65% 90.58% 426 78.93% 96.88% 90.58% 820 77.27% 97.32% 90.29% 421 76.86% 96.88% 89.86% 427 76.86% 95.98% 89.28% 452 77.69% 96.21% 89.71% 681 78.51% 95.98% 89.86% 557 78.93% 96.88% 90.58% 561 77.69% 96.21% 89.71% 416 76.86% 95.31% 88.84% 480 78.93% 95.54% 89.71% 281 76.03% 95.31% 88.55% 911 78.93% 95.76% 89.86% 569 77.69% 97.10% 90.29% 622 79.75% 96.88% 90.87% 481 78.93% 95.76% 89.86% 412 80.58% 96.21% 90.72% 653 80.17% 96.88% 91.01% 392 77.69% 95.54% 89.28% 503 76.86% 96.21% 89.42% 825 81.41% 96.88% 91.45% 1,113 81.41% 95.98% 90.87% 271 79.75% 96.65% 90.72% 441 78.93% 96.21% 90.14% 1,035 78.10% 96.43% 90.00% 352 78.93% 96.88% 90.58% Datos experimentales 95

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 96 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 379 77.69% 96.21% 89.71% 509 76.86% 96.21% 89.42% 423 80.99% 95.98% 90.72% 664 81.41% 96.21% 91.01% 567 79.34% 95.98% 90.14% 309 80.58% 96.43% 90.87% 449 79.75% 96.43% 90.58% 575 77.27% 95.09% 88.84% 541 78.10% 96.65% 90.14% 597 78.10% 96.21% 89.86% 515 80.58% 95.54% 90.29% 656 77.69% 97.10% 90.29% 395 78.10% 96.65% 90.14% 409 73.55% 95.76% 87.97% 632 79.34% 96.43% 90.43% 426 73.97% 96.21% 88.41% 669 79.34% 96.65% 90.58% 617 80.17% 96.21% 90.58% 407 79.75% 95.76% 90.14% 608 78.51% 95.76% 89.71% 622 78.93% 95.98% 90.00% 380 78.51% 96.21% 90.00% 403 75.62% 97.10% 89.57% 432 76.45% 94.64% 88.26% 780 77.69% 96.88% 90.14% 449 78.51% 95.98% 89.86% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 L. Federico Bertona 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 946 78.10% 96.88% 90.29% 297 78.51% 96.21% 90.00% 915 79.75% 97.10% 91.01% 326 79.75% 95.09% 89.71% 223 78.93% 95.98% 90.00% 162 77.69% 96.43% 89.86% 200 78.51% 97.32% 90.72% 182 76.03% 95.98% 88.99% 176 79.75% 94.64% 89.42% 1,037 76.86% 96.88% 89.86% 472 78.51% 96.43% 90.14% 327 78.51% 95.09% 89.28% 304 78.10% 96.88% 90.29% 138 78.10% 95.98% 89.71% 208 76.45% 95.31% 88.70% 264 76.03% 95.09% 88.41% 244 79.34% 96.65% 90.58% 279 78.51% 96.65% 90.29% 204 77.27% 95.54% 89.13% 357 79.75% 94.64% 89.42% 327 78.51% 97.10% 90.58% 255 76.03% 96.43% 89.28% 218 78.93% 95.54% 89.71% 321 79.75% 96.65% 90.72% 254 77.27% 96.88% 90.00% 254 78.51% 96.88% 90.43% Datos experimentales 97

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.01 0.01 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 446 78.51% 95.76% 89.71% 220 78.93% 96.43% 90.29% 228 80.58% 95.31% 90.14% 383 80.99% 96.21% 90.87% 172 78.93% 96.65% 90.43% 176 78.10% 95.76% 89.57% 266 80.17% 96.88% 91.01% 596 79.34% 96.43% 90.43% 297 79.34% 96.21% 90.29% 201 79.75% 96.43% 90.58% 265 78.51% 96.21% 90.00% 291 78.51% 95.98% 89.86% 458 78.10% 96.21% 89.86% 223 80.58% 97.10% 91.30% 413 79.75% 96.43% 90.58% 390 80.17% 95.76% 90.29% 284 78.10% 95.98% 89.71% 196 76.86% 96.21% 89.42% 185 79.75% 95.98% 90.29% 302 76.03% 95.98% 88.99% 290 78.93% 95.09% 89.42% 361 78.93% 96.43% 90.29% 460 81.41% 96.65% 91.30% 200 78.51% 96.43% 90.14% 160 80.58% 97.10% 91.30% 284 81.82% 96.21% 91.16% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 L. Federico Bertona 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 280 77.69% 96.21% 89.71% 227 78.93% 96.88% 90.58% 238 77.27% 96.43% 89.71% 205 78.51% 95.98% 89.86% 145 78.51% 96.88% 90.43% 289 77.69% 95.76% 89.42% 337 76.45% 96.65% 89.57% 216 76.45% 95.98% 89.13% 170 80.17% 95.76% 90.29% 363 80.58% 96.65% 91.01% 310 80.17% 96.43% 90.72% 571 78.93% 95.76% 89.86% 407 80.58% 97.10% 91.30% 251 77.27% 94.87% 88.70% 361 78.10% 96.43% 90.00% 410 81.41% 96.65% 91.30% 217 77.27% 95.09% 88.84% 194 78.10% 95.09% 89.13% 382 78.10% 97.10% 90.43% 234 79.75% 95.09% 89.71% 221 76.86% 95.09% 88.70% 373 79.75% 96.88% 90.87% 153 77.27% 97.32% 90.29% 148 76.03% 95.76% 88.84% 546 80.99% 96.65% 91.16% 302 78.93% 95.76% 89.86% Datos experimentales 99

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 100 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.05 0.05 0.05 0.05 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 168 78.93% 96.88% 90.58% 257 77.69% 96.88% 90.14% 350 77.27% 95.98% 89.42% 294 80.58% 96.43% 90.87% 189 78.93% 96.65% 90.43% 233 78.93% 95.98% 90.00% 231 79.75% 96.65% 90.72% 241 80.17% 96.21% 90.58% 270 76.86% 96.21% 89.42% 323 79.34% 97.10% 90.87% 252 78.10% 96.21% 89.86% 244 78.10% 96.65% 90.14% 251 80.17% 95.76% 90.29% 157 77.27% 95.98% 89.42% 197 76.86% 94.42% 88.26% 335 73.97% 95.54% 87.97% 174 80.58% 96.43% 90.87% 240 78.93% 97.10% 90.72% 215 76.03% 96.43% 89.28% 273 79.34% 96.65% 90.58% 246 78.51% 96.21% 90.00% 311 77.27% 95.98% 89.42% 579 78.93% 96.43% 90.29% 273 80.99% 96.65% 91.16% 252 78.10% 95.31% 89.28% 506 76.86% 96.65% 89.71% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 L. Federico Bertona 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 272 78.10% 95.76% 89.57% 197 76.86% 95.31% 88.84% 214 78.51% 95.98% 89.86% 214 78.51% 95.98% 89.86% 212 78.93% 95.76% 89.86% 313 77.69% 97.10% 90.29% 173 78.51% 96.43% 90.14% 435 78.93% 96.65% 90.43% 208 78.51% 95.31% 89.42% 233 77.27% 96.65% 89.86% 266 80.17% 97.10% 91.16% 232 78.10% 95.09% 89.13% 139 80.58% 95.54% 90.29% 397 77.69% 96.43% 89.86% 308 79.34% 97.10% 90.87% 193 78.51% 96.43% 90.14% 1,824 80.99% 97.32% 91.59% 293 78.51% 96.65% 90.29% 161 78.51% 94.87% 89.13% 828 78.10% 94.64% 88.84% 232 78.10% 96.43% 90.00% 336 80.58% 97.10% 91.30% 334 76.03% 95.31% 88.55% 237 75.62% 95.76% 88.70% 272 76.86% 95.76% 89.13% 258 78.51% 95.54% 89.57% Datos experimentales 101

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 102 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.1 0.1 0.1 0.1 0.1 0.1 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 434 79.34% 96.88% 90.72% 372 80.17% 97.10% 91.16% 400 76.86% 94.64% 88.41% 358 77.69% 95.54% 89.28% 252 79.34% 96.43% 90.43% 1,967 80.58% 96.65% 91.01% 427 78.51% 97.10% 90.58% 248 78.93% 95.09% 89.42% 252 77.69% 94.20% 88.41% 307 77.27% 97.10% 90.14% 916 76.45% 96.43% 89.42% 273 78.51% 95.98% 89.86% 212 77.27% 95.98% 89.42% 160 78.10% 95.54% 89.42% 353 77.27% 95.76% 89.28% 228 77.27% 95.09% 88.84% 253 79.34% 95.98% 90.14% 232 79.34% 96.88% 90.72% 192 76.86% 96.21% 89.42% 156 77.27% 96.65% 89.86% 305 79.34% 95.98% 90.14% 162 77.27% 94.42% 88.41% 185 80.17% 96.21% 90.58% 237 82.64% 96.21% 91.45% 204 78.51% 96.65% 90.29% 175 78.10% 97.10% 90.43% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 L. Federico Bertona 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 537 76.03% 96.21% 89.13% 315 79.34% 96.65% 90.58% 169 81.41% 96.21% 91.01% 504 77.27% 96.43% 89.71% 341 76.45% 96.43% 89.42% 219 79.34% 96.65% 90.58% 171 77.27% 94.64% 88.55% 1,438 79.34% 96.21% 90.29% 201 76.45% 96.43% 89.42% 216 78.10% 96.43% 90.00% 533 79.34% 95.98% 90.14% 493 75.62% 95.09% 88.26% 196 80.17% 96.21% 90.58% 342 80.99% 96.43% 91.01% 334 77.69% 94.87% 88.84% 196 77.27% 95.54% 89.13% 338 78.93% 95.31% 89.57% 216 78.51% 97.10% 90.58% 350 79.34% 96.43% 90.43% 255 76.03% 96.43% 89.28% 482 81.41% 96.88% 91.45% 148 78.93% 96.21% 90.14% 157 81.41% 96.88% 91.45% 220 78.51% 96.65% 90.29% 325 74.79% 94.87% 87.83% 299 78.10% 96.65% 90.14% Datos experimentales 103

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 104 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0 0 0 0 0 0 0 0 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 377 76.86% 96.43% 89.57% 207 77.69% 94.87% 88.84% 194 79.75% 94.87% 89.57% 226 80.17% 96.43% 90.72% 252 78.93% 96.43% 90.29% 285 78.51% 97.10% 90.58% 193 78.93% 94.87% 89.28% 200 77.69% 94.87% 88.84% 194 79.75% 95.76% 90.14% 208 79.34% 95.98% 90.14% 359 78.93% 97.10% 90.72% 288 79.75% 96.65% 90.72% 296 78.10% 94.64% 88.84% 314 79.75% 95.76% 90.14% 244 79.75% 95.98% 90.29% 209 77.69% 96.88% 90.14% 302 78.10% 96.43% 90.00% 191 80.58% 96.43% 90.87% 347 77.27% 96.65% 89.86% 388 82.23% 97.32% 92.03% 270 79.75% 96.21% 90.43% 222 79.34% 95.98% 90.14% 250 79.75% 95.54% 90.00% 245 76.45% 95.09% 88.55% 226 80.99% 96.65% 91.16% 378 77.27% 95.76% 89.28% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 L. Federico Bertona 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 723 77.27% 95.54% 89.13% 228 76.86% 96.65% 89.71% 376 80.58% 96.88% 91.16% 212 74.38% 96.21% 88.55% 395 80.17% 94.42% 89.42% 279 77.69% 95.98% 89.57% 338 80.58% 96.88% 91.16% 337 77.69% 96.88% 90.14% 269 78.10% 97.10% 90.43% 499 79.75% 96.65% 90.72% 422 80.58% 96.21% 90.72% 335 77.27% 96.21% 89.57% 270 80.58% 96.21% 90.72% 759 79.34% 96.65% 90.58% 232 75.21% 94.64% 87.83% 239 78.10% 96.43% 90.00% 398 79.34% 96.65% 90.58% 345 78.10% 96.65% 90.14% 338 78.93% 94.64% 89.13% 330 78.51% 96.88% 90.43% 480 80.58% 96.88% 91.16% 387 78.51% 96.65% 90.29% 690 80.58% 96.43% 90.87% 376 77.69% 97.32% 90.43% 274 77.27% 95.76% 89.28% 462 79.34% 95.98% 90.14% Datos experimentales 105

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 409 79.34% 96.21% 90.29% 253 77.27% 96.43% 89.71% 248 78.51% 95.98% 89.86% 539 79.75% 96.43% 90.58% 425 79.34% 97.10% 90.87% 536 78.93% 95.98% 90.00% 210 78.93% 96.21% 90.14% 255 80.99% 96.43% 91.01% 737 78.93% 97.10% 90.72% 206 78.51% 97.10% 90.58% 500 78.51% 95.76% 89.71% 349 78.10% 95.09% 89.13% 252 80.17% 97.10% 91.16% 346 77.27% 95.76% 89.28% 308 79.75% 97.10% 91.01% 234 79.34% 97.32% 91.01% 284 78.51% 95.54% 89.57% 313 78.93% 97.10% 90.72% 232 78.51% 95.76% 89.71% 333 81.41% 96.88% 91.45% 382 78.93% 96.21% 90.14% 212 78.93% 95.09% 89.42% 399 80.58% 97.10% 91.30% 305 78.51% 96.65% 90.29% 232 76.86% 95.54% 88.99% 448 78.93% 96.43% 90.29% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 L. Federico Bertona 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 222 78.10% 96.21% 89.86% 186 76.86% 96.65% 89.71% 204 79.75% 97.10% 91.01% 137 78.93% 96.65% 90.43% 317 78.93% 95.76% 89.86% 386 80.17% 95.31% 90.00% 548 78.51% 96.43% 90.14% 375 78.93% 94.87% 89.28% 273 77.69% 97.32% 90.43% 365 76.45% 95.54% 88.84% 408 74.38% 93.75% 86.96% 785 80.17% 96.43% 90.72% 386 78.93% 95.09% 89.42% 174 76.86% 96.43% 89.57% 181 77.27% 95.09% 88.84% 233 80.99% 96.43% 91.01% 329 80.99% 97.10% 91.45% 288 80.58% 95.31% 90.14% 259 77.69% 96.21% 89.71% 379 77.69% 96.43% 89.86% 326 78.51% 97.10% 90.58% 372 78.93% 95.09% 89.42% 218 78.10% 95.76% 89.57% 189 78.10% 96.88% 90.29% 333 77.27% 96.43% 89.71% 420 79.75% 97.10% 91.01% Datos experimentales 107

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 108 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 323 79.75% 96.65% 90.72% 184 78.51% 95.76% 89.71% 344 80.99% 96.65% 91.16% 290 78.51% 95.98% 89.86% 299 80.99% 95.54% 90.43% 171 80.58% 95.54% 90.29% 231 77.69% 94.87% 88.84% 301 78.10% 95.31% 89.28% 1,091 79.34% 96.88% 90.72% 321 79.34% 96.21% 90.29% 581 78.51% 95.54% 89.57% 412 79.75% 96.43% 90.58% 259 79.34% 96.65% 90.58% 288 78.51% 95.98% 89.86% 347 78.51% 96.43% 90.14% 204 79.34% 96.21% 90.29% 1,956 80.99% 96.88% 91.30% 306 77.69% 96.43% 89.86% 260 78.10% 96.21% 89.86% 266 81.41% 96.65% 91.30% 391 80.17% 96.21% 90.58% 278 76.03% 95.09% 88.41% 199 77.27% 96.21% 89.57% 278 78.10% 97.10% 90.43% 163 78.51% 96.21% 90.00% 278 76.86% 96.21% 89.42% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 L. Federico Bertona 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 522 79.34% 96.43% 90.43% 223 78.51% 95.54% 89.57% 237 79.75% 96.43% 90.58% 591 77.27% 96.43% 89.71% 265 78.93% 95.76% 89.86% 324 74.38% 96.43% 88.70% 382 76.03% 94.64% 88.12% 191 78.10% 94.87% 88.99% 386 80.17% 96.65% 90.87% 202 78.10% 95.54% 89.42% 282 78.51% 95.76% 89.71% 1,076 79.75% 96.88% 90.87% 327 80.17% 96.88% 91.01% 615 79.34% 96.65% 90.58% 290 78.93% 97.10% 90.72% 213 79.34% 96.43% 90.43% 193 78.51% 95.31% 89.42% 292 76.45% 94.87% 88.41% 327 79.75% 95.76% 90.14% 210 76.03% 96.43% 89.28% 349 81.41% 96.65% 91.30% 370 79.34% 96.43% 90.43% 257 79.75% 96.21% 90.43% 303 79.34% 96.88% 90.72% 330 78.10% 96.43% 90.00% 278 78.51% 96.43% 90.14% Datos experimentales 109

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 110 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SI SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 426 78.93% 96.21% 90.14% 386 78.93% 96.88% 90.58% 174 78.93% 96.21% 90.14% 203 75.62% 95.76% 88.70% 1,224 79.34% 96.65% 90.58% 281 78.93% 95.76% 89.86% 461 82.23% 97.32% 92.03% 541 79.34% 96.43% 90.43% 252 79.34% 95.98% 90.14% 310 78.51% 95.09% 89.28% 301 77.69% 95.76% 89.42% 267 77.27% 96.43% 89.71% 253 79.75% 97.32% 91.16% 273 79.75% 96.88% 90.87% 1,959 79.75% 96.43% 90.58% 223 77.69% 95.76% 89.42% 645 81.82% 97.10% 91.74% 414 78.10% 96.43% 90.00% 321 76.86% 96.43% 89.57% 706 79.34% 97.10% 90.87% 407 82.23% 96.88% 91.74% 345 80.17% 96.65% 90.87% 457 78.10% 97.10% 90.43% 272 79.34% 96.43% 90.43% 199 79.75% 96.21% 90.43% 278 77.69% 95.76% 89.42% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 L. Federico Bertona 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 194 77.69% 96.43% 89.86% 431 77.69% 96.43% 89.86% 426 76.86% 95.76% 89.13% 400 79.75% 96.43% 90.58% 233 78.51% 96.21% 90.00% 523 80.17% 96.65% 90.87% 506 79.34% 95.09% 89.57% 237 80.58% 94.64% 89.71% 639 77.27% 96.88% 90.00% 218 80.58% 95.76% 90.43% 307 76.45% 97.32% 90.00% 259 76.03% 97.32% 89.86% 240 80.99% 96.43% 91.01% 222 78.10% 97.32% 90.58% 322 78.51% 96.65% 90.29% 277 78.51% 95.31% 89.42% 464 78.93% 96.43% 90.29% 155 80.99% 96.43% 91.01% 215 80.17% 96.21% 90.58% 265 78.93% 95.76% 89.86% 644 78.10% 94.64% 88.84% 267 76.86% 94.87% 88.55% 340 79.34% 95.76% 90.00% 339 80.58% 96.88% 91.16% 271 77.69% 95.09% 88.99% 298 79.34% 97.10% 90.87% Datos experimentales 111

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 112 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 SI SI SI SI SI SI SI SI SI SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 279 78.93% 95.98% 90.00% 308 74.38% 95.54% 88.12% 217 77.27% 95.54% 89.13% 354 79.75% 96.65% 90.72% 203 80.99% 96.43% 91.01% 189 76.86% 95.98% 89.28% 309 76.03% 96.43% 89.28% 539 77.27% 95.98% 89.42% 287 78.93% 97.10% 90.72% 272 79.34% 96.43% 90.43% 1,968 80.58% 93.97% 89.28% 1,967 83.47% 94.87% 90.87% 1,963 78.51% 96.65% 90.29% 1,966 83.06% 91.74% 88.70% 1,964 82.64% 94.42% 90.29% 1,961 80.99% 93.75% 89.28% 1,972 39.26% 44.42% 42.61% 1,964 80.17% 95.09% 89.86% 1,968 83.47% 94.20% 90.43% 2,198 83.06% 93.75% 90.00% 1,980 81.41% 93.75% 89.42% 1,972 81.82% 94.42% 90.00% 1,965 79.75% 93.30% 88.55% 1,966 80.17% 95.76% 90.29% 1,972 83.06% 95.98% 91.45% 1,965 81.82% 95.54% 90.72% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 L. Federico Bertona 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,968 80.99% 95.98% 90.72% 1,968 80.99% 96.65% 91.16% 1,970 82.64% 96.21% 91.45% 1,964 80.99% 95.31% 90.29% 2,062 82.64% 92.63% 89.13% 1,974 82.23% 94.42% 90.14% 1,976 82.23% 92.19% 88.70% 1,982 80.17% 92.63% 88.26% 1,992 83.06% 94.64% 90.58% 1,969 82.23% 93.97% 89.86% 1,982 80.99% 95.76% 90.58% 1,981 81.82% 94.87% 90.29% 1,972 79.34% 89.29% 85.80% 1,971 81.41% 94.64% 90.00% 1,972 52.48% 54.02% 53.48% 1,997 81.41% 93.97% 89.57% 1,983 80.58% 94.87% 89.86% 1,969 81.82% 93.75% 89.57% 1,978 81.82% 91.96% 88.41% 1,979 82.64% 95.76% 91.16% 1,974 81.82% 94.64% 90.14% 1,979 81.82% 95.54% 90.72% 1,971 81.82% 94.64% 90.14% 1,985 82.23% 94.64% 90.29% 1,977 82.64% 95.31% 90.87% 1,979 79.75% 89.96% 86.38% Datos experimentales 113

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 114 0 0 0 0 0 0 0 0 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,978 42.15% 52.01% 48.55% 1,975 81.82% 95.76% 90.87% 1,969 81.82% 95.54% 90.72% 1,981 82.23% 96.21% 91.30% 1,972 83.06% 94.42% 90.43% 1,978 80.99% 94.42% 89.71% 1,977 80.99% 95.98% 90.72% 1,970 83.06% 89.29% 87.10% 1,986 82.23% 92.63% 88.99% 1,962 84.30% 95.31% 91.45% 1,970 82.64% 94.20% 90.14% 1,984 78.10% 92.63% 87.54% 1,995 81.82% 93.08% 89.13% 1,968 81.41% 96.43% 91.16% 1,970 83.06% 94.64% 90.58% 1,964 80.17% 89.51% 86.23% 1,976 82.23% 94.20% 90.00% 2,178 82.23% 94.64% 90.29% 1,969 83.47% 95.31% 91.16% 1,978 82.23% 95.31% 90.72% 1,974 80.99% 95.76% 90.58% 1,970 82.23% 94.64% 90.29% 1,974 81.41% 95.09% 90.29% 1,969 82.64% 93.97% 90.00% 1,999 82.23% 87.95% 85.94% 1,976 81.41% 95.54% 90.58% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 L. Federico Bertona 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,977 80.58% 93.53% 88.99% 1,987 82.23% 95.76% 91.01% 1,969 81.82% 94.64% 90.14% 1,981 83.06% 94.20% 90.29% 1,967 81.82% 95.76% 90.87% 1,973 80.99% 95.54% 90.43% 1,974 82.23% 95.31% 90.72% 1,981 83.06% 93.75% 90.00% 1,979 82.23% 93.97% 89.86% 1,989 81.82% 93.97% 89.71% 1,992 80.58% 93.53% 88.99% 1,976 82.23% 94.87% 90.43% 1,974 82.23% 94.64% 90.29% 1,981 80.99% 94.87% 90.00% 1,981 79.75% 94.64% 89.42% 1,970 82.23% 94.87% 90.43% 1,985 81.41% 94.42% 89.86% 1,975 79.75% 95.98% 90.29% 1,973 82.64% 94.87% 90.58% 1,978 80.58% 93.97% 89.28% 1,982 79.34% 94.87% 89.42% 1,975 82.23% 93.30% 89.42% 1,995 82.64% 94.42% 90.29% 1,981 80.99% 91.74% 87.97% 1,980 66.12% 71.21% 69.42% 1,985 80.99% 93.30% 88.99% Datos experimentales 115

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 116 0.01 0.01 0.01 0.01 0.01 0.01 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,979 80.58% 94.87% 89.86% 1,980 80.58% 95.09% 90.00% 2,282 80.17% 95.31% 90.00% 1,982 47.52% 58.48% 54.64% 1,989 80.99% 94.42% 89.71% 1,994 81.82% 93.08% 89.13% 1,987 83.06% 89.29% 87.10% 1,974 82.64% 94.20% 90.14% 1,975 81.82% 93.53% 89.42% 1,976 83.06% 93.53% 89.86% 1,975 79.34% 90.85% 86.81% 1,996 82.64% 89.06% 86.81% 1,974 83.88% 94.20% 90.58% 1,984 80.99% 95.31% 90.29% 1,981 79.34% 93.75% 88.70% 1,969 82.64% 93.97% 90.00% 1,994 82.64% 93.75% 89.86% 1,986 80.99% 91.29% 87.68% 1,971 80.17% 89.73% 86.38% 1,974 80.99% 95.31% 90.29% 1,988 83.47% 94.64% 90.72% 1,980 82.64% 93.53% 89.71% 1,995 79.34% 85.71% 83.48% 1,970 83.47% 94.42% 90.58% 1,980 80.58% 92.19% 88.12% 1,997 81.82% 87.95% 85.80% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 L. Federico Bertona 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,994 83.47% 92.19% 89.13% 1,993 79.75% 88.17% 85.22% 1,982 82.23% 94.87% 90.43% 1,984 79.34% 93.08% 88.26% 1,989 82.23% 93.97% 89.86% 1,989 84.30% 93.75% 90.43% 1,980 81.82% 94.87% 90.29% 1,995 83.06% 91.52% 88.55% 1,983 82.23% 94.20% 90.00% 1,983 81.82% 94.20% 89.86% 1,978 82.64% 93.75% 89.86% 1,989 83.47% 92.63% 89.42% 1,987 81.41% 92.63% 88.70% 1,985 81.82% 93.53% 89.42% 1,992 82.64% 94.42% 90.29% 1,982 82.64% 93.75% 89.86% 1,994 80.99% 94.87% 90.00% 1,972 44.63% 51.34% 48.99% 1,987 81.41% 92.63% 88.70% 2,124 74.79% 85.71% 81.88% 1,986 54.96% 55.80% 55.51% 2,001 79.34% 91.96% 87.54% 1,983 80.99% 94.20% 89.57% 1,993 83.47% 94.20% 90.43% 1,998 80.58% 88.39% 85.65% 1,985 81.82% 94.42% 90.00% Datos experimentales 117

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 118 0.05 0.05 0.05 0.05 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 2,084 3.31% 1.79% 2.32% 1,978 83.47% 94.20% 90.43% 1,978 82.64% 94.42% 90.29% 2,001 42.15% 46.88% 45.22% 2,001 83.47% 92.41% 89.28% 1,985 80.58% 90.85% 87.25% 1,982 42.15% 45.54% 44.35% 1,994 13.64% 10.27% 11.45% 1,985 73.55% 83.26% 79.86% 1,983 82.64% 94.20% 90.14% 1,977 16.12% 8.93% 11.45% 1,977 81.82% 92.41% 88.70% 1,979 83.06% 93.75% 90.00% 2,008 45.87% 51.12% 49.28% 1,989 45.04% 48.21% 47.10% 1,981 81.41% 88.84% 86.23% 1,995 80.58% 91.07% 87.39% 1,980 80.58% 92.63% 88.41% 1,982 81.41% 93.97% 89.57% 1,993 84.30% 94.87% 91.16% 1,981 83.47% 92.19% 89.13% 1,994 81.82% 92.63% 88.84% 1,982 83.06% 94.64% 90.58% 1,989 83.06% 91.07% 88.26% 1,983 82.23% 90.40% 87.54% 2,005 81.41% 93.97% 89.57% Datos experimentales L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 L. Federico Bertona 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,986 83.88% 93.97% 90.43% 1,995 82.64% 93.30% 89.57% 2,004 71.07% 77.46% 75.22% 1,986 83.06% 95.54% 91.16% 1,983 81.82% 93.53% 89.42% 2,014 54.13% 54.02% 54.06% 2,013 81.82% 93.30% 89.28% 1,985 80.99% 90.85% 87.39% 2,001 82.23% 91.74% 88.41% 1,983 81.82% 87.95% 85.80% 2,000 83.88% 92.41% 89.42% 1,999 83.47% 91.07% 88.41% 2,001 81.82% 90.63% 87.54% 1,995 82.23% 88.39% 86.23% 1,998 82.64% 92.86% 89.28% 1,996 82.23% 90.18% 87.39% 1,992 80.58% 93.30% 88.84% 2,275 79.75% 92.63% 88.12% 2,012 81.82% 87.95% 85.80% 1,990 81.82% 89.73% 86.96% 1,999 81.82% 93.53% 89.42% 2,005 81.82% 91.07% 87.83% 2,006 82.23% 90.18% 87.39% 2,003 80.17% 91.07% 87.25% 2,016 81.82% 90.85% 87.68% 1,989 84.30% 93.97% 90.58% Datos experimentales 119

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Alfa Beta Corrida Ent? 0.25 0.1 0.25 0.1 49 50 NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 1,995 82.64% 91.29% 88.26% 1,990 82.64% 91.29% 88.26%

A.2. Valores de inicializacin ptimos Min Inicializacin -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 120 Max Inicializacin 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Corrida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Ent? NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO Tiempo Prom. Ent. 1,980 1,970 1,968 1,973 1,969 1,966 1,971 1,968 1,966 1,973 1,972 1,968 2,440 1,968 1,970 1,969 1,973 1,977 1,973 1,974 Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 80.58% 94.42% 89.57% 80.17% 96.21% 90.58% 81.41% 95.98% 90.87% 79.34% 91.74% 87.39% 80.17% 96.21% 90.58% 78.93% 95.54% 89.71% 80.58% 94.20% 89.42% 76.86% 90.63% 85.80% 77.69% 92.86% 87.54% 78.10% 96.65% 90.14% 78.93% 95.31% 89.57% 80.58% 94.42% 89.57% 80.58% 94.64% 89.71% 79.75% 94.20% 89.13% 77.27% 90.85% 86.09% 73.14% 87.05% 82.17% 81.41% 96.43% 91.16% 80.99% 94.87% 90.00% 75.21% 90.85% 85.36% 82.23% 93.53% 89.57% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5

Max Inicializacin 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

Corrida 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Ent? NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Ent. 1,967 1,971 1,972 1,971 1,972 1,973 1,977 1,968 1,968 1,970 1,972 1,966 1,972 1,965 1,969 1,967 1,968 1,971 1,974 1,968 1,967 1,975 1,969 1,969 1,972 1,974 1,970

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.69% 96.43% 89.86% 78.10% 96.43% 90.00% 79.75% 92.86% 88.26% 81.41% 95.09% 90.29% 82.64% 94.87% 90.58% 80.17% 89.73% 86.38% 80.17% 94.87% 89.71% 78.93% 95.09% 89.42% 79.34% 96.88% 90.72% 79.34% 93.08% 88.26% 81.82% 95.76% 90.87% 78.10% 93.08% 87.83% 79.75% 96.21% 90.43% 83.06% 92.19% 88.99% 80.58% 91.74% 87.83% 80.58% 95.09% 90.00% 71.07% 96.65% 87.68% 80.58% 93.53% 88.99% 80.17% 93.30% 88.70% 81.82% 96.21% 91.16% 78.93% 95.76% 89.86% 78.51% 95.09% 89.28% 77.27% 97.32% 90.29% 76.03% 95.98% 88.99% 75.62% 95.09% 88.26% 76.03% 90.63% 85.51% 77.27% 96.65% 89.86%

L. Federico Bertona

Datos experimentales

121

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -5 -5 -5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

Max Inicializacin 5 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Corrida 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Ent? NO NO NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 1,973 1,970 1,968 263 331 152 313 245 298 187 386 359 167 317 256 349 281 360 141 382 303 465 196 362 203 350 165

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.27% 96.21% 89.57% 77.27% 95.54% 89.13% 81.82% 92.86% 88.99% 79.34% 96.21% 90.29% 79.75% 96.88% 90.87% 77.27% 97.10% 90.14% 79.75% 96.88% 90.87% 78.93% 96.65% 90.43% 79.75% 95.54% 90.00% 76.45% 96.88% 89.71% 77.69% 95.98% 89.57% 79.34% 95.98% 90.14% 80.99% 96.43% 91.01% 79.34% 96.21% 90.29% 78.10% 95.54% 89.42% 77.27% 96.21% 89.57% 78.93% 95.76% 89.86% 75.21% 96.43% 88.99% 78.93% 96.88% 90.58% 79.75% 96.65% 90.72% 75.62% 97.32% 89.71% 76.86% 96.65% 89.71% 79.34% 96.43% 90.43% 77.27% 96.43% 89.71% 78.10% 95.98% 89.71% 77.27% 96.43% 89.71% 78.10% 94.64% 88.84%

122

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.1

Max Inicializacin 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.1

Corrida 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 213 400 332 296 293 214 194 124 260 213 331 599 220 194 237 244 136 251 214 387 438 380 1,609 253 173 260 529

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.27% 95.54% 89.13% 78.93% 95.76% 89.86% 77.69% 95.98% 89.57% 79.75% 96.43% 90.58% 78.93% 96.88% 90.58% 78.10% 95.31% 89.28% 75.62% 96.43% 89.13% 78.51% 96.43% 90.14% 76.86% 95.98% 89.28% 76.86% 95.98% 89.28% 80.99% 96.65% 91.16% 78.51% 95.98% 89.86% 81.41% 95.31% 90.43% 75.62% 94.64% 87.97% 80.17% 96.43% 90.72% 76.45% 95.09% 88.55% 76.03% 96.65% 89.42% 78.51% 96.65% 90.29% 80.99% 95.09% 90.14% 79.75% 94.87% 89.57% 75.21% 95.31% 88.26% 79.75% 95.54% 90.00% 77.69% 96.65% 90.00% 78.51% 97.10% 90.58% 76.45% 95.09% 88.55% 76.45% 95.98% 89.13% 78.93% 95.98% 90.00%

L. Federico Bertona

Datos experimentales

123

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1

Max Inicializacin 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1

Corrida 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 677 585 682 474 706 560 588 616 801 523 527 518 606 468 573 593 662 531 435 535 562 593 383 624 471 474 425

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 78.10% 96.21% 89.86% 80.58% 96.21% 90.72% 80.99% 95.54% 90.43% 77.27% 96.88% 90.00% 80.58% 96.65% 91.01% 78.93% 95.98% 90.00% 78.51% 96.65% 90.29% 76.86% 96.21% 89.42% 79.75% 96.21% 90.43% 77.27% 96.21% 89.57% 78.10% 94.42% 88.70% 79.34% 96.88% 90.72% 75.62% 94.87% 88.12% 78.10% 96.21% 89.86% 81.41% 95.98% 90.87% 80.17% 95.76% 90.29% 80.17% 95.98% 90.43% 82.23% 96.88% 91.74% 78.93% 97.10% 90.72% 79.75% 96.43% 90.58% 79.75% 95.76% 90.14% 79.75% 96.43% 90.58% 77.27% 97.10% 90.14% 76.45% 95.76% 88.99% 80.17% 96.43% 90.72% 77.27% 96.65% 89.86% 80.58% 96.21% 90.72%

124

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.01 -0.01 -0.01 -0.01 -0.01

Max Inicializacin 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.01 0.01 0.01 0.01 0.01

Corrida 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 476 563 876 514 544 410 708 564 752 572 356 553 491 538 560 309 746 525 585 543 638 389 667 827 722 584 605

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 79.34% 96.88% 90.72% 77.69% 95.54% 89.28% 78.93% 96.43% 90.29% 78.51% 95.54% 89.57% 78.10% 94.64% 88.84% 80.17% 96.88% 91.01% 78.93% 95.98% 90.00% 79.34% 96.43% 90.43% 78.93% 96.88% 90.58% 80.17% 95.98% 90.43% 78.93% 96.65% 90.43% 79.34% 96.43% 90.43% 80.17% 96.88% 91.01% 80.99% 96.88% 91.30% 79.75% 96.65% 90.72% 78.10% 96.43% 90.00% 80.58% 96.65% 91.01% 78.10% 95.76% 89.57% 78.93% 96.43% 90.29% 79.34% 96.21% 90.29% 80.17% 96.88% 91.01% 77.27% 97.10% 90.14% 80.58% 97.10% 91.30% 79.34% 95.54% 89.86% 78.10% 94.87% 88.99% 79.75% 96.21% 90.43% 78.93% 96.43% 90.29%

L. Federico Bertona

Datos experimentales

125

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01

Max Inicializacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Corrida 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 586 685 697 785 729 705 424 636 556 475 573 753 771 579 872 665 468 636 717 877 886 643 760 439 734 636 597

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 78.93% 95.98% 90.00% 78.93% 96.88% 90.58% 77.27% 96.43% 89.71% 78.93% 96.65% 90.43% 78.51% 96.65% 90.29% 79.75% 96.21% 90.43% 78.93% 95.31% 89.57% 80.58% 96.21% 90.72% 80.17% 97.10% 91.16% 76.45% 96.65% 89.57% 76.45% 96.65% 89.57% 80.58% 96.65% 91.01% 80.58% 96.65% 91.01% 76.86% 96.65% 89.71% 80.17% 95.54% 90.14% 79.75% 95.76% 90.14% 79.75% 96.65% 90.72% 81.82% 96.65% 91.45% 79.34% 96.43% 90.43% 80.17% 95.76% 90.29% 78.10% 96.43% 90.00% 78.93% 96.21% 90.14% 79.34% 96.65% 90.58% 78.51% 96.88% 90.43% 81.82% 96.88% 91.59% 77.69% 95.76% 89.42% 79.75% 96.21% 90.43%

126

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Min Inicializacin -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01 -0.01

Max Inicializacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Corrida 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 638 728 908 790 608 647 651 567 948 669 878 771 884 723 723 483 717 473

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 79.34% 96.21% 90.29% 80.17% 97.10% 91.16% 80.58% 96.88% 91.16% 80.17% 97.10% 91.16% 77.69% 95.31% 89.13% 77.69% 96.65% 90.00% 77.27% 95.76% 89.28% 79.34% 96.43% 90.43% 79.34% 97.10% 90.87% 79.75% 96.43% 90.58% 77.27% 95.98% 89.42% 79.34% 96.43% 90.43% 79.34% 96.21% 90.29% 81.82% 96.88% 91.59% 79.34% 97.10% 90.87% 78.10% 96.43% 90.00% 79.75% 96.88% 90.87% 78.93% 96.88% 90.58%

A.3. Funcin de seleccin Funcin Seleccin Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional L. Federico Bertona Corrida 1 2 3 4 5 Ent? SI SI SI SI SI Tiempo Prom. Ent. 251 720 261 213 226 Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 80.17% 96.65% 90.87% 79.34% 97.32% 91.01% 74.38% 94.87% 87.68% 80.17% 95.76% 90.29% 76.45% 95.76% 88.99% 127

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional

Corrida 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Ent? SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 173 340 173 232 307 773 191 260 289 209 276 295 355 246 150 560 155 200 279 467 136 200 240 248 550 206 483

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.69% 96.43% 89.86% 75.62% 95.98% 88.84% 79.34% 95.31% 89.71% 79.34% 96.88% 90.72% 80.99% 96.88% 91.30% 82.64% 95.31% 90.87% 76.86% 95.54% 88.99% 78.93% 96.65% 90.43% 78.51% 95.31% 89.42% 78.93% 95.98% 90.00% 77.69% 95.76% 89.42% 78.51% 96.65% 90.29% 78.10% 96.65% 90.14% 77.27% 96.21% 89.57% 80.99% 95.98% 90.72% 78.10% 96.88% 90.29% 76.86% 95.98% 89.28% 79.34% 95.98% 90.14% 78.93% 94.64% 89.13% 78.10% 95.98% 89.71% 76.86% 93.97% 87.97% 76.45% 96.43% 89.42% 77.69% 95.98% 89.57% 75.21% 95.98% 88.70% 80.99% 97.32% 91.59% 72.31% 94.42% 86.67% 80.99% 96.88% 91.30%

128

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin proporcional Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta

Corrida 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9

Ent? NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 774 376 244 201 310 210 204 140 236 376 262 218 239 506 225 147 154 310 257 529 393 263 259 409 274 357 216

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 83.88% 97.10% 92.46% 78.93% 96.88% 90.58% 78.93% 96.65% 90.43% 77.27% 96.65% 89.86% 80.17% 96.65% 90.87% 76.86% 96.21% 89.42% 77.27% 95.54% 89.13% 79.34% 97.10% 90.87% 76.03% 96.21% 89.13% 76.45% 94.87% 88.41% 79.75% 96.65% 90.72% 76.03% 96.43% 89.28% 79.75% 95.98% 90.29% 81.82% 97.32% 91.88% 76.03% 94.20% 87.83% 77.69% 95.31% 89.13% 79.75% 95.09% 89.71% 76.03% 96.21% 89.13% 78.51% 96.43% 90.14% 78.51% 96.88% 90.43% 78.10% 96.21% 89.86% 76.86% 95.98% 89.28% 77.69% 97.32% 90.43% 78.10% 96.65% 90.14% 77.69% 95.98% 89.57% 76.03% 95.54% 88.70% 79.34% 96.21% 90.29%

L. Federico Bertona

Datos experimentales

129

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta

Corrida 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 229 223 200 223 282 466 269 300 272 256 202 327 475 307 242 300 541 319 216 257 351 288 211 253 229 199 385

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.69% 95.54% 89.28% 80.17% 95.54% 90.14% 76.45% 96.88% 89.71% 75.21% 96.21% 88.84% 75.21% 95.09% 88.12% 80.99% 95.54% 90.43% 76.86% 95.09% 88.70% 77.69% 95.09% 88.99% 77.27% 95.76% 89.28% 76.03% 96.21% 89.13% 78.10% 96.21% 89.86% 79.34% 96.43% 90.43% 79.34% 95.54% 89.86% 76.86% 96.43% 89.57% 74.79% 96.21% 88.70% 80.58% 95.98% 90.58% 80.17% 96.88% 91.01% 80.58% 96.21% 90.72% 80.99% 96.65% 91.16% 76.03% 95.98% 88.99% 84.30% 96.43% 92.17% 76.45% 96.21% 89.28% 79.75% 95.98% 90.29% 77.69% 96.21% 89.71% 78.10% 96.65% 90.14% 78.51% 96.21% 90.00% 79.34% 96.43% 90.43%

130

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin ruleta Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo

Corrida 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 277 510 314 309 381 273 332 531 754 399 431 388 239 356 189 202 511 164 186 160 216 201 186 200 166 409 183

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 78.10% 96.43% 90.00% 80.58% 96.88% 91.16% 76.45% 96.43% 89.42% 78.93% 95.98% 90.00% 79.75% 96.43% 90.58% 80.17% 96.65% 90.87% 77.27% 96.43% 89.71% 76.45% 95.98% 89.13% 82.23% 96.65% 91.59% 77.69% 96.21% 89.71% 78.10% 96.65% 90.14% 75.62% 96.21% 88.99% 75.62% 95.98% 88.84% 78.10% 96.65% 90.14% 79.75% 96.43% 90.58% 76.86% 96.21% 89.42% 78.93% 97.10% 90.72% 78.93% 95.54% 89.71% 76.45% 95.76% 88.99% 76.45% 96.43% 89.42% 77.69% 95.31% 89.13% 76.86% 96.43% 89.57% 79.75% 96.21% 90.43% 80.58% 96.65% 91.01% 79.34% 96.65% 90.58% 75.62% 95.98% 88.84% 79.34% 94.87% 89.42%

L. Federico Bertona

Datos experimentales

131

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo

Corrida 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 197 420 149 257 429 169 205 184 168 272 162 172 206 178 165 205 163 179 129 144 181 157 201 229 248 158 216

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.69% 95.76% 89.42% 77.27% 94.64% 88.55% 76.45% 95.09% 88.55% 76.03% 94.64% 88.12% 78.10% 94.87% 88.99% 77.27% 95.54% 89.13% 76.86% 96.21% 89.42% 77.69% 96.21% 89.71% 78.93% 96.21% 90.14% 80.17% 96.43% 90.72% 79.75% 96.88% 90.87% 78.10% 95.76% 89.57% 76.45% 96.65% 89.57% 78.10% 96.65% 90.14% 78.51% 96.21% 90.00% 78.93% 95.31% 89.57% 79.34% 95.76% 90.00% 76.45% 96.65% 89.57% 79.34% 94.87% 89.42% 76.86% 95.31% 88.84% 78.51% 96.65% 90.29% 78.10% 95.09% 89.13% 76.45% 95.76% 88.99% 81.41% 95.54% 90.58% 78.93% 95.54% 89.71% 78.93% 96.65% 90.43% 76.86% 94.64% 88.41%

132

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin torneo Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta

Corrida 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 171 329 148 196 185 134 221 166 159 176 370 231 293 153 498 205 216 242 288 260 238 166 240 251 213 245 455

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 79.34% 96.21% 90.29% 78.51% 95.31% 89.42% 80.58% 95.98% 90.58% 78.93% 95.76% 89.86% 78.10% 96.21% 89.86% 77.69% 96.21% 89.71% 78.93% 96.21% 90.14% 75.21% 94.87% 87.97% 74.79% 95.98% 88.55% 76.86% 95.09% 88.70% 75.62% 96.21% 88.99% 80.58% 95.54% 90.29% 78.10% 97.10% 90.43% 78.93% 95.09% 89.42% 79.75% 96.65% 90.72% 77.27% 97.10% 90.14% 76.45% 96.43% 89.42% 79.75% 96.88% 90.87% 78.93% 96.43% 90.29% 78.93% 96.21% 90.14% 77.27% 96.21% 89.57% 79.75% 95.54% 90.00% 78.93% 96.65% 90.43% 76.86% 95.98% 89.28% 77.69% 96.65% 90.00% 75.62% 95.09% 88.26% 78.10% 95.98% 89.71%

L. Federico Bertona

Datos experimentales

133

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta

Corrida 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 186 324 211 263 284 234 186 313 266 330 160 220 430 288 239 279 362 352 176 407 170 241 188 272 270 188 280

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 76.86% 95.76% 89.13% 77.69% 95.31% 89.13% 76.86% 96.43% 89.57% 76.86% 95.76% 89.13% 77.69% 93.08% 87.68% 76.45% 95.76% 88.99% 79.75% 95.98% 90.29% 78.10% 95.76% 89.57% 76.86% 96.43% 89.57% 82.23% 96.65% 91.59% 80.99% 95.76% 90.58% 79.75% 96.21% 90.43% 77.69% 96.43% 89.86% 78.10% 96.21% 89.86% 81.41% 96.65% 91.30% 75.21% 95.98% 88.70% 75.62% 96.43% 89.13% 80.58% 97.10% 91.30% 77.69% 95.76% 89.42% 80.99% 97.10% 91.45% 75.62% 95.31% 88.41% 75.21% 96.43% 88.99% 76.86% 95.98% 89.28% 76.03% 96.88% 89.57% 78.51% 96.88% 90.43% 78.51% 95.54% 89.57% 80.58% 95.98% 90.58%

134

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Seleccin Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta Seleccin ranking-ruleta A.4. Funcin de cruza Tipo Funcin Cruza Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica L. Federico Bertona

Corrida 45 46 47 48 49 50

Ent? SI SI SI SI SI SI

Tiempo Prom. Ent. 342 259 289 177 217 359

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 76.45% 95.54% 88.84% 78.93% 96.88% 90.58% 76.86% 96.21% 89.42% 78.51% 95.31% 89.42% 77.27% 96.65% 89.86% 78.10% 96.65% 90.14%

Corrida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Ent? SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 170 139 238 154 180 775 195 167 281 195 171 153 256 131 142 191 183

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 76.86% 96.88% 89.86% 76.86% 95.76% 89.13% 78.51% 95.54% 89.57% 77.69% 95.76% 89.42% 76.45% 95.54% 88.84% 80.17% 97.32% 91.30% 77.69% 96.21% 89.71% 76.03% 93.75% 87.54% 79.75% 96.65% 90.72% 73.14% 93.53% 86.38% 76.45% 96.88% 89.71% 77.69% 95.54% 89.28% 80.17% 96.21% 90.58% 78.10% 95.76% 89.57% 78.51% 96.65% 90.29% 78.93% 95.54% 89.71% 77.27% 95.09% 88.84% 135

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica

Corrida 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 159 139 177 199 220 167 276 346 204 124 286 151 181 147 131 163 284 335 178 148 216 308 127 134 161 198 178

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 75.21% 95.54% 88.41% 77.27% 96.65% 89.86% 76.45% 95.98% 89.13% 78.10% 96.65% 90.14% 80.17% 96.88% 91.01% 77.69% 96.21% 89.71% 79.34% 96.43% 90.43% 79.34% 96.65% 90.58% 79.34% 95.54% 89.86% 78.10% 95.76% 89.57% 76.86% 96.21% 89.42% 79.75% 95.98% 90.29% 76.45% 95.76% 88.99% 79.75% 96.21% 90.43% 74.38% 95.76% 88.26% 79.34% 95.98% 90.14% 80.58% 96.88% 91.16% 80.58% 96.65% 91.01% 77.69% 95.09% 88.99% 78.93% 96.43% 90.29% 78.51% 95.54% 89.57% 78.93% 96.21% 90.14% 76.03% 94.87% 88.26% 74.79% 95.09% 87.97% 77.27% 96.21% 89.57% 77.69% 95.54% 89.28% 80.17% 95.76% 90.29%

136

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza probabilstica Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme

Corrida 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 143 153 250 205 159 152 157 341 167 147 246 279 149 221 212 155 141 135 214 146 162 153 176 147 217 359 136

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.27% 96.43% 89.71% 77.27% 96.21% 89.57% 78.93% 96.21% 90.14% 78.10% 96.65% 90.14% 78.10% 96.43% 90.00% 78.10% 96.43% 90.00% 76.86% 96.21% 89.42% 79.34% 97.32% 91.01% 80.17% 95.09% 89.86% 77.69% 95.54% 89.28% 78.10% 94.64% 88.84% 78.10% 95.76% 89.57% 75.21% 95.76% 88.55% 80.17% 96.65% 90.87% 78.93% 95.54% 89.71% 79.75% 96.43% 90.58% 76.03% 96.43% 89.28% 78.51% 96.21% 90.00% 77.27% 96.65% 89.86% 78.10% 95.76% 89.57% 73.55% 95.31% 87.68% 79.34% 96.21% 90.29% 79.34% 96.21% 90.29% 79.34% 96.43% 90.43% 75.21% 95.09% 88.12% 76.03% 95.54% 88.70% 78.10% 96.21% 89.86%

L. Federico Bertona

Datos experimentales

137

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme Cruza uniforme

Corrida 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 141 165 294 225 154 231 174 173 233 183 222 174 196 203 178 193 135 171 201 148 166 192 284 182 147 193 172

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 75.21% 95.09% 88.12% 78.93% 95.98% 90.00% 73.14% 96.21% 88.12% 77.27% 96.43% 89.71% 77.27% 96.21% 89.57% 75.62% 95.98% 88.84% 76.03% 95.54% 88.70% 79.75% 96.65% 90.72% 80.58% 95.98% 90.58% 76.45% 95.31% 88.70% 76.86% 94.20% 88.12% 76.03% 96.65% 89.42% 77.27% 96.65% 89.86% 80.17% 96.43% 90.72% 78.93% 96.43% 90.29% 78.93% 96.43% 90.29% 78.51% 95.76% 89.71% 77.69% 95.76% 89.42% 79.34% 96.43% 90.43% 78.93% 96.65% 90.43% 79.34% 96.21% 90.29% 76.03% 94.87% 88.26% 74.79% 96.65% 88.99% 79.75% 96.43% 90.58% 78.10% 96.65% 90.14% 77.69% 96.43% 89.86% 77.27% 96.65% 89.86%

138

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza uniforme Cruza uniforme Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple

Corrida 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 157 161 394 203 184 317 602 209 182 188 168 135 234 622 259 240 197 277 148 169 283 152 225 162 177 397 204

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 78.51% 95.98% 89.86% 78.51% 95.31% 89.42% 77.27% 96.65% 89.86% 76.03% 95.09% 88.41% 80.58% 95.98% 90.58% 79.75% 97.10% 91.01% 78.51% 97.32% 90.72% 77.69% 95.76% 89.42% 76.45% 96.21% 89.28% 76.86% 96.65% 89.71% 76.03% 96.65% 89.42% 78.93% 96.88% 90.58% 77.69% 96.21% 89.71% 81.41% 97.32% 91.74% 78.10% 96.88% 90.29% 80.17% 96.43% 90.72% 78.10% 96.21% 89.86% 81.41% 95.98% 90.87% 78.93% 96.21% 90.14% 76.86% 96.43% 89.57% 79.75% 95.98% 90.29% 75.21% 95.76% 88.55% 77.27% 94.87% 88.70% 79.75% 95.76% 90.14% 79.75% 96.43% 90.58% 77.27% 95.54% 89.13% 78.93% 95.98% 90.00%

L. Federico Bertona

Datos experimentales

139

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza simple Cruza multipuntos Cruza multipuntos

Corrida 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 182 270 435 169 254 260 191 243 148 189 148 217 439 357 385 171 126 206 329 264 192 150 224 403 183 183 173

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 78.51% 96.21% 90.00% 79.34% 95.54% 89.86% 80.17% 96.65% 90.87% 78.51% 95.98% 89.86% 80.17% 95.76% 90.29% 78.93% 95.31% 89.57% 80.58% 96.21% 90.72% 77.69% 95.54% 89.28% 79.34% 95.76% 90.00% 76.45% 94.87% 88.41% 75.62% 95.54% 88.55% 76.86% 95.54% 88.99% 78.51% 97.10% 90.58% 80.58% 96.43% 90.87% 79.75% 97.10% 91.01% 78.10% 95.09% 89.13% 77.27% 93.97% 88.12% 78.10% 95.98% 89.71% 78.10% 95.76% 89.57% 78.10% 96.65% 90.14% 75.21% 95.31% 88.26% 78.93% 96.65% 90.43% 78.51% 95.76% 89.71% 79.75% 97.32% 91.16% 79.75% 95.98% 90.29% 79.34% 96.21% 90.29% 78.93% 96.21% 90.14%

140

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos

Corrida 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 258 184 201 195 229 162 285 219 229 126 167 339 303 258 161 175 252 168 259 175 290 144 210 228 231 177 256

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 78.10% 96.21% 89.86% 78.51% 95.31% 89.42% 79.75% 94.87% 89.57% 80.17% 95.09% 89.86% 80.58% 96.65% 91.01% 78.93% 95.98% 90.00% 75.62% 96.65% 89.28% 80.17% 96.43% 90.72% 75.21% 96.43% 88.99% 77.69% 95.98% 89.57% 74.38% 94.64% 87.54% 79.34% 96.65% 90.58% 77.27% 96.43% 89.71% 75.21% 95.31% 88.26% 78.10% 95.98% 89.71% 80.58% 96.21% 90.72% 77.27% 96.21% 89.57% 79.34% 96.21% 90.29% 78.93% 97.10% 90.72% 76.86% 95.54% 88.99% 78.10% 95.31% 89.28% 75.62% 95.76% 88.70% 76.86% 96.21% 89.42% 78.10% 95.54% 89.42% 78.10% 96.88% 90.29% 79.34% 95.76% 90.00% 79.75% 96.43% 90.58%

L. Federico Bertona

Datos experimentales

141

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Cruza Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos Cruza multipuntos

Corrida 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 347 430 162 275 138 238 157 168 189 229 289 134 133 186 378 201 176 237 144 141 188

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 77.27% 95.76% 89.28% 79.75% 97.10% 91.01% 76.86% 94.87% 88.55% 76.86% 96.65% 89.71% 77.69% 95.76% 89.42% 77.69% 95.76% 89.42% 78.51% 96.88% 90.43% 77.27% 95.54% 89.13% 78.93% 96.43% 90.29% 78.93% 95.76% 89.86% 77.69% 97.10% 90.29% 78.93% 96.65% 90.43% 76.86% 95.54% 88.99% 80.99% 96.88% 91.30% 78.51% 96.43% 90.14% 80.17% 96.88% 91.01% 77.69% 95.76% 89.42% 76.45% 97.10% 89.86% 76.45% 95.54% 88.84% 76.86% 95.76% 89.13% 78.51% 95.76% 89.71%

142

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

A.5. Funcin de mutacin Mutacin numrica Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Min Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 Max Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 Corrida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI Tiempo Prom. Ent. 174 213 236 225 243 333 194 200 136 170 334 188 193 234 266 186 204 179 173 177 265 Aciertos Aciertos Prom. Prom. Ent. Eval. 80.17% 95.98% 77.69% 95.54% 79.34% 95.98% 77.69% 95.76% 78.93% 94.20% 80.17% 96.65% 79.34% 95.98% 75.62% 95.31% 77.69% 95.98% 80.17% 96.65% 80.17% 96.65% 78.93% 96.43% 79.34% 95.98% 75.62% 95.09% 76.86% 95.76% 79.34% 95.54% 75.62% 95.76% 78.10% 95.54% 79.75% 95.54% 79.75% 96.43% 78.10% 96.65% Aciertos Prom. Total 90.43% 89.28% 90.14% 89.42% 88.84% 90.87% 90.14% 88.41% 89.57% 90.87% 90.87% 90.29% 90.14% 88.26% 89.13% 89.86% 88.70% 89.42% 90.00% 90.58% 90.14%

L. Federico Bertona

Datos experimentales

143

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Max Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Corrida 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 162 190 209 224 189 450 216 186 175 151 189 182 193 181 141 200 251 211 247 245 244 211 157 260 203 255

Aciertos Aciertos Prom. Prom. Ent. Eval. 76.03% 95.76% 80.17% 95.76% 77.69% 95.54% 78.51% 96.21% 77.27% 95.54% 72.73% 93.97% 74.79% 94.64% 77.27% 94.87% 76.03% 94.64% 78.10% 95.76% 76.45% 96.21% 76.45% 95.09% 78.93% 96.43% 75.21% 95.54% 76.86% 94.87% 76.86% 96.21% 79.34% 96.43% 78.51% 95.76% 77.69% 94.87% 73.97% 94.20% 77.27% 94.64% 75.62% 96.65% 76.86% 95.09% 79.34% 96.88% 76.45% 96.21% 79.34% 96.21%

Aciertos Prom. Total 88.84% 90.29% 89.28% 90.00% 89.13% 86.52% 87.68% 88.70% 88.12% 89.57% 89.28% 88.55% 90.29% 88.41% 88.55% 89.42% 90.43% 89.71% 88.84% 87.10% 88.55% 89.28% 88.70% 90.72% 89.28% 90.29%

144

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.01 0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Max Mutacin 0.01 0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Corrida 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 242 178 238 236 149 143 204 177 235 240 266 152 147 193 241 198 159 336 204 209 162 250 184 175 157 202

Aciertos Aciertos Prom. Prom. Ent. Eval. 79.34% 96.88% 78.51% 95.98% 78.93% 96.43% 79.34% 95.76% 76.86% 95.09% 77.27% 95.09% 78.51% 95.54% 78.93% 96.88% 76.03% 94.42% 75.62% 96.43% 78.93% 96.88% 78.93% 96.21% 77.27% 96.21% 78.93% 97.10% 79.34% 94.87% 76.45% 95.54% 80.17% 95.31% 78.93% 95.76% 78.10% 95.98% 77.69% 96.43% 79.34% 96.43% 78.51% 96.65% 78.93% 94.87% 77.69% 96.21% 76.45% 95.09% 76.03% 95.31%

Aciertos Prom. Total 90.72% 89.86% 90.29% 90.00% 88.70% 88.84% 89.57% 90.58% 87.97% 89.13% 90.58% 90.14% 89.57% 90.72% 89.42% 88.84% 90.00% 89.86% 89.71% 89.86% 90.43% 90.29% 89.28% 89.71% 88.55% 88.55%

L. Federico Bertona

Datos experimentales

145

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Max Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Corrida 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 157 188 161 179 217 171 166 203 235 216 137 153 183 160 308 158 221 436 144 284 260 184 235 136 187 233

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.10% 95.98% 78.93% 96.21% 78.93% 95.54% 76.03% 95.09% 79.75% 96.43% 77.69% 96.21% 79.75% 96.65% 78.10% 96.65% 78.93% 96.21% 80.17% 95.76% 77.27% 95.98% 79.75% 96.21% 77.27% 94.87% 77.69% 95.09% 80.17% 97.10% 80.58% 96.21% 80.58% 95.76% 80.58% 96.43% 77.27% 96.43% 80.58% 96.21% 80.99% 96.21% 78.10% 95.31% 78.10% 96.88% 75.62% 96.21% 77.69% 96.43% 79.34% 96.21%

Aciertos Prom. Total 89.71% 90.14% 89.71% 88.41% 90.58% 89.71% 90.72% 90.14% 90.14% 90.29% 89.42% 90.43% 88.70% 88.99% 91.16% 90.72% 90.43% 90.87% 89.71% 90.72% 90.87% 89.28% 90.29% 88.99% 89.86% 90.29%

146

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.02 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Max Mutacin 0.02 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Corrida 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 224 196 255 161 186 287 170 500 768 247 145 165 293 138 166 299 161 151 168 141 166 399 183 643 135 224

Aciertos Aciertos Prom. Prom. Ent. Eval. 74.38% 97.10% 80.58% 96.43% 78.51% 96.88% 79.34% 95.98% 81.82% 96.65% 79.75% 96.65% 74.79% 95.98% 78.93% 97.32% 81.82% 97.32% 83.06% 96.65% 80.17% 97.10% 80.99% 96.43% 78.10% 95.98% 79.34% 96.65% 80.58% 95.98% 77.27% 96.43% 81.82% 96.43% 77.69% 95.76% 79.34% 96.21% 80.58% 97.10% 78.10% 96.65% 83.47% 97.32% 78.10% 96.21% 78.51% 97.32% 79.75% 96.43% 80.58% 97.10%

Aciertos Prom. Total 89.13% 90.87% 90.43% 90.14% 91.45% 90.72% 88.55% 90.87% 91.88% 91.88% 91.16% 91.01% 89.71% 90.58% 90.58% 89.71% 91.30% 89.42% 90.29% 91.30% 90.14% 92.46% 89.86% 90.72% 90.58% 91.30%

L. Federico Bertona

Datos experimentales

147

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin lineal creciente

Min Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.01

Max Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.02

Corrida 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 148 226 163 222 208 280 378 290 228 580 459 182 149 125 773 169 154 231 150 590 239 263 133 545 139 154

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.51% 95.98% 76.86% 96.88% 80.58% 96.21% 81.41% 96.65% 79.34% 96.43% 78.51% 96.43% 78.93% 96.43% 80.58% 96.88% 81.41% 96.65% 80.58% 96.88% 78.93% 96.43% 78.93% 96.88% 76.86% 96.43% 77.69% 96.21% 81.82% 96.65% 77.69% 96.65% 80.17% 96.65% 78.93% 97.10% 78.10% 95.54% 78.10% 97.10% 79.34% 96.43% 82.64% 96.88% 78.51% 95.31% 80.58% 96.65% 79.75% 96.65% 81.41% 95.98%

Aciertos Prom. Total 89.86% 89.86% 90.72% 91.30% 90.43% 90.14% 90.29% 91.16% 91.30% 91.16% 90.29% 90.58% 89.57% 89.71% 91.45% 90.00% 90.87% 90.72% 89.42% 90.43% 90.43% 91.88% 89.42% 91.01% 90.72% 90.87%

148

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Max Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Corrida 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 213 208 146 238 229 184 144 200 178 284 222 146 144 171 199 188 157 142 148 164 242 147 198 197 216 218

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.27% 95.54% 77.69% 94.87% 76.03% 95.54% 74.38% 94.42% 78.51% 95.76% 81.41% 96.21% 78.51% 95.98% 76.86% 95.09% 78.93% 95.54% 79.75% 95.54% 78.51% 96.43% 78.93% 96.21% 76.03% 95.31% 75.62% 95.31% 78.10% 95.98% 75.62% 95.98% 75.62% 95.09% 78.93% 94.87% 79.75% 96.43% 76.45% 95.54% 78.93% 96.21% 79.34% 95.76% 76.03% 95.31% 75.62% 95.76% 78.93% 95.54% 77.27% 95.31%

Aciertos Prom. Total 89.13% 88.84% 88.70% 87.39% 89.71% 91.01% 89.86% 88.70% 89.71% 90.00% 90.14% 90.14% 88.55% 88.41% 89.71% 88.84% 88.26% 89.28% 90.58% 88.84% 90.14% 90.00% 88.55% 88.70% 89.71% 88.99%

L. Federico Bertona

Datos experimentales

149

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.02 0.02 0.02

Max Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.04 0.04 0.04

Corrida 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 172 197 166 173 171 153 235 376 195 147 337 281 156 162 224 169 161 194 196 223 204 169 236 193 143 165

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.69% 96.21% 79.34% 95.31% 81.41% 95.98% 77.27% 96.21% 77.27% 96.21% 77.27% 95.76% 76.86% 95.98% 79.75% 97.10% 77.27% 96.43% 79.34% 95.54% 78.51% 97.10% 80.17% 97.10% 73.55% 93.75% 77.69% 94.87% 78.93% 95.09% 76.86% 95.54% 79.34% 96.43% 81.41% 96.21% 79.34% 95.98% 77.69% 96.65% 78.51% 96.21% 78.51% 96.65% 78.93% 96.65% 76.03% 95.31% 77.69% 94.87% 80.58% 96.21%

Aciertos Prom. Total 89.71% 89.71% 90.87% 89.57% 89.57% 89.28% 89.28% 91.01% 89.71% 89.86% 90.58% 91.16% 86.67% 88.84% 89.42% 88.99% 90.43% 91.01% 90.14% 90.00% 90.00% 90.29% 90.43% 88.55% 88.84% 90.72%

150

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Max Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Corrida 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 154 184 152 143 148 141 161 185 132 184 155 211 171 180 266 391 331 235 308 157 172 164 391 240 224 197

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.69% 96.65% 77.27% 96.65% 78.93% 96.88% 79.34% 96.43% 77.27% 95.54% 77.69% 95.98% 79.34% 96.65% 80.99% 95.98% 75.62% 96.21% 78.51% 97.10% 77.27% 96.65% 80.17% 96.21% 80.17% 96.65% 77.69% 96.21% 79.75% 96.43% 77.27% 96.43% 79.75% 97.54% 80.99% 96.21% 79.75% 97.10% 78.51% 96.65% 74.79% 95.31% 78.10% 96.43% 79.75% 96.88% 79.75% 96.43% 76.03% 96.65% 76.45% 94.42%

Aciertos Prom. Total 90.00% 89.86% 90.58% 90.43% 89.13% 89.57% 90.58% 90.72% 88.99% 90.58% 89.86% 90.58% 90.87% 89.71% 90.58% 89.71% 91.30% 90.87% 91.01% 90.29% 88.12% 90.00% 90.87% 90.58% 89.42% 88.12%

L. Federico Bertona

Datos experimentales

151

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.04 0.04 0.04 0.04 0.04

Max Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.08 0.08 0.08 0.08 0.08

Corrida 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI SI

Tiempo Prom. Ent. 161 147 146 157 174 207 161 169 187 191 232 165 158 206 184 137 149 202 157 159 208 776 164 213 254 334

Aciertos Aciertos Prom. Prom. Ent. Eval. 79.75% 96.88% 76.86% 96.43% 78.93% 96.21% 80.17% 95.98% 79.75% 96.21% 78.10% 95.98% 76.86% 95.31% 77.27% 94.87% 79.34% 96.43% 77.27% 95.98% 78.10% 96.21% 80.17% 96.65% 80.58% 96.43% 80.99% 96.21% 78.10% 96.21% 79.75% 96.43% 78.51% 95.31% 76.03% 96.43% 77.69% 96.43% 78.51% 95.54% 80.17% 96.88% 79.75% 97.10% 81.82% 96.65% 80.58% 96.88% 79.75% 96.65% 80.99% 97.10%

Aciertos Prom. Total 90.87% 89.57% 90.14% 90.43% 90.43% 89.71% 88.84% 88.70% 90.43% 89.42% 89.86% 90.87% 90.87% 90.87% 89.86% 90.58% 89.42% 89.28% 89.86% 89.57% 91.01% 91.01% 91.45% 91.16% 90.72% 91.45%

152

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Max Mutacin 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08

Corrida 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Ent? SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 155 615 210 234 182 286 306 225 158 467 469 601 775 225 365 194 270 492 311 178 370 192 311 336 155 224

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.69% 96.43% 79.75% 97.32% 79.75% 95.31% 77.69% 97.32% 76.86% 95.76% 80.17% 96.65% 83.47% 97.10% 76.86% 95.98% 78.93% 96.88% 82.23% 96.88% 78.10% 97.32% 80.58% 97.10% 80.99% 96.88% 80.58% 94.87% 79.34% 96.88% 80.17% 96.65% 75.21% 96.21% 80.17% 96.88% 76.45% 96.43% 81.82% 96.88% 81.41% 96.88% 78.93% 96.88% 79.75% 95.98% 76.45% 95.98% 80.58% 96.88% 79.75% 96.88%

Aciertos Prom. Total 89.86% 91.16% 89.86% 90.43% 89.13% 90.87% 92.32% 89.28% 90.58% 91.74% 90.58% 91.30% 91.30% 89.86% 90.72% 90.87% 88.84% 91.01% 89.42% 91.59% 91.45% 90.58% 90.29% 89.13% 91.16% 90.87%

L. Federico Bertona

Datos experimentales

153

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.005 0.005 0.005 0.005 0.005 0.005 0.005

Max Mutacin 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Corrida 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7

Ent? SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 170 207 702 408 226 149 775 282 164 735 127 166 196 214 341 290 353 206 533 236 230 200 154 274 189 227

Aciertos Aciertos Prom. Prom. Ent. Eval. 80.17% 95.98% 79.34% 96.65% 81.82% 97.10% 77.69% 96.65% 78.93% 96.43% 78.10% 95.54% 79.34% 96.65% 75.62% 95.76% 78.51% 96.65% 76.45% 97.32% 77.27% 96.65% 78.51% 96.21% 78.93% 97.10% 76.86% 95.54% 80.99% 96.43% 80.99% 96.43% 75.21% 96.43% 78.93% 96.43% 80.58% 97.32% 78.10% 95.98% 78.93% 95.31% 76.45% 95.76% 76.03% 95.09% 79.34% 95.31% 74.79% 94.64% 78.10% 95.09%

Aciertos Prom. Total 90.43% 90.58% 91.74% 90.00% 90.29% 89.42% 90.58% 88.70% 90.29% 90.00% 89.86% 90.00% 90.72% 88.99% 91.01% 91.01% 88.99% 90.29% 91.45% 89.71% 89.57% 88.99% 88.41% 89.71% 87.68% 89.13%

154

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005

Max Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Corrida 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Ent? SI SI SI SI SI SI NO SI NO NO SI SI NO SI SI SI SI SI SI SI NO SI SI SI SI NO

Tiempo Prom. Ent. 221 198 182 192 273 201 775 228 774 775 305 204 775 224 236 276 214 178 227 185 773 191 157 244 247 774

Aciertos Aciertos Prom. Prom. Ent. Eval. 80.17% 96.21% 77.69% 95.98% 76.86% 94.64% 77.27% 95.76% 76.86% 95.98% 76.03% 94.87% 78.10% 96.21% 77.69% 95.76% 78.10% 95.31% 78.10% 95.98% 77.69% 95.54% 77.27% 95.98% 78.51% 96.88% 74.79% 96.21% 79.34% 96.43% 78.93% 96.43% 78.10% 95.31% 76.86% 95.54% 78.51% 95.76% 77.69% 95.76% 78.10% 96.65% 74.79% 94.64% 78.51% 95.76% 76.86% 95.54% 79.34% 95.54% 80.17% 96.65%

Aciertos Prom. Total 90.58% 89.57% 88.41% 89.28% 89.28% 88.26% 89.86% 89.42% 89.28% 89.71% 89.28% 89.42% 90.43% 88.70% 90.43% 90.29% 89.28% 88.99% 89.71% 89.42% 90.14% 87.68% 89.71% 88.99% 89.86% 90.87%

L. Federico Bertona

Datos experimentales

155

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Max Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Corrida 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9

Ent? SI SI SI SI SI SI SI NO SI SI NO NO SI SI SI SI NO NO SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 260 164 219 296 172 217 173 775 183 218 775 775 159 214 198 221 776 775 165 144 234 181 149 179 239 138

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.69% 95.98% 77.27% 96.21% 77.27% 96.65% 76.86% 95.54% 80.99% 95.31% 78.10% 95.76% 78.51% 96.65% 80.17% 95.09% 78.10% 95.31% 76.86% 95.54% 76.03% 95.98% 82.23% 95.76% 78.51% 96.21% 76.45% 95.76% 77.27% 94.64% 77.27% 95.76% 78.10% 95.76% 76.45% 96.43% 79.75% 95.98% 78.51% 95.09% 76.45% 95.76% 76.45% 95.31% 76.86% 96.65% 77.27% 95.76% 77.69% 96.43% 73.97% 95.54%

Aciertos Prom. Total 89.57% 89.57% 89.86% 88.99% 90.29% 89.57% 90.29% 89.86% 89.28% 88.99% 88.99% 91.01% 90.00% 88.99% 88.55% 89.28% 89.57% 89.42% 90.29% 89.28% 88.99% 88.70% 89.71% 89.28% 89.86% 87.97%

156

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01

Max Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Corrida 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Ent? SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI NO NO SI SI SI NO SI SI SI SI

Tiempo Prom. Ent. 138 152 228 775 221 215 207 229 181 199 206 251 167 137 160 200 775 773 185 198 224 773 156 262 217 132

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.10% 95.76% 79.75% 96.43% 78.10% 95.76% 78.10% 96.88% 80.17% 95.76% 77.69% 95.98% 79.75% 95.54% 79.34% 95.98% 79.75% 95.76% 78.51% 95.54% 78.51% 96.21% 79.75% 96.65% 80.17% 96.21% 79.34% 96.21% 77.69% 95.54% 79.34% 96.65% 83.06% 96.65% 76.45% 95.98% 77.27% 95.76% 76.45% 93.75% 79.75% 96.21% 78.10% 97.10% 79.75% 96.43% 80.99% 95.76% 78.93% 96.21% 76.86% 96.21%

Aciertos Prom. Total 89.57% 90.58% 89.57% 90.29% 90.29% 89.57% 90.00% 90.14% 90.14% 89.57% 90.00% 90.72% 90.58% 90.29% 89.28% 90.58% 91.88% 89.13% 89.28% 87.68% 90.43% 90.43% 90.58% 90.58% 90.14% 89.42%

L. Federico Bertona

Datos experimentales

157

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Max Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Corrida 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11

Ent? SI SI NO SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI NO NO SI SI SI SI

Tiempo Prom. Ent. 153 218 774 143 193 264 256 220 269 148 153 207 773 152 195 217 280 173 172 257 774 774 198 222 167 136

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.93% 95.98% 80.58% 95.54% 76.86% 96.21% 78.93% 95.76% 78.51% 94.87% 80.99% 97.32% 76.86% 96.43% 77.69% 96.21% 77.27% 95.76% 74.38% 94.87% 76.45% 96.65% 78.10% 95.54% 79.75% 96.43% 79.75% 95.98% 78.10% 96.88% 80.99% 96.21% 80.17% 96.88% 80.99% 96.65% 77.27% 96.88% 79.34% 97.54% 79.34% 95.09% 76.86% 95.76% 77.27% 96.21% 78.51% 96.88% 80.58% 96.43% 77.69% 95.98%

Aciertos Prom. Total 90.00% 90.29% 89.42% 89.86% 89.13% 91.59% 89.57% 89.71% 89.28% 87.68% 89.57% 89.42% 90.58% 90.29% 90.29% 90.87% 91.01% 91.16% 90.00% 91.16% 89.57% 89.13% 89.57% 90.43% 90.87% 89.57%

158

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Max Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Corrida 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 170 204 137 169 242 206 179 215 173 258 212 277 230 263 775 149 172 341 168 159 187 151 158 170 242 184

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.51% 95.76% 79.34% 97.32% 78.10% 96.21% 80.99% 95.76% 75.62% 96.21% 79.75% 95.98% 78.51% 96.43% 79.34% 94.87% 78.10% 96.65% 77.27% 95.54% 79.75% 97.10% 76.45% 95.31% 78.51% 96.65% 77.69% 96.21% 80.17% 96.65% 76.86% 96.43% 76.45% 96.88% 81.41% 96.65% 78.51% 96.43% 79.75% 96.21% 77.69% 96.88% 80.17% 96.43% 77.69% 96.43% 76.45% 95.98% 78.93% 96.21% 78.10% 96.21%

Aciertos Prom. Total 89.71% 91.01% 89.86% 90.58% 88.99% 90.29% 90.14% 89.42% 90.14% 89.13% 91.01% 88.70% 90.29% 89.71% 90.87% 89.57% 89.71% 91.30% 90.14% 90.43% 90.14% 90.72% 89.86% 89.13% 90.14% 89.86%

L. Federico Bertona

Datos experimentales

159

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin Binaria Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme 160

Min Mutacin 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

Max Mutacin 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04 0.04

Corrida 38 39 40 41 42 43 44 45 46 47 48 49 50

Ent? NO SI SI SI SI NO NO SI NO SI SI SI SI

Tiempo Prom. Ent. 775 146 280 296 202 772 773 159 773 229 238 167 207

Aciertos Aciertos Prom. Prom. Ent. Eval. 80.99% 96.65% 78.51% 96.88% 79.75% 97.10% 79.75% 97.10% 75.21% 94.87% 78.93% 96.88% 79.34% 95.98% 77.69% 96.43% 80.99% 96.88% 80.17% 96.88% 78.93% 96.88% 78.51% 96.88% 76.86% 96.21%

Aciertos Prom. Total 91.16% 90.43% 91.01% 91.01% 87.97% 90.58% 90.14% 89.86% 91.30% 91.01% 90.58% 90.43% 89.42%

Min Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Max Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Corrida 1 2 3 4 5 6 7 8

Ent? SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 642 575 550 716 418 679 393 433

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.51% 95.31% 78.51% 94.87% 76.86% 95.31% 76.86% 94.87% 77.27% 95.98% 77.69% 95.76% 78.51% 95.09% 80.17% 97.10%

Aciertos Prom. Total 89.42% 89.13% 88.84% 88.55% 89.42% 89.42% 89.28% 91.16%

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Max Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Corrida 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Ent? SI SI NO NO SI SI SI SI SI SI SI SI SI SI NO SI SI NO SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 277 501 898 898 296 231 244 573 266 539 403 289 376 399 897 432 304 899 277 738 950 371 483 307 521 463

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.93% 95.54% 77.69% 94.20% 79.75% 94.42% 78.51% 94.42% 80.17% 95.98% 78.93% 95.54% 77.69% 95.54% 79.75% 95.76% 80.58% 95.31% 80.58% 95.98% 78.51% 94.64% 79.34% 95.54% 80.99% 96.21% 79.34% 94.87% 76.86% 95.76% 77.69% 95.76% 78.51% 96.43% 77.69% 95.31% 78.10% 95.76% 79.34% 95.09% 75.62% 93.97% 78.51% 95.54% 77.27% 95.54% 79.34% 95.98% 78.93% 95.76% 78.10% 95.98%

Aciertos Prom. Total 89.71% 88.41% 89.28% 88.84% 90.43% 89.71% 89.28% 90.14% 90.14% 90.58% 88.99% 89.86% 90.87% 89.42% 89.13% 89.42% 90.14% 89.13% 89.57% 89.57% 87.54% 89.57% 89.13% 90.14% 89.86% 89.71%

L. Federico Bertona

Datos experimentales

161

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Max Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Corrida 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10

Ent? SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 339 325 895 324 279 547 225 893 341 315 360 193 600 432 530 425 607 349 218 271 241 722 421 598 635 787

Aciertos Aciertos Prom. Prom. Ent. Eval. 80.17% 95.98% 77.27% 95.31% 80.99% 95.76% 78.93% 95.76% 77.69% 94.64% 76.03% 94.64% 77.69% 95.54% 77.27% 94.20% 77.69% 95.09% 78.51% 95.54% 77.27% 95.76% 76.45% 95.76% 78.51% 95.54% 77.27% 95.54% 78.51% 95.31% 78.51% 95.54% 78.10% 95.76% 76.45% 96.88% 81.41% 96.65% 79.34% 97.10% 78.10% 95.09% 74.79% 95.31% 79.75% 95.76% 77.69% 95.31% 77.27% 94.64% 77.27% 95.54%

Aciertos Prom. Total 90.43% 88.99% 90.58% 89.86% 88.70% 88.12% 89.28% 88.26% 88.99% 89.57% 89.28% 88.99% 89.57% 89.13% 89.42% 89.57% 89.57% 89.71% 91.30% 90.87% 89.13% 88.12% 90.14% 89.13% 88.55% 89.13%

162

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Max Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Corrida 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Ent? SI SI SI SI SI SI NO SI NO SI SI SI NO SI SI SI SI SI SI SI SI SI SI NO SI SI

Tiempo Prom. Ent. 397 605 428 328 336 487 904 456 897 429 450 823 898 185 673 426 260 470 537 454 397 305 370 900 372 631

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.27% 95.31% 78.51% 94.87% 77.69% 95.54% 76.03% 94.20% 78.93% 95.09% 79.34% 94.87% 79.75% 94.20% 78.93% 94.42% 75.21% 95.09% 78.51% 94.42% 76.86% 94.64% 78.51% 95.31% 81.41% 95.09% 78.51% 96.21% 76.45% 94.42% 80.17% 94.20% 80.17% 96.43% 76.03% 92.41% 79.34% 95.76% 77.69% 95.09% 80.58% 94.42% 80.17% 95.31% 81.41% 95.09% 79.34% 95.54% 77.69% 93.97% 77.27% 93.53%

Aciertos Prom. Total 88.99% 89.13% 89.28% 87.83% 89.42% 89.42% 89.13% 88.99% 88.12% 88.84% 88.41% 89.42% 90.29% 90.00% 88.12% 89.28% 90.72% 86.67% 90.00% 88.99% 89.57% 90.00% 90.29% 89.86% 88.26% 87.83%

L. Federico Bertona

Datos experimentales

163

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Max Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Corrida 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12

Ent? SI NO SI SI SI NO SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI NO

Tiempo Prom. Ent. 416 900 208 401 597 896 325 520 564 153 886 334 176 449 904 340 484 426 424 434 586 346 501 458 291 901

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.10% 95.54% 78.10% 95.09% 77.69% 95.54% 78.93% 94.64% 77.69% 94.64% 79.34% 95.09% 77.27% 95.76% 77.69% 95.98% 76.86% 94.20% 76.86% 96.21% 78.10% 94.87% 79.75% 96.21% 78.93% 94.42% 78.51% 95.54% 78.51% 94.42% 78.10% 94.20% 80.58% 95.31% 78.93% 95.31% 78.10% 95.76% 80.58% 95.09% 76.45% 95.76% 78.51% 95.09% 75.62% 93.75% 80.99% 94.64% 79.34% 95.76% 78.51% 90.40%

Aciertos Prom. Total 89.42% 89.13% 89.28% 89.13% 88.70% 89.57% 89.28% 89.57% 88.12% 89.42% 88.99% 90.43% 88.99% 89.57% 88.84% 88.55% 90.14% 89.57% 89.57% 90.00% 88.99% 89.28% 87.39% 89.86% 90.00% 86.23%

164

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme

Min Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Max Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Corrida 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

Ent? SI NO SI SI SI SI SI SI NO SI SI SI SI SI SI SI SI SI NO SI SI SI SI SI SI SI

Tiempo Prom. Ent. 527 902 376 548 468 820 634 472 913 556 369 741 676 459 582 502 454 535 908 560 803 290 462 300 359 416

Aciertos Aciertos Prom. Prom. Ent. Eval. 75.62% 95.98% 75.62% 94.20% 75.62% 94.20% 77.69% 95.54% 80.58% 96.21% 78.10% 96.21% 76.03% 96.21% 80.99% 95.09% 75.62% 95.76% 80.17% 95.98% 78.10% 96.43% 80.58% 95.54% 80.58% 95.54% 80.17% 96.88% 79.34% 94.87% 78.93% 95.76% 77.69% 94.42% 78.93% 95.76% 77.69% 94.42% 78.93% 95.31% 76.03% 95.31% 79.75% 95.98% 79.75% 95.76% 80.58% 95.54% 77.69% 95.54% 79.75% 95.54%

Aciertos Prom. Total 88.84% 87.68% 87.68% 89.28% 90.72% 89.86% 89.13% 90.14% 88.70% 90.43% 90.00% 90.29% 90.29% 91.01% 89.42% 89.86% 88.55% 89.86% 88.55% 89.57% 88.55% 90.29% 90.14% 90.29% 89.28% 90.00%

L. Federico Bertona

Datos experimentales

165

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin uniforme Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Max Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Corrida 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI NO SI NO NO SI SI SI NO NO NO NO

Tiempo Prom. Ent. 385 661 585 758 415 599 517 306 486 538 651 499 801 905 486 902 831 899 900 371 363 380 897 902 897 898

Aciertos Aciertos Prom. Prom. Ent. Eval. 81.41% 95.76% 78.51% 95.31% 76.03% 94.87% 79.34% 95.76% 75.21% 94.87% 78.10% 95.76% 79.75% 95.76% 77.27% 95.09% 77.69% 93.97% 78.51% 95.54% 76.86% 95.54% 75.62% 95.54% 79.34% 95.31% 78.10% 95.31% 79.75% 96.65% 76.86% 93.08% 76.45% 96.21% 77.27% 93.30% 78.10% 93.75% 79.75% 94.87% 79.75% 95.54% 81.41% 95.54% 80.58% 94.42% 79.75% 93.53% 78.10% 94.20% 77.69% 92.63%

Aciertos Prom. Total 90.72% 89.42% 88.26% 90.00% 87.97% 89.57% 90.14% 88.84% 88.26% 89.57% 88.99% 88.55% 89.71% 89.28% 90.72% 87.39% 89.28% 87.68% 88.26% 89.57% 90.00% 90.58% 89.57% 88.70% 88.55% 87.39%

166

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Max Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Corrida 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Ent? NO SI NO NO SI NO NO NO NO SI NO NO NO SI NO SI SI NO NO SI NO SI NO NO SI SI

Tiempo Prom. Ent. 904 214 903 898 569 901 901 904 898 802 901 898 902 423 970 215 749 899 898 380 902 194 897 898 286 318

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.10% 94.42% 77.69% 95.54% 77.27% 93.30% 76.45% 93.53% 76.45% 95.31% 77.69% 94.87% 78.10% 95.54% 77.69% 92.19% 78.93% 93.30% 76.45% 95.31% 76.45% 93.97% 78.51% 92.41% 80.58% 94.87% 80.99% 96.21% 76.03% 93.08% 81.41% 95.54% 80.58% 95.09% 79.34% 94.20% 72.31% 93.75% 77.69% 96.65% 80.17% 92.19% 79.34% 96.21% 78.51% 95.31% 79.75% 93.75% 77.69% 95.09% 77.69% 95.76%

Aciertos Prom. Total 88.70% 89.28% 87.68% 87.54% 88.70% 88.84% 89.42% 87.10% 88.26% 88.70% 87.83% 87.54% 89.86% 90.87% 87.10% 90.58% 90.00% 88.99% 86.23% 90.00% 87.97% 90.29% 89.42% 88.84% 88.99% 89.42%

L. Federico Bertona

Datos experimentales

167

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Max Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Corrida 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Ent? NO SI NO SI SI SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Ent. 902 311 899 312 320 344 901 901 898 898 910 913 912 912 916 915 908 913 910 915 913 912 915 915 912 912

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.51% 94.64% 77.69% 96.21% 79.75% 95.54% 79.75% 95.31% 82.23% 95.76% 79.34% 95.09% 75.21% 94.87% 76.86% 92.19% 78.10% 92.86% 76.45% 90.85% 76.03% 92.63% 74.38% 91.29% 77.69% 92.86% 78.93% 94.64% 80.17% 91.96% 75.62% 89.06% 77.69% 89.06% 76.86% 89.51% 78.10% 94.20% 73.55% 91.07% 78.10% 90.85% 80.99% 92.86% 78.93% 91.96% 78.10% 93.08% 76.03% 91.29% 77.69% 93.30%

Aciertos Prom. Total 88.99% 89.71% 90.00% 89.86% 91.01% 89.57% 87.97% 86.81% 87.68% 85.80% 86.81% 85.36% 87.54% 89.13% 87.83% 84.35% 85.07% 85.07% 88.55% 84.93% 86.38% 88.70% 87.39% 87.83% 85.94% 87.83%

168

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Max Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Corrida 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Ent? NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Ent. 915 913 913 917 908 909 912 910 911 916 911 913 982 913 912 913 916 916 911 909 910 911 916 914 911 916

Aciertos Aciertos Prom. Prom. Ent. Eval. 76.86% 89.29% 80.99% 91.74% 78.10% 91.07% 75.62% 91.29% 78.51% 90.40% 77.27% 91.52% 78.51% 93.75% 79.34% 91.52% 76.86% 91.96% 77.27% 91.29% 77.27% 91.96% 80.58% 95.09% 79.75% 88.39% 82.23% 90.18% 82.64% 93.08% 77.27% 92.86% 80.17% 91.52% 78.51% 90.63% 78.51% 91.96% 77.69% 92.19% 77.69% 91.74% 80.17% 91.96% 77.27% 89.96% 77.27% 94.42% 80.58% 92.63% 78.51% 90.40%

Aciertos Prom. Total 84.93% 87.97% 86.52% 85.80% 86.23% 86.52% 88.41% 87.25% 86.67% 86.38% 86.81% 90.00% 85.36% 87.39% 89.42% 87.39% 87.54% 86.38% 87.25% 87.10% 86.81% 87.83% 85.51% 88.41% 88.41% 86.23%

L. Federico Bertona

Datos experimentales

169

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Max Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125

Corrida 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Ent? NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Ent. 913 912 916 910 909 913 912 912 919 924 926 922 922 920 925 923 923 925 921 925 923 928 923 926 924 925

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.10% 91.29% 77.27% 93.08% 74.79% 89.51% 75.62% 89.06% 79.75% 88.62% 78.93% 95.98% 77.69% 93.08% 76.86% 91.96% 82.64% 90.63% 78.51% 86.83% 79.34% 91.29% 78.51% 85.71% 80.99% 90.85% 77.27% 85.49% 80.17% 87.05% 79.75% 88.62% 79.34% 91.29% 82.64% 91.07% 81.82% 89.73% 79.75% 90.85% 76.03% 88.39% 82.23% 90.63% 80.17% 91.74% 81.82% 90.85% 77.69% 90.40% 74.79% 89.51%

Aciertos Prom. Total 86.67% 87.54% 84.35% 84.35% 85.51% 90.00% 87.68% 86.67% 87.83% 83.91% 87.10% 83.19% 87.39% 82.61% 84.64% 85.51% 87.10% 88.12% 86.96% 86.96% 84.06% 87.68% 87.68% 87.68% 85.94% 84.35%

170

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente

Min Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Max Mutacin 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125

Corrida 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

Ent? NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Ent. 921 923 927 925 923 926 922 923 925 924 920 924 921 925 921 924 921 923 926 926 924 924 922 924 925 924

Aciertos Aciertos Prom. Prom. Ent. Eval. 79.75% 89.06% 79.75% 90.85% 79.34% 91.52% 80.58% 91.74% 78.93% 92.19% 80.17% 88.39% 78.93% 88.17% 81.41% 89.51% 77.69% 90.85% 73.14% 89.29% 78.10% 89.96% 75.62% 88.84% 79.34% 90.40% 74.79% 88.39% 79.34% 91.29% 80.58% 89.29% 82.23% 89.96% 81.82% 91.52% 79.75% 89.96% 73.55% 88.62% 79.34% 90.63% 78.10% 91.07% 78.93% 89.29% 76.03% 88.17% 77.27% 88.17% 78.10% 90.85%

Aciertos Prom. Total 85.80% 86.96% 87.25% 87.83% 87.54% 85.51% 84.93% 86.67% 86.23% 83.62% 85.80% 84.20% 86.52% 83.62% 87.10% 86.23% 87.25% 88.12% 86.38% 83.33% 86.67% 86.52% 85.65% 83.91% 84.35% 86.38%

L. Federico Bertona

Datos experimentales

171

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal creciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125

Max Mutacin 0.00125 0.00125 0.00125 0.00125 0.00125 0.00125 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Corrida 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Ent? NO NO NO NO NO NO SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO SI NO

Tiempo Prom. Ent. 921 924 924 922 921 925 266 899 898 896 902 898 901 898 897 896 895 900 896 906 901 897 895 897 350 903

Aciertos Aciertos Prom. Prom. Ent. Eval. 80.17% 89.51% 77.69% 90.85% 78.51% 90.18% 73.14% 87.95% 78.51% 88.62% 79.75% 88.39% 77.27% 95.31% 79.75% 95.09% 78.93% 94.87% 77.69% 93.97% 77.69% 95.31% 78.10% 94.87% 78.10% 93.08% 78.51% 93.97% 80.17% 94.20% 82.23% 93.30% 79.34% 94.87% 79.34% 93.53% 77.69% 94.20% 81.41% 94.87% 76.86% 94.42% 77.69% 94.87% 76.03% 95.09% 80.58% 95.31% 78.93% 95.76% 76.03% 94.20%

Aciertos Prom. Total 86.23% 86.23% 86.09% 82.75% 85.07% 85.36% 88.99% 89.71% 89.28% 88.26% 89.13% 88.99% 87.83% 88.55% 89.28% 89.42% 89.42% 88.55% 88.41% 90.14% 88.26% 88.84% 88.41% 90.14% 89.86% 87.83%

172

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125 0.000078125

Max Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Corrida 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Ent? NO NO NO SI NO NO NO NO NO SI NO NO NO NO NO NO SI NO NO NO NO NO NO NO NO NO

Tiempo Prom. Ent. 896 901 898 299 897 896 899 899 898 221 897 899 896 896 902 897 295 895 896 895 893 897 898 898 900 900

Aciertos Aciertos Prom. Prom. Ent. Eval. 79.75% 95.09% 79.34% 95.98% 78.51% 94.64% 80.58% 95.31% 77.69% 95.09% 78.51% 95.54% 80.99% 93.97% 80.17% 91.96% 76.86% 94.42% 78.51% 95.54% 77.27% 93.97% 79.75% 94.20% 79.75% 95.09% 78.93% 94.20% 78.93% 94.20% 77.27% 94.64% 77.69% 95.54% 80.17% 96.21% 78.93% 94.64% 78.93% 94.42% 75.21% 93.75% 80.58% 94.87% 78.10% 95.09% 77.69% 92.41% 78.51% 93.97% 78.51% 95.98%

Aciertos Prom. Total 89.71% 90.14% 88.99% 90.14% 88.99% 89.57% 89.42% 87.83% 88.26% 89.57% 88.12% 89.13% 89.71% 88.84% 88.84% 88.55% 89.28% 90.58% 89.13% 88.99% 87.25% 89.86% 89.13% 87.25% 88.55% 89.86%

L. Federico Bertona

Datos experimentales

173

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.000078125 0.000078125 0.000078125 0.000078125 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Max Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Corrida 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Ent? NO NO NO NO NO SI SI SI NO NO SI NO SI SI NO SI NO NO SI SI NO SI NO SI NO NO

Tiempo Prom. Ent. 898 895 897 899 898 299 310 250 897 897 204 896 225 200 900 328 903 897 306 298 897 268 894 271 897 898

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.93% 95.09% 76.45% 95.31% 80.58% 95.76% 79.34% 94.42% 77.69% 94.42% 79.34% 94.87% 80.58% 95.09% 79.75% 95.54% 78.93% 95.09% 80.58% 95.09% 76.45% 96.21% 78.93% 95.09% 77.69% 93.08% 80.99% 95.31% 77.69% 94.42% 77.69% 95.76% 79.34% 95.54% 78.93% 94.42% 77.27% 95.76% 79.75% 95.31% 81.82% 95.09% 76.86% 95.98% 80.99% 95.76% 80.17% 93.97% 80.58% 94.42% 77.69% 96.21%

Aciertos Prom. Total 89.42% 88.70% 90.43% 89.13% 88.55% 89.42% 90.00% 90.00% 89.42% 90.00% 89.28% 89.42% 87.68% 90.29% 88.55% 89.42% 89.86% 88.99% 89.28% 89.86% 90.43% 89.28% 90.58% 89.13% 89.57% 89.71%

174

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625 0.00015625

Max Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Corrida 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Ent? NO NO SI NO NO NO SI NO NO SI NO SI SI NO NO NO SI NO SI SI NO NO NO NO NO NO

Tiempo Prom. Ent. 898 899 311 898 902 896 226 904 895 265 901 286 305 896 898 896 296 896 196 235 900 897 897 897 898 897

Aciertos Aciertos Prom. Prom. Ent. Eval. 77.69% 95.09% 79.75% 95.31% 78.10% 95.09% 76.45% 93.08% 77.27% 92.41% 77.69% 94.42% 78.93% 94.87% 76.86% 95.54% 78.93% 93.75% 79.75% 93.75% 79.75% 93.97% 79.34% 95.31% 75.62% 95.76% 80.58% 95.31% 79.75% 95.31% 75.62% 93.30% 80.99% 96.21% 76.45% 91.74% 79.75% 95.76% 78.10% 96.43% 78.93% 95.31% 78.10% 95.54% 78.10% 94.42% 79.75% 95.31% 76.86% 92.63% 76.45% 95.54%

Aciertos Prom. Total 88.99% 89.86% 89.13% 87.25% 87.10% 88.55% 89.28% 88.99% 88.55% 88.84% 88.99% 89.71% 88.70% 90.14% 89.86% 87.10% 90.87% 86.38% 90.14% 90.00% 89.57% 89.42% 88.70% 89.86% 87.10% 88.84%

L. Federico Bertona

Datos experimentales

175

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.00015625 0.00015625 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Max Mutacin 0.0003125 0.0003125 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Corrida 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Ent? NO SI SI NO SI NO SI NO NO NO NO NO SI SI NO SI SI NO SI SI NO SI SI SI NO NO

Tiempo Prom. Ent. 895 205 226 902 223 901 175 899 897 905 900 900 261 180 904 185 279 902 260 356 905 346 264 291 909 909

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.93% 95.98% 80.58% 96.21% 79.75% 95.98% 79.75% 93.53% 80.17% 96.21% 77.27% 95.98% 76.86% 93.75% 78.93% 95.09% 77.69% 93.75% 75.21% 92.86% 75.62% 93.30% 78.10% 95.09% 76.03% 93.53% 77.69% 94.42% 79.75% 95.98% 79.34% 95.09% 78.51% 95.54% 78.10% 95.31% 78.93% 95.09% 78.10% 95.31% 78.51% 94.64% 77.69% 94.20% 80.58% 96.21% 79.34% 95.76% 77.69% 95.31% 80.17% 95.09%

Aciertos Prom. Total 90.00% 90.72% 90.29% 88.70% 90.58% 89.42% 87.83% 89.42% 88.12% 86.67% 87.10% 89.13% 87.39% 88.55% 90.29% 89.57% 89.57% 89.28% 89.42% 89.28% 88.99% 88.41% 90.72% 90.00% 89.13% 89.86%

176

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Funcin Mutacin Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente Mutacin lineal decreciente

Min Mutacin 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125 0.0003125

Max Mutacin 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625 0.000625

Corrida 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Ent? NO SI SI NO SI NO SI NO NO NO SI SI SI NO SI NO SI SI SI SI SI SI SI SI SI NO

Tiempo Prom. Ent. 901 255 165 900 263 902 216 905 900 896 245 281 299 905 292 904 283 323 234 202 171 291 289 283 224 904

Aciertos Aciertos Prom. Prom. Ent. Eval. 78.51% 92.86% 80.17% 94.42% 78.93% 95.09% 80.99% 95.76% 78.93% 96.65% 79.34% 93.30% 76.86% 95.31% 78.51% 94.64% 79.34% 95.31% 80.99% 93.53% 78.93% 95.09% 78.51% 96.88% 74.79% 95.76% 80.58% 96.43% 79.34% 95.98% 80.99% 95.31% 78.93% 95.54% 77.69% 93.75% 77.69% 94.64% 79.75% 94.87% 79.34% 96.21% 74.79% 96.21% 79.34% 95.98% 79.34% 95.54% 78.10% 92.86% 80.17% 95.31%

Aciertos Prom. Total 87.83% 89.42% 89.42% 90.58% 90.43% 88.41% 88.84% 88.99% 89.71% 89.13% 89.42% 90.43% 88.41% 90.87% 90.14% 90.29% 89.71% 88.12% 88.70% 89.57% 90.29% 88.70% 90.14% 89.86% 87.68% 90.00%

L. Federico Bertona

Datos experimentales

177

Entrenamiento de redes neuronales basado en algoritmos evolutivos

A.6. Valores de inicializacin Funcin Inicializacin Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Corrida Ent? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 191 77.27% 96.21% 89.57% 190 80.99% 96.88% 91.30% 219 80.17% 96.65% 90.87% 169 77.69% 95.31% 89.13% 251 78.10% 96.43% 90.00% 181 80.17% 96.21% 90.58% 226 81.41% 97.32% 91.74% 528 79.75% 96.88% 90.87% 138 77.27% 96.65% 89.86% 135 80.99% 96.43% 91.01% 154 77.27% 95.98% 89.42% 198 80.99% 96.21% 90.87% 181 79.34% 96.21% 90.29% 181 78.51% 96.43% 90.14% 217 77.27% 96.88% 90.00% 154 80.17% 94.64% 89.57% 250 80.58% 96.43% 90.87% 237 78.93% 96.43% 90.29% 142 77.27% 94.87% 88.70% 162 77.69% 96.43% 89.86% 172 77.27% 96.21% 89.57% 163 77.69% 95.31% 89.13%

178

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-1,1] L. Federico Bertona

Corrida Ent? 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 744 80.17% 97.32% 91.30% 145 78.51% 96.21% 90.00% 253 76.86% 96.88% 89.86% 173 78.93% 96.21% 90.14% 238 73.97% 95.76% 88.12% 175 76.86% 95.54% 88.99% 154 78.51% 96.21% 90.00% 388 79.34% 97.10% 90.87% 197 79.75% 96.43% 90.58% 351 77.69% 97.10% 90.29% 227 79.75% 96.88% 90.87% 234 79.75% 96.88% 90.87% 175 80.58% 96.65% 91.01% 685 80.99% 96.43% 91.01% 176 78.51% 96.21% 90.00% 204 78.10% 96.21% 89.86% 191 76.03% 96.88% 89.57% 171 80.17% 95.54% 90.14% 195 77.69% 95.54% 89.28% 139 76.45% 95.31% 88.70% 193 82.23% 95.98% 91.16% 201 77.69% 96.88% 90.14% 256 78.51% 96.88% 90.43% 147 76.45% 96.43% 89.42% 236 79.34% 96.43% 90.43% 172 77.69% 96.21% 89.71% 195 76.03% 96.43% 89.28% 179

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-1,1] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] 180

Corrida Ent? 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 161 78.10% 95.76% 89.57% 190 80.99% 96.65% 91.16% 199 80.17% 95.76% 90.29% 168 77.69% 96.43% 89.86% 236 79.34% 96.88% 90.72% 219 78.10% 95.76% 89.57% 218 80.58% 96.21% 90.72% 240 74.79% 95.31% 88.12% 243 80.17% 97.32% 91.30% 246 78.10% 97.10% 90.43% 373 78.51% 95.54% 89.57% 163 76.45% 95.98% 89.13% 196 80.99% 96.88% 91.30% 207 78.10% 95.98% 89.71% 164 78.93% 96.88% 90.58% 251 79.34% 96.21% 90.29% 193 76.03% 95.76% 88.84% 282 78.10% 96.21% 89.86% 149 76.45% 95.98% 89.13% 272 78.10% 96.21% 89.86% 196 79.34% 94.64% 89.28% 346 80.58% 96.65% 91.01% 189 77.27% 96.43% 89.71% 170 76.03% 96.43% 89.28% 191 75.62% 95.31% 88.41% 275 74.38% 95.54% 88.12% 214 76.86% 96.43% 89.57% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random Selectiva [-0.01,0.01] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] L. Federico Bertona

Corrida Ent? 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 306 78.93% 95.98% 90.00% 248 78.51% 96.43% 90.14% 310 80.99% 97.10% 91.45% 323 79.34% 96.43% 90.43% 282 75.21% 95.09% 88.12% 158 78.51% 95.76% 89.71% 319 78.93% 96.43% 90.29% 421 76.45% 97.10% 89.86% 214 78.10% 96.21% 89.86% 248 79.34% 96.43% 90.43% 278 79.75% 97.32% 91.16% 173 78.10% 95.09% 89.13% 224 78.51% 97.10% 90.58% 266 75.21% 96.43% 88.99% 226 76.03% 95.09% 88.41% 135 76.03% 95.54% 88.70% 188 78.93% 95.54% 89.71% 202 75.21% 95.76% 88.55% 309 79.34% 96.88% 90.72% 182 80.17% 95.76% 90.29% 187 78.51% 95.31% 89.42% 198 78.51% 95.98% 89.86% 228 76.45% 95.98% 89.13% 244 74.79% 96.65% 88.99% 162 78.93% 96.21% 90.14% 197 78.93% 95.09% 89.42% 154 78.10% 96.65% 90.14% 181

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] 182

Corrida Ent? 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 417 79.34% 96.43% 90.43% 214 77.27% 95.54% 89.13% 318 80.99% 97.32% 91.59% 147 80.17% 96.43% 90.72% 157 76.86% 95.98% 89.28% 175 77.69% 96.65% 90.00% 340 76.86% 96.43% 89.57% 270 76.45% 96.21% 89.28% 281 79.34% 96.65% 90.58% 169 76.86% 96.21% 89.42% 239 80.17% 97.10% 91.16% 191 80.58% 96.43% 90.87% 239 76.86% 96.88% 89.86% 216 79.34% 96.21% 90.29% 255 79.75% 97.10% 91.01% 302 78.93% 97.32% 90.87% 230 79.34% 95.98% 90.14% 485 78.10% 92.86% 87.68% 154 75.62% 95.76% 88.70% 163 79.75% 96.43% 90.58% 166 79.34% 94.87% 89.42% 269 79.75% 96.88% 90.87% 232 80.58% 95.98% 90.58% 152 79.75% 97.32% 91.16% 174 80.17% 96.65% 90.87% 265 80.17% 96.88% 91.01% 138 78.93% 96.65% 90.43% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-1,1] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] L. Federico Bertona

Corrida Ent? 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 151 78.51% 96.65% 90.29% 121 78.51% 95.09% 89.28% 184 76.86% 95.76% 89.13% 163 77.27% 94.64% 88.55% 162 79.34% 96.65% 90.58% 138 76.45% 96.43% 89.42% 342 75.62% 95.31% 88.41% 209 77.69% 96.21% 89.71% 151 81.41% 96.88% 91.45% 137 76.03% 95.76% 88.84% 197 78.51% 96.43% 90.14% 171 79.75% 96.88% 90.87% 163 75.62% 96.21% 88.99% 144 78.93% 97.10% 90.72% 150 78.51% 95.54% 89.57% 229 76.86% 96.21% 89.42% 205 76.03% 96.43% 89.28% 166 78.10% 96.21% 89.86% 168 79.75% 96.88% 90.87% 211 76.86% 96.21% 89.42% 207 78.93% 95.98% 90.00% 236 75.62% 93.97% 87.54% 227 81.82% 95.98% 91.01% 254 74.79% 95.09% 87.97% 302 78.10% 96.43% 90.00% 379 77.27% 96.88% 90.00% 240 76.86% 95.98% 89.28% 183

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] 184

Corrida Ent? 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 215 79.34% 96.65% 90.58% 222 78.10% 96.21% 89.86% 198 78.10% 96.21% 89.86% 185 78.10% 96.43% 90.00% 184 80.17% 95.54% 90.14% 246 75.62% 95.98% 88.84% 204 79.34% 96.65% 90.58% 161 75.62% 95.09% 88.26% 155 77.27% 96.43% 89.71% 323 81.82% 96.65% 91.45% 202 78.93% 96.43% 90.29% 280 79.75% 97.10% 91.01% 186 73.97% 95.98% 88.26% 227 78.93% 95.31% 89.57% 461 73.97% 96.43% 88.55% 215 78.10% 96.88% 90.29% 273 80.58% 96.88% 91.16% 150 74.79% 96.21% 88.70% 244 78.51% 95.54% 89.57% 240 80.58% 96.65% 91.01% 233 78.51% 96.65% 90.29% 214 77.69% 94.87% 88.84% 185 76.86% 95.76% 89.13% 211 79.34% 96.21% 90.29% 377 79.34% 97.10% 90.87% 453 77.27% 96.43% 89.71% 232 79.75% 96.21% 90.43% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random [-0.01,0.01] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] L. Federico Bertona

Corrida Ent? 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 236 73.55% 95.98% 88.12% 315 76.45% 95.54% 88.84% 190 78.10% 96.88% 90.29% 259 76.03% 96.65% 89.42% 172 76.86% 96.65% 89.71% 194 78.51% 96.65% 90.29% 179 77.69% 96.65% 90.00% 324 76.86% 96.65% 89.71% 424 77.69% 96.88% 90.14% 224 76.45% 96.88% 89.71% 235 78.10% 96.88% 90.29% 261 76.03% 95.31% 88.55% 351 78.51% 96.21% 90.00% 262 78.51% 96.43% 90.14% 205 79.75% 95.98% 90.29% 299 78.51% 96.65% 90.29% 237 75.21% 95.98% 88.70% 290 79.75% 96.88% 90.87% 299 80.17% 95.98% 90.43% 154 78.10% 95.98% 89.71% 239 80.58% 95.76% 90.43% 222 79.75% 96.43% 90.58% 159 75.21% 95.54% 88.41% 202 78.51% 95.98% 89.86% 154 78.10% 95.98% 89.71% 238 79.75% 97.10% 91.01% 180 78.93% 95.31% 89.57% 185

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] 186

Corrida Ent? 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 162 76.03% 95.09% 88.41% 145 76.03% 96.88% 89.57% 175 76.45% 96.21% 89.28% 207 78.93% 96.21% 90.14% 197 75.21% 96.21% 88.84% 139 80.17% 96.43% 90.72% 209 76.45% 95.54% 88.84% 172 81.41% 97.10% 91.59% 222 76.03% 96.43% 89.28% 164 78.10% 95.31% 89.28% 217 77.69% 96.43% 89.86% 231 76.45% 96.43% 89.42% 256 79.34% 96.65% 90.58% 208 78.93% 95.76% 89.86% 160 76.86% 95.09% 88.70% 329 76.45% 95.98% 89.13% 273 75.62% 95.09% 88.26% 183 80.99% 96.88% 91.30% 322 73.14% 95.76% 87.83% 191 77.27% 96.43% 89.71% 182 76.86% 95.09% 88.70% 185 78.51% 96.43% 90.14% 252 76.45% 95.31% 88.70% 303 78.51% 95.98% 89.86% 345 78.93% 95.98% 90.00% 187 80.58% 96.43% 90.87% 278 78.51% 95.76% 89.71% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-0.1,0.1] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] L. Federico Bertona

Corrida Ent? 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI NO SI SI SI NO SI NO SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 194 78.51% 96.43% 90.14% 186 77.27% 95.09% 88.84% 277 78.93% 96.65% 90.43% 197 78.10% 96.43% 90.00% 254 76.03% 95.54% 88.70% 205 81.82% 96.21% 91.16% 278 80.58% 96.43% 90.87% 202 79.75% 96.21% 90.43% 252 80.17% 95.98% 90.43% 239 78.51% 96.88% 90.43% 267 75.62% 97.10% 89.57% 287 80.17% 95.98% 90.43% 183 78.10% 95.31% 89.28% 550 77.27% 96.88% 90.00% 255 75.21% 96.43% 88.99% 775 78.93% 97.32% 90.87% 311 76.45% 95.98% 89.13% 219 78.93% 96.88% 90.58% 252 78.93% 96.43% 90.29% 775 79.75% 95.98% 90.29% 362 76.45% 96.21% 89.28% 774 78.51% 89.73% 85.80% 236 78.51% 95.98% 89.86% 302 76.45% 96.21% 89.28% 335 75.21% 97.32% 89.57% 441 82.23% 96.88% 91.74% 159 77.69% 96.65% 90.00% 187

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] 188

Corrida Ent? 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 SI NO NO NO NO NO SI SI SI SI SI SI SI NO SI SI SI NO SI SI SI SI NO SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 333 79.75% 97.32% 91.16% 775 81.82% 96.43% 91.30% 774 77.69% 96.65% 90.00% 773 81.41% 96.43% 91.16% 776 80.58% 96.65% 91.01% 774 82.64% 96.21% 91.45% 234 79.34% 95.09% 89.57% 433 77.27% 96.65% 89.86% 302 75.62% 97.10% 89.57% 362 80.17% 96.21% 90.58% 232 79.75% 95.98% 90.29% 145 78.93% 96.43% 90.29% 232 83.06% 96.21% 91.59% 774 80.17% 96.65% 90.87% 249 79.34% 97.10% 90.87% 551 78.51% 96.43% 90.14% 267 76.45% 95.98% 89.13% 774 80.99% 96.65% 91.16% 205 78.93% 96.88% 90.58% 716 76.03% 96.65% 89.42% 233 82.23% 96.43% 91.45% 360 74.79% 94.87% 87.83% 773 80.17% 95.31% 90.00% 607 77.27% 97.54% 90.43% 763 79.34% 96.65% 90.58% 159 79.75% 95.98% 90.29% 229 78.93% 94.64% 89.13% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random Selectiva [-5,5] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] L. Federico Bertona

Corrida Ent? 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 SI SI SI SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 710 80.17% 96.65% 90.87% 280 80.99% 95.98% 90.72% 469 75.21% 95.31% 88.26% 402 76.03% 95.76% 88.84% 776 75.62% 90.85% 85.51% 340 80.58% 97.32% 91.45% 162 78.51% 96.65% 90.29% 236 76.86% 95.54% 88.99% 200 79.34% 96.43% 90.43% 225 75.21% 93.97% 87.39% 252 80.99% 96.65% 91.16% 310 78.93% 95.76% 89.86% 177 79.34% 96.88% 90.72% 185 78.51% 96.43% 90.14% 204 80.58% 96.88% 91.16% 251 78.10% 96.21% 89.86% 184 76.03% 96.43% 89.28% 280 79.75% 96.88% 90.87% 151 76.03% 94.64% 88.12% 184 79.75% 95.54% 90.00% 185 77.27% 95.54% 89.13% 245 78.10% 97.32% 90.58% 336 78.51% 95.98% 89.86% 153 77.27% 95.31% 88.99% 252 76.03% 95.31% 88.55% 734 80.17% 96.88% 91.01% 175 78.10% 95.98% 89.71% 189

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] 190

Corrida Ent? 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 315 80.99% 96.65% 91.16% 298 78.10% 96.43% 90.00% 229 75.62% 94.87% 88.12% 232 76.45% 95.98% 89.13% 223 76.86% 95.98% 89.28% 195 78.93% 96.43% 90.29% 311 79.34% 95.31% 89.71% 217 78.51% 96.21% 90.00% 214 77.27% 95.98% 89.42% 216 80.17% 96.88% 91.01% 216 77.69% 95.98% 89.57% 309 78.93% 95.09% 89.42% 181 78.10% 96.21% 89.86% 196 74.79% 95.54% 88.26% 236 77.27% 93.75% 87.97% 345 78.51% 97.10% 90.58% 213 76.03% 96.65% 89.42% 255 81.82% 95.76% 90.87% 158 80.17% 94.87% 89.71% 256 79.75% 96.88% 90.87% 183 80.17% 96.65% 90.87% 175 75.21% 95.09% 88.12% 263 74.38% 95.09% 87.83% 285 77.27% 96.43% 89.71% 236 77.69% 96.88% 90.14% 226 76.86% 96.65% 89.71% 226 77.69% 96.43% 89.86% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-0.1,0.1] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] L. Federico Bertona

Corrida Ent? 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SI SI SI SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 233 79.75% 96.65% 90.72% 189 71.90% 94.87% 86.81% 223 77.69% 96.43% 89.86% 217 79.34% 96.88% 90.72% 776 80.17% 95.98% 90.43% 776 80.58% 94.64% 89.71% 774 78.51% 94.64% 88.99% 773 77.69% 92.63% 87.39% 782 74.79% 93.97% 87.25% 776 72.73% 96.43% 88.12% 774 74.79% 95.98% 88.55% 772 78.51% 93.30% 88.12% 780 76.45% 95.54% 88.84% 775 81.82% 96.65% 91.45% 775 78.93% 94.87% 89.28% 775 74.79% 94.87% 87.83% 777 74.38% 90.85% 85.07% 775 79.34% 93.08% 88.26% 776 75.21% 93.30% 86.96% 777 78.51% 96.21% 90.00% 774 77.27% 96.88% 90.00% 779 72.31% 87.72% 82.32% 774 82.64% 93.97% 90.00% 774 82.23% 96.65% 91.59% 775 76.03% 96.43% 89.28% 777 79.75% 97.10% 91.01% 776 80.17% 95.98% 90.43% 191

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Funcin Inicializacin Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] Inicializacin Random [-5,5] 192

Corrida Ent? 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 NO NO NO SI NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO SI NO NO NO NO NO NO

Tiempo Prom. Aciertos Aciertos Prom. Aciertos Prom. Ent. Prom. Eval. Ent. Total 775 77.27% 96.88% 90.00% 774 78.51% 96.65% 90.29% 779 76.45% 92.86% 87.10% 644 82.23% 97.10% 91.88% 779 80.99% 95.76% 90.58% 773 78.93% 95.54% 89.71% 774 78.51% 93.30% 88.12% 775 79.75% 94.42% 89.28% 780 78.51% 95.54% 89.57% 776 79.75% 94.42% 89.28% 775 79.34% 96.43% 90.43% 775 73.97% 87.72% 82.90% 777 79.34% 95.09% 89.57% 775 75.62% 97.32% 89.71% 780 76.45% 95.76% 88.99% 775 75.62% 93.08% 86.96% 774 78.93% 93.08% 88.12% 775 80.99% 94.64% 89.86% 773 79.34% 95.31% 89.71% 775 79.34% 97.32% 91.01% 641 78.10% 97.32% 90.58% 780 79.75% 94.87% 89.57% 776 78.93% 95.31% 89.57% 777 79.34% 95.54% 89.86% 774 76.45% 96.21% 89.28% 774 76.86% 96.21% 89.42% 773 77.69% 95.98% 89.57% L. Federico Bertona

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

A.7. Comparacin de ambos mtodos Tipo Algoritmo Entrenamiento Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico L. Federico Bertona Corrida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI Tiempo Prom. Ent. 711 815 498 271 351 737 301 287 316 474 478 291 508 389 485 468 327 275 458 294 318 365 352 318 260 Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 83.33% 95.29% 92.90% 83.33% 95.47% 93.04% 86.96% 94.38% 92.90% 78.99% 91.49% 88.99% 79.71% 92.21% 89.71% 84.78% 95.47% 93.33% 80.43% 92.93% 90.43% 81.16% 92.75% 90.43% 84.06% 94.57% 92.46% 82.61% 94.75% 92.32% 78.26% 94.20% 91.01% 84.06% 94.02% 92.03% 80.43% 94.20% 91.45% 84.78% 95.11% 93.04% 84.06% 94.57% 92.46% 84.06% 94.57% 92.46% 84.78% 94.75% 92.75% 84.06% 94.57% 92.46% 85.51% 95.47% 93.48% 82.61% 93.30% 91.16% 84.78% 93.12% 91.45% 83.33% 93.84% 91.74% 78.99% 94.38% 91.30% 82.61% 94.20% 91.88% 87.68% 93.84% 92.61% 193

Datos experimentales

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Algoritmo Entrenamiento Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Algoritmo gentico Red Neuronal Red Neuronal

Corrida 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 556 637 819 408 207 460 524 424 275 403 279 313 248 275 392 454 226 339 888 436 338 352 410 274 599 568 520

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 80.43% 93.66% 91.01% 84.06% 95.29% 93.04% 85.51% 95.65% 93.62% 84.06% 93.12% 91.30% 81.88% 94.57% 92.03% 81.16% 94.02% 91.45% 83.33% 92.39% 90.58% 76.09% 92.75% 89.42% 80.43% 94.38% 91.59% 79.71% 93.48% 90.72% 80.43% 93.84% 91.16% 82.61% 93.84% 91.59% 84.78% 94.20% 92.32% 83.33% 92.93% 91.01% 78.99% 94.93% 91.74% 84.06% 94.93% 92.75% 84.78% 94.02% 92.17% 85.51% 94.20% 92.46% 81.88% 93.84% 91.45% 83.33% 94.20% 92.03% 81.88% 93.48% 91.16% 84.78% 95.29% 93.19% 79.71% 94.02% 91.16% 81.88% 93.30% 91.01% 84.78% 94.57% 92.61% 84.06% 93.48% 91.59% 81.88% 92.93% 90.72%

194

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Algoritmo Entrenamiento Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal

Corrida 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Ent? SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 571 573 531 894 686 481 528 704 791 436 703 883 527 482 450 571 763 366 459 448 881 763 395 482 392 1,192 378

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 84.06% 93.66% 91.74% 84.78% 94.75% 92.75% 84.78% 95.29% 93.19% 81.16% 94.75% 92.03% 84.78% 95.47% 93.33% 84.06% 94.38% 92.32% 84.06% 94.02% 92.03% 78.26% 95.11% 91.74% 84.78% 94.57% 92.61% 84.78% 94.57% 92.61% 79.71% 94.20% 91.30% 78.99% 93.30% 90.43% 85.51% 94.75% 92.90% 81.88% 94.57% 92.03% 84.06% 94.57% 92.46% 84.78% 94.93% 92.90% 85.51% 94.57% 92.75% 86.96% 94.93% 93.33% 82.61% 94.93% 92.46% 76.81% 92.93% 89.71% 84.78% 94.57% 92.61% 83.33% 94.20% 92.03% 84.06% 94.02% 92.03% 84.06% 94.75% 92.61% 83.33% 94.93% 92.61% 81.88% 92.93% 90.72% 82.61% 94.57% 92.17%

L. Federico Bertona

Datos experimentales

195

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Tipo Algoritmo Entrenamiento Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal Red Neuronal

Corrida 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Ent? SI NO SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI SI

Tiempo Prom. Ent. 683 2,917 474 338 841 682 410 1,560 571 575 463 633 1,046 444 663 439 927 489 656 1,531 570

Aciertos Aciertos Prom. Aciertos Prom. Prom. Eval. Ent. Total 85.51% 94.93% 93.04% 84.78% 95.47% 93.33% 84.78% 93.66% 91.88% 84.78% 94.02% 92.17% 80.43% 95.29% 92.32% 85.51% 95.29% 93.33% 81.88% 92.21% 90.14% 84.06% 93.48% 91.59% 80.43% 93.84% 91.16% 82.61% 94.38% 92.03% 83.33% 94.75% 92.46% 83.33% 94.75% 92.46% 81.88% 93.84% 91.45% 84.06% 94.75% 92.61% 84.06% 92.57% 90.87% 84.06% 95.29% 93.04% 85.51% 94.93% 93.04% 83.33% 92.57% 90.72% 84.06% 93.84% 91.88% 81.88% 95.65% 92.90% 81.88% 93.66% 91.30%

196

Datos experimentales

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Apndice B: Metodologa de software


El presente anexo tiene como objetivo describir el proceso de ingeniera de software aplicado en este trabajo para obtener los resultados y conclusiones que se expusieron en los captulos 7 y 8. En la seccin B.1 se describen los requerimientos en los cuales se ha basado el desarrollo de este software. En la seccin B.2 se presenta el resultado del anlisis de los requerimientos a travs de casos de uso. En la seccin B.3 se presenta el diseo de la solucin detallando los programas realizados, tomando como base lo expuesto en la seccin de anlisis y adjuntando las estructuras de datos y las estructuras de los archivos generados por estos programas. En la seccin B.4 se muestra la pantalla del sistema y se describen los comandos implementados mediante los cuales el usuario interacta con ste. Tambin se presentan cada una de las pruebas realizadas para verificar que el software entrega los resultados esperados. Finalmente, en la seccin B.5 se detallan algunas tareas de mantenimiento y se hace una breve resea sobre la gestin de configuracin del software.

B.1. Requerimientos
Como objetivo principal del trabajo se ha determinado que el sistema debe poder entrenar redes neuronales con conexin hacia delante. Adems deber dar al usuario la posibilidad de decidir qu algoritmo de entrenamiento utilizar. Finalmente deber generar estadsticas detalladas sobre el proceso de entrenamiento que permitan realizar comparaciones entre ambos mtodos.

B.2. Anlisis
A continuacin se presentan los casos de uso [Booch et al., 2000] ms relevantes obtenidos durante el anlisis del software. Los mismos corresponden a la interaccin con el usuario del sistema, quien selecciona las condiciones en que se realizan los distintos experimentos.

B.2.1. Seleccionar topologa


En este caso de uso, como se observa en la Figura B.1, el actor que inicia el proceso es el usuario del sistema, quien decide la topologa de la red que se utilizarn durante los prximos experimentos.

L. Federico Bertona

Metodologa de software

197

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura B.1. Seleccionar topologa

B.2.2. Seleccionar tipo de entrenamiento


Tambin en este caso de uso, el actor que inicia el proceso es el usuario del sistema, quien selecciona uno de los posibles algoritmos de entrenamiento para utilizar en los prximos experimentos. Tambin selecciona la cota mxima de error admisible. Esto se observa en la Figura B. 2.

Figura B.2. Seleccionar tipo de entrenamiento

B.2.3. Configurar algoritmo de entrenamiento


Nuevamente en este caso de uso, el actor que inicia el proceso es el usuario del sistema, como se muestra en la Figura B.3. El usuario del sistema selecciona los distintos parmetros con los que desea ejecutar el algoritmo de entrenamiento, los cuales variarn de acuerdo al algoritmo de entrenamiento seleccionado en el caso de uso anterior.

Figura B.3. Configurar algoritmo de entrenamiento

B.2.4. Cargar ejemplos de entrenamiento


Tambin en este caso de uso, el actor que inicia el proceso es el usuario del sistema, quien dar de alta el conjunto de ejemplos de entrenamiento que se utilizarn para entrenar la red neuronal. Para ello dispone de dos opciones, dar de alta manualmente cada uno de los ejemplos o importar el listado de ejemplos desde un archivo. La Figura B.4 muestra grficamente lo dicho anteriormente.

198

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura B.4. Cargar ejemplos de entrenamiento

B.2.5. Cargar ejemplos de evaluacin


En este caso de uso, el actor que inicia el proceso es el usuario del sistema, quien dar de alta el conjunto de ejemplos de evaluacin que se utilizarn para evaluar la calidad de la red neuronal una vez entrenada. Para ello dispone de dos opciones, dar de alta manualmente cada uno de los ejemplos o importar el listado de ejemplos desde un archivo. Esta situacin se representa grficamente en la Figura B.5.

Figura B.5. Cargar ejemplos de evaluacin

B.2.6. Entrenar red neuronal


Finalmente, como se muestra en la Figura B.6, en este caso de uso el actor (usuario del sistema) inicia el proceso de entrenamiento de la red neuronal. Dicho entrenamiento se realizar utilizando el mtodo de entrenamiento seleccionado mediante los casos de uso Seleccionar tipo de entrenamiento y Configurar algoritmo de entrenamiento. A su vez, se generan las estadsticas sobre el desempeo del mtodo a lo largo del proceso.

Figura B.6. Entrenar Red Neuronal

L. Federico Bertona

Metodologa de software

199

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.3. Diseo
En esta seccin se describen las pautas seguidas para el diseo del sistema de manera tal de cumplir con las funcionalidades establecidas en la etapa de anlisis.

B.3.1. Plataforma
El sistema se ha implementado utilizando el lenguaje de programacin C++. El programa utilizado para realizar todo el desarrollo del sistema fue Visual C++ 6.0. Para desarrollar el sistema y realizar los experimentos, se seleccion un equipo Intel Pentium IV, 2.8 GHz con 512 MB de memoria corriendo un Sistema Operativo Windows 2000 SP4. B.3.1.1. Estructura de directorios El sistema se desarrollo utilizando la siguiente estructura de directorios, la cual deber ser respetada para instalar y compilar los archivos fuentes. Tesis Debug MySources Release Res B.3.1.2. Instalacin de los archivos fuente del sistema El sistema desarrollado para esta tesis se encuentra distribuido en varios archivos fuente. Cada uno de ellos implementa un mdulo particular. Para su compilacin se deben instalar los siguientes archivos y directorios, de acuerdo a lo indicado en la tabla B.1. Directorio Archivo Dilogos.cpp Dilogos.h EasyTrain.cpp EasyTrain.dsp EasyTrain.dsw EasyTrain.h EasyTrain.rc EasyTrain.reg EasyTrainDoc.cpp EasyTrainDoc.h EasyTrainView.cpp EasyTrainView.h MainFrm.cpp MainFrm.h resource.h Metodologa de software L. Federico Bertona

Tesis

200

Entrenamiento de redes neuronales basado en algoritmos evolutivos Directorio Archivo AlgoritmoEntrenamiento.cpp AlgoritmoEntrenamiento.h AlgoritmoGenetico.cpp AlgoritmoGenetico.h Capa.cpp Capa.h Cromosoma.cpp Cromosoma.h Cruza.cpp Cruza.h Ejemplo.cpp Ejemplo.h Evaluacion.cpp Evaluacion.h Include.cpp Include.h Inicializar.cpp Inicializar.h Lista.cpp Lista.h ListaCromosomas.cpp ListaCromosomas.h ListaEjemplos.cpp ListaEjemplos.h Mutacion.cpp Mutacion.h Objetos.h Rrnn.cpp Rrnn.h Seleccion.cpp Seleccion.h StdAfx.cpp StdAfx.h EasyTrain.ico EasyTrainDoc.ico Toolbar.bmp Tabla B.1. Estructura de archivos

MySources

Res

Los directorios Debug y Release inicialmente se encuentran vacos, y son utilizados para guardar archivos intermedios durante el proceso de compilacin de los archivos fuente.

B.3.2. Archivos y bloques constitutivos del sistema


El sistema est formado por varias capas. Esta divisin en capas o mdulos se realizo para facilitar el desarrollo del sistema. Se utilizo un enfoque L. Federico Bertona Metodologa de software 201

Entrenamiento de redes neuronales basado en algoritmos evolutivos ascendente, desarrollando inicialmente capas con funcionalidades bsicas, las cuales se integran en capas superiores para cumplir con las funcionalidades necesarias. Cada uno de estos mdulos est contenido en un archivo fuente individual, que se suma a los archivos que se generan automticamente en todo proyecto de Visual C++. El paradigma de programacin utilizado fue la programacin orientada a objetos. B.3.2.1. Archivos generados por Visual C++ El siguiente conjunto de archivos se genera automticamente durante la generacin de un nuevo proyecto. Estos archivos se modificaron a travs de la interfaz grfica (GUI) del sistema as como tambin modificando el cdigo fuente de los mismos. Las funciones principales de estos archivos estn relacionadas con la interaccin entre el usuario y el sistema. Dado que las clases que implementan no estn directamente relacionadas con el objetivo de esta tesis, se explican brevemente la funcin de cada archivo y cuando se considere necesario se comentarn los mtodos ms importantes. A continuacin se hace una referencia a las mismas:

Dilogos.cpp: En este archivo se implementan las clases relacionadas con los cuadros de dilogos de la aplicacin. En cada clase se implementa el comportamiento de un cuadro de dilogo frente a cada una de las acciones del usuario. Los cuadros de dilogo del sistema permiten al usuario el ingreso de datos y la configuracin de los mtodos de entrenamiento. Dilogos.h: Es en este archivo donde se definen las clases relacionadas con cada uno de los cuadros de dilogo que se implementan en el sistema. En esta definicin se declara para cada clase cual es la definicin grfica que se utilizar (y que se define en el archivo EasyTrain.rc) EasyTrain.cpp: Incluye la implementacin de la clase CEasyTrainApp. El mtodo ms importante, InitInstance, contiene la inicializacin de la aplicacin. EasyTrain.dsp: Este archivo define el proyecto en Visual C++. Contiene la estructura de archivos y carpetas utilizadas en el proyecto. EasyTrain.dsw: Este archivo define el espacio de trabajo (Workspace) donde se encontrar el proyecto. El espacio de trabajo es el objeto de mayor nivel en Visual C++ y permite agrupar uno o ms proyectos relacionados en un ambiente comn. EasyTrain.h: Se realiza la definicin de la clase CEasyTrainApp. Esta clase es muy importante ya que hereda las caractersticas de la clase CWinApp (define el funcionamiento bsico de una aplicacin en el entorno Windows)
202 Metodologa de software L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

EasyTrain.rc: Este archivo contiene la definicin grfica de cada uno de los objetos que hacen a la GUI del sistema. Se definen los cuadros de dilogo, las barras de herramienta, etc. EasyTrain.reg: Este archivo se utiliza para definir las entradas que se ingresan al registro de Windows. En este caso en particular las entradas que se ingresarn al registro definen la extensin de archivos default y permiten abrir archivos mediante doble clicks. EasyTrainDoc.cpp: En este archivo se implementa la clase CEasyTrainDoc. Entre sus mtodos ms importantes se encuentran la serializacin de documentos (guardar y abrir documentos) y la generacin de nuevos documentos. EasyTrainDoc.h: En este archivo se define la clase CEasyTrainDoc. Esta clase ser la encargada de la manipulacin de los datos de la aplicacin. EasyTrainView.cpp: En este archivo se realiza la implementacin de la clase CEasyTrainView. Su funcin principal es desplegar grficamente la informacin en pantalla (muestra el conjunto de ejemplos, la representacin grfica de la topologa de la red neuronal, etc.). Otos mtodos muy importantes definidos en esta clase son los referentes al manejo de los mensajes generados a travs del men. Para cada una de las opciones del men se gener un mtodo encargado de procesar el mensaje. EasyTrainView.h: Este archivo contiene la definicin de la clase CEasyTrainView. Esta clase se utiliza para el despliegue de datos en pantalla. A su vez se definen en esta clase los manejadores de men. MainFrm.cpp: Contiene la implementacin de la clase CMainFrame. El mtodo ms importante es OnCreate donde se definen las caractersticas de la ventana principal. MainFrm.h: Contiene la definicin de la clase CMainFrame. Esta clase define el marco donde se dibuja la ventana principal del sistema. Resource.h: En este archivo se encuentran todas las constantes referentes a la GUI del sistema desarrollado. Se definen los identificadores de los objetos grficos del sistema. StdAfx.h: Archivo de cabeceras. Permite incluir cabeceras comunes. StdAfx.cpp: Incluye al archivo StdAfx.h para poder utilizar todas las cabeceras precompiladas de Visual C++.

L. Federico Bertona

Metodologa de software

203

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.3.2.2. Archivos generados para este trabajo El siguiente conjunto de archivos definen las funcionalidades ms importantes desarrolladas en este trabajo, y se describen a continuacin:

AlgoritmoEntrenamiento.cpp: En este archivo se realiza el desarrollo de la clase CAlgoritmoEntrenamiento, utilizando el soporte provisto por las clases CRRNN y CAlgoritmoGenetico. El desarrollo de este conjunto de mtodos es sencillo, ya que gran parte de la funcionalidad es provista por las clases de menor nivel, y que se describen a continuacin. AlgoritmoEntrenamiento.h: El objetivo de la clase CAlgoritmoEntrenamiento, que se define en este archivo, es proveer de una interfaz comn para el entrenamiento de redes neuronales, independientemente del mtodo de entrenamiento utilizado. Dentro de esta clase se encuentran encapsulados objetos de las clases CRRNN, CAlgoritmoGenetico y CListaEjemplos, que dan soporte a esta clase para llevar a cabo sus funcionalidades. Existen tambin en esta clase atributos para cada uno de los parmetros variables de los algoritmos de entrenamiento, y que se utilizan para personalizar las caractersticas de los objetos mencionados previamente, que son quienes realizan efectivamente el entrenamiento de la red neuronal. AlgoritmoGenetico.cpp: En el archivo AlgoritmoGenetico.cpp se implementa la clase CAlgoritmoGenetico. Entre los diversos mtodos que se implementan se destaca el mtodo step, que produce una nueva generacin a partir de la existente mediante la aplicacin de los operadores genticos. Luego, el mtodo run realiza una sesin de entrenamiento completa mediante sucesivas llamadas al mtodo step, hasta que el nivel de entrenamiento sea aceptable o la cantidad de generaciones supere el mximo admisible. Entre los atributos ms importantes encontramos encapsulados objetos de las siguientes clases: CPoblacion, CListaEjemplos, CListaEjemplos, CRRNN, CFuncionInicializar, CFuncionEvaluacion, CFuncionSeleccion, CFuncionCruza y CFuncionMutacion. Mediante llamados a distintos procedimientos de estas clases de soporte se realiza el entrenamiento de una red neuronal basado en el uso de algoritmos genticos. Los objetos de las clases CFuncionInicializar, CFuncionEvaluacion, CFuncionSeleccion, CFuncionCruza y CFuncionMutacion realizan las operaciones genticas necesarias sobre los cromosomas pertenecientes a la poblacin (CPoblacion) hasta alcanzar el nivel de entrenamiento adecuado. AlgoritmoGenetico.h: En este archivo se define una de las clases ms importantes de este trabajo, la clase CAlgoritmoGenetico. Esta clase realiza todos los procesos necesarios para entrenar una red neuronal, utilizando como soporte varias de las clases que se describen a continuacin. La interfaz de esta clase es muy rica en procedimientos,

204

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos ya que existen diversos parmetros ajustables del mtodo de entrenamiento.

Capa.cpp: La clase CCapa y sus clases derivadas se implementan en este archivo. Entre los mtodos ms importantes se destacan los asociados al entrenamiento de la red neuronal. Entre ellos encontramos al mtodo evaluar, que toma como parmetro un conjunto de entradas a la capa y produce la salida correspondiente. Otro mtodo importante, y que vara de acuerdo al tipo de red neuronal, es el mtodo calcular_delta, que tomando como parmetros la salida deseada y la capa siguiente calcula cual es la variacin correspondiente a cada capa de acuerdo a su incidencia en el error total. El mtodo calcular_variacion_pesos, calcula en base al error producido por la red neuronal la variacin a realizar sobre cada uno de los pesos sinpticos. Por ltimo, el mtodo propagar_error realiza la variacin de los pesos sinpticos correspondientes de acuerdo a su incidencia sobre el error total obtenido. Adems de las funciones descriptas previamente se encuentran implementadas otras funciones auxiliares que permiten la manipulacin de los datos encapsulados en la clase, y el mtodo funcion_activacion, que variar para cada una de las clases derivadas y que, tomando como parmetro un nmero, devuelve el valor de la funcin de activacin para dicho nmero. Capa.h: El objetivo de la clase CCapa, que se define en este archivo, es proveer una interfaz comn para las capas de los distintos tipos de redes neuronales con conexin hacia delante. En esta capa se definen las funciones comunes que realizan todas las capas de las redes neuronales con conexin hacia delante, y que se heredan en las clases derivadas, como por ejemplo CCapaBackpropagation. La clase CCapa es una clase virtual, por lo que no se pueden instanciar objetos de esta clase. Para ello es necesario definir las clases derivadas que implementen la lgica propia de cada tipo de red neuronal. Cromosoma.cpp: En este archivo se implementan los mtodos para manipular los valores de los atributos de la clase CCromosoma. Uno de los mtodos ms importantes implementados es el mtodo init_random, que recibe como parmetro dos valores e inicializa la cadena de valores del cromosoma con valores aleatorios en el rango definido por estos dos valores. Otros mtodos muy utilizados son aquellos que permiten obtener o asignar el valor de adaptacin del individuo tras ser evaluado y los que permiten obtener o asignar los valores de error producido tras ser evaluado el individuo. Cromosoma.h: La clase CCromosoma es una de las clases fundamentales para el entrenamiento de redes neuronales con conexin hacia delante basado en algoritmos evolutivos, y se define en este archivo. Entre sus atributos ms importantes se encuentran el vector donde se almacenan los valores del cromosoma y el atributo fitness que indica el valor de adaptacin del cromosoma. En esta clase
L. Federico Bertona Metodologa de software 205

Entrenamiento de redes neuronales basado en algoritmos evolutivos se definen tambin mtodos para modificar los valores del objeto, inicializacin del mismo con valores aleatorios, y para guardar sus valores en disco.

Cruza.cpp: Es en este archivo donde se implementan cada una de las clases definidas en el archivo Cruza.h. Especficamente, se implementan cuatro variantes del operador de cruza, donde cada una pertenece a una de las variantes descriptas en la seccin 6.1.5. Cruza.h: En este archivo se definen las clases necesarias para experimentar con el uso de diferentes operadores de cruza. Se define la clase abstracta CFuncionCruza. Es en esta clase donde se definen diferentes mtodos, comunes a todas las clases de operadores de cruza. Tambin se define un mtodo abstracto llamado cruzar, que tomando como parmetros dos cromosomas padres realiza la cruza de ellos y devuelve los descendientes. Luego, se definen diferentes clases de operadores de cruza, cada una de las cuales sobrescribe el mtodo cruzar. Sin duda los dos atributos ms importantes de esta clase son la topologa de la red neuronal, que se utiliza para calcular los distintos puntos de cruza posibles de acuerdo a la definicin dada en la seccin 6.1.5, y el vector que contiene todos los puntos de cruza posibles, que se utiliza en cada uno de los operadores. Ejemplo.cpp: En este archivo se encuentran implementadas todas las funcionalidades definidas en el archivo Ejemplo.h. El ejemplo se almacena en un vector de tipo de dato double. Se mantienen tambin en memoria la cantidad de entradas y de salidas que contiene el ejemplo. De esta manera, el vector contiene una cantidad de posiciones equivalentes a la cantidad de entradas y salidas. Dentro de esta estructura, las primeras posiciones corresponden a las entradas, seguidas por los valores de salida esperados. Ejemplo.h: Este archivo contiene la definicin de la clase CEjemplo, la cual se utiliza para mantener en memoria cada uno de los ejemplos, ya sean de entrenamiento o de validacin. Se definen los mtodos para obtener y asignar valores al ejemplo, as como tambin para almacenar y obtener los ejemplos en archivos. Evaluacion.cpp: En este archivo se implementan los servicios definidos en el archivo Evaluacion.h. El mtodo ms importante de la clase CFuncionEvaluacion es evaluar, que calcula el valor de adaptacin de todos los individuos de una poblacin, la cual recibe como parmetro. Evaluacion.h: La clase CFuncionEvaluacion que se define en este archivo se utilizar para realizar la evaluacin, durante una sesin de entrenamiento, de los individuos que componen la poblacin.

206

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Include.cpp: En este archivo se implementan las funciones comunes que se definen en el archivo descripto a continuacin y que se utilizan en los distintos mdulos que componen el sistema. Include.h: En este archivo se definen todas las constantes que se utilizan a lo largo del proyecto. En este archivo tambin se definen un conjunto de funciones simples que se utilizan en los diferentes mdulos del proyecto. Por ltimo se definen en este archivo las funciones para almacenar las estadsticas del proyecto. Inicializar.cpp: En este archivo se implementan las funcionalidades que provee el mdulo de inicializacin. Para la clase CFuncionInicializar se implementan funcionalidades que afectan las caractersticas de la poblacin resultante como por ejemplo la cantidad de individuos, la longitud de los cromosomas que la componen, y el rango de valores de inicializacin de cada cromosoma. Luego, se implementan para cada una de las clases el mtodo inicializar, de acuerdo a las caractersticas explicadas en la seccin 6.1.7. Inicializar.h: En este archivo se definen las clases encargadas de generar la poblacin inicial de un algoritmo gentico. La clase CFuncionInicializar, define una clase abstracta con las caractersticas comunes de las funciones de inicializacin implementadas. Las clases CFuncionInicializarRandom y CFuncionInicializarRandomSelectiva sobrescriben el mtodo inicializar de acuerdo a las caractersticas de cada implementacin, retornando en ambos casos un objeto de la clase CPoblacion. Lista.cpp: En este archivo se realiza la implementacin de las clases CNodo y CLista. En la clase CNodo se implementa toda la lgica para insertar datos y modificarlos. Tambin se implementa la lgica para obtener los nodos que se encuentran situados a su derecha y a su izquierda. Por su parte, para la clase CLista se implementan todas las funcionalidades relacionadas con altas, bajas y modificaciones de registros, as como tambin las relacionadas con el movimiento a travs de la estructura de datos. Por ltimo, ya que estas clases utilizan la funcionalidad de Templates provistas por el lenguaje C++, se hace una instanciacin explicita de la clase CLista para las clases CEjemplo y CCromosoma. Lista.h: En este archivo se definen la interfaz de dos clases distintas utilizadas para mantener informacin en memoria, la clase CNodo y la clase CLista. La primera se utiliza para almacenar datos dentro de una lista doblemente enlazada, que se define en la clase CLista. En ambos casos se definen los atributos (datos) y los mtodos asociados, que definen la lgica con que funciona la clase. ListaCromosomas.cpp: Es en este archivo donde se implementan los mtodos definidos en el archivo ListaCromosomas.h. La mayor parte
L. Federico Bertona Metodologa de software 207

Entrenamiento de redes neuronales basado en algoritmos evolutivos de las funcionalidades que provee esta clase se implementan utilizando como soporte un objeto de la clase CLista definida previamente.

ListaCromosomas.h: Esta clase define la estructura de datos que contendr el conjunto de cromosomas (poblacin) que se utilizar durante una sesin de entrenamiento de una red neuronal basada en algoritmos evolutivos. Esta clase se apoya en las clases CCromosoma y CLista para implementar sus funcionalidades, las cuales incluyen las altas, bajas y modificaciones de cromosomas, y otros mtodos relacionados con el movimiento a lo largo de la estructura. En este archivo se define CPoblacion como sinnimo de CListaCromosomas. El nico atributo que se define en esta clase es un objeto de la clase CLista. ListaEjemplos.cpp: Es en este archivo donde se implementan los mtodos definidos en el archivo ListaEjemplos.h. La mayor parte de las funcionalidades que provee esta clase se implementan utilizando como soporte un objeto de la clase CLista definida previamente. ListaEjemplos.h: Esta clase define la estructura de datos que contendr el conjunto de ejemplos que el usuario ingresa para el entrenamiento de una red neuronal. Esta clase se apoya en las clases CEjemplo y CLista para implementar sus funcionalidades, las cuales incluyen las altas, bajas y modificaciones de ejemplos, el movimiento a lo largo de la estructura, y mtodos para persistir la informacin en disco. El nico atributo que definido en esta clase es un objeto de la clase CLista. Mutacion.cpp: Es en este archivo donde se implementan cada una de las clases definidas en el archivo Mutacion.h. Especficamente, se implementan tres variantes del operador de mutacin, donde cada una pertenece a una de las variantes descriptas en la seccin 6.1.6. La principal diferencia entre los operadores es la manera en que actualizan la probabilidad de mutacin. El resto de las funcionalidades se encuentran implementadas para la clase CFuncionMutacion, y entre los mtodos ms importantes se destacan mutar_numerica y mutar_bit, que tomando como parmetro un cromosoma (objeto de la clase CCromosoma) realizan la mutacin numrica o la mutacin binaria del cromosoma, como se describe en la seccin 6.1.6. El mtodo mutar toma un objeto de la clase CPoblacion y realiza la mutacin de todos los cromosomas que pertenecen a la misma. Mutacion.h: En este archivo se define el conjunto de clases que permiten realizar experimentos sobre varios tipos de operadores de mutacin. Dado que entre los diferentes operadores de mutacin a estudiar se encuentran gran cantidad de similitudes, la clase abstracta CFuncionMutacion contiene gran cantidad de mtodos, los cuales heredan sus clases derivadas.

208

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Objetos.h: En este archivo se define la clase CObjeto. Esta clase es una clase virtual que slo se utiliza para aplicar el concepto de polimorfismo sobre todas las clases que quieran utilizar listas. Rrnn.cpp: La implementacin de la clase CRRNN y sus clases derivadas se lleva a cabo en este archivo. La mayora de los mtodos se implementan a nivel de la clase CRRNN y se heredan en todas las clases derivadas, las cuales deben sobrescribir el mtodo entrenar. Entre los atributos ms importantes de la clase se encuentran la topologa, donde se definen la cantidad de capas (y neuronas por capa) de la red neuronal, el conjunto de ejemplos de entrenamiento y de evaluacin que se utilizarn durante una sesin de entrenamiento (ambos son objetos de la clase CListaEjemplos), y un vector de objetos de tipo CCapa, que mediante polimorfismo implementan la lgica de cada capa. Tambin se definen algunos atributos extras, que se utilizan para ajustar las caractersticas de la sesin de entrenamiento. Entre los diversos mtodos que se implementan encontramos aquellos que permiten la manipulacin de estos atributos, y los que permiten persistir en disco la informacin de los objetos. Tambin se encuentran diversos mtodos para evaluar ejemplos y patrones de entrada. Por ltimo, para cada clase se implementan el mtodo entrenar, que tomando como parmetro el mximo error admisible entrena una red neuronal. Rrnn.h: En este archivo se define una clase abstracta, llamada CRRNN, que define una interfaz comn para todas las redes neuronales con conexin hacia delante. Como se mencion previamente gran parte de las funcionalidades provistas por este grupo de clases se definidas en la clase CRRNN, dejando para las clases derivadas las implementaciones especficas de cada red neuronal. Dado que se utilizan como soporte las clases derivadas de CCapa y el polimorfismo que proporciona el paradigma de programacin utilizado, cada clase derivada deber sobrescribir nicamente el mtodo entrenar, para ajustarlo a las caractersticas propias de la topologa. De la clase CRRNN derivarn las clases especficas para cada topologa como por ejemplo CBackPropagation. Seleccion.cpp: En este archivo se implementan cada una de las clases definidas en el archivo Seleccion.h. Especficamente, se implementan cuatro variantes del operador de seleccin, donde cada una pertenece a una de las variantes descriptas en la seccin 6.1.4. Seleccion.h: En este archivo se definen las clases necesarias para experimentar con el uso de diferentes operadores de seleccin. Se define la clase abstracta CFuncionSeleccion, que contiene un nico mtodo, llamado seleccionar. Luego, se definen diferentes clases de operadores de seleccin, cada una de las cuales sobrescribe el mtodo seleccionar, que tomando como parmetro la poblacin actual (objeto de la clase CPoblacion), devuelve la poblacin de individuos que sobreviven y pasan a la prxima generacin.
L. Federico Bertona Metodologa de software 209

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.3.2.3. Esquema de interaccin de bloques En la figura B.7 se muestra un esquema que representa cmo interactan los mdulos vistos en la seccin anterior. Cada mdulo est representado por un archivo fuente. No se representa el archivo include.h que posee funciones comunes a todos los bloques o funciones que no son especficas de un bloque (no se muestra para facilitar la comprensin del diagrama ya que todos los bloques se relacionan con l). Algoritmo Entrenamiento Algoritmo Gentico (*) Red Neuronal(*) Inicializacin Evaluacin Seleccin Cruza Mutacin Lista Ejemplos Capa Lista Cromosomas Cromosoma Lista Ejemplos Objeto Figura B.7. Diagrama de interaccin de mdulos
(*) La doble separacin entre los mdulos Red Neuronal y Algoritmo Gentico representa una iteracin lateral entre ambas clases.

De esta manera, el mdulo Algoritmo de Entrenamiento define una capa abstracta para entrenar redes neuronales. Luego, dependiendo de las opciones de entrenamiento que seleccione el usuario invoca al mdulo Algoritmo Gentico o Red Neuronal. El mdulo Algoritmo Gentico utiliza los mdulos Inicializacin, Evaluacin, Seleccin, Cruza y Mutacin como soporte para entrenar la red neuronal. Estos a su vez hacen uso de una poblacin que est representada en el mdulo Lista Cromosomas, quien a su vez dispone de las funcionalidades prestadas por los mdulos Lista y Cromosoma. En la figura se muestra que existe una interaccin lateral del mdulo Algoritmo Gentico con el mdulo Red Neuronal. Esta interaccin se produce ya que el cromosoma debe ser convertido en una red neuronal para ser evaluado en el mdulo Evaluacin. Por su parte, el mdulo Red Neuronal requiere de los servicios prestados por los mdulos Capa y Lista Ejemplo para llevar a cabo el entrenamiento de la red neuronal. Este ltimo a su vez est implementado sobre las funcionalidades provistas en los mdulos Lista y Ejemplo. La principal ventaja de este esquema de capas es que permite, manteniendo la definicin, modificar la implementacin de una de las capas. De esta manera, el ambiente es apropiado para la evaluacin de diferentes algoritmos. A su vez, al utilizar el paradigma de programacin orientado a objetos, permite definir varias clases que compartan una definicin comn, y que cada una de ellas realice una implementacin diferente de la misma.

B.3.3. Estructuras de datos


En esta seccin se explica con mayor nivel de detalle cada una de las estructuras de datos utilizadas en el proyecto.

210

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.3.3.1. Lista
CLista
Primero ltimo Actual Cant_elementos Pos

CNodo
Datos Derecha Izquierda

Figura B.8. Listas Esta estructura de datos se utiliza para mantener el listado de individuos (cromosomas) que pertenecen a una determinada poblacin, as como tambin para mantener en memoria el set de datos de entrenamiento y de evaluacin. La clase CLista, que se muestra en la figura B.8, implementa una lista de datos doblemente enlazada. Contiene una conjunto de punteros (Primero, ltimo y Actual) a estructuras de datos del tipo CNodo. De esta manera permite moverse en la lista en diferentes posiciones. A su vez almacena la cantidad de elementos y la posicin actual dentro de la lista para facilitar el desplazamiento por posiciones (numero de orden). La clase CNodo contiene un puntero a un objeto de la clase CObjeto (ver figura B.8). De esta manera, y utilizando polimorfismo, esta estructura de datos soporta objetos de cualquier clase, siempre que dicha clase extienda la clase CObjeto. A su vez, la clase CNodo contiene dos punteros (Izquierda y Derecha) a los nodos que se encuentran antes y despus de l en la lista. B.3.3.2. Ejemplo
CEjemplo
Ejemplo Nro_inputs Nro_Outputs

Figura B.9. Ejemplos Esta clase se utiliza para mantener en memoria cada uno de los ejemplos (ya sean de entrenamiento o de evaluacin). Extiende la clase CObjeto para poder ser utilizada en estructuras del tipo Lista. Contiene un vector con el conjunto de valores de entrada y salida deseada, as como tambin la cantidad de valores que corresponden a entradas y la cantidad que corresponden a las salidas deseadas (ver figura B.9).

L. Federico Bertona

Metodologa de software

211

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.3.3.3. Cromosoma


CCromosoma
Longi Cadena Fitness Max_error Min_error

Figura B.10. Cromosoma Esta clase se utiliza para mantener en memoria cada uno de los individuos que componen una determinada poblacin. Extiende la clase CObjeto para poder ser utilizada en estructuras del tipo Lista (que representan a la poblacin). Tal como se observa en la figura B.10, est compuesto por cinco atributos: la longitud del cromosoma, la cadena de genes que representa, el valor de adaptacin (fitness) del individuo, y el mximo y mnimo error cometido.

B.3.4. Formato de los archivos de estadsticas


Durante una sesin de entrenamiento se almacenan los datos generados por el tras cada iteracin en un archivo de log llamado step_result.std. La estructura del mismo se detalla en la Figura B.11. Step Max Error Min Error Error Error Hits Hits Hits Error Train Test Total Train Test Total Figura B.11. Estructura de archivo de estadsticas Train Time

El primer campo (step) contiene el nmero de iteracin realizada. El campo Max Error contiene el error mximo que produce la red sobre el set de entrenamiento. Corresponde a la mxima diferencia entre la salida deseada y la salida obtenida para algn ejemplo del set de entrenamientos. Anlogamente, Min Error contiene el mnimo error que produce la red neuronal sobre el set de entrenamiento. El campo Error Train contiene el error cuadrtico medio que produce la red sobre el set de entrenamiento. Del mismo modo, el campo Error Test contiene el error cuadrtico medio que produce la red neuronal con respecto al set de evaluacin. El campo Error Total representa el error cuadrtico medio sobre el total de ejemplos (set de entrenamiento y set de evaluacin). El campo Hits Train contiene el porcentaje de aciertos (cantidad de ejemplos bien clasificados sobre el total), evaluados sobre el set de entrenamiento. Los campos Hits Test y Hits Total son similares pero se calculan sobre el set de evaluacin y sobre el total de ejemplos respectivamente. Por ltimo, el campo train time contiene el tiempo transcurrido en segundos desde el comienzo de la sesin de entrenamiento hasta el instante en que se 212 Metodologa de software L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos registran las estadsticas. Como se mencion en el captulo 7, este campo se utiliza para hacer comparables las estadsticas de los distintos mtodos de entrenamiento. Los valores de una misma lnea del archivo de estadsticas corresponden a una misma iteracin y se encuentran separados por tabulaciones.

B.4. Implementacin
B.4.1. Pantallas
El sistema desarrollado consiste en una aplicacin Windows. La pantalla principal del sistema se muestra en la figura B.12. Esta es la nica ventana del sistema, ya que el resto de la aplicacin se maneja a travs de cuadros de dilogo. La informacin que se despliega en esta pantalla depender de la opcin seleccionada en el men Ver. Todas las funcionalidades implementadas se encuentran en el men de la aplicacin, y las ms importantes contienen un icono dentro de la barra de herramientas de la aplicacin.

Figura B.12. Pantalla Principal

L. Federico Bertona

Metodologa de software

213

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.4.2. Funciones implementadas


A continuacin se detalla el conjunto de funciones implementadas, y su organizacin en el men de la aplicacin (Figura B.13). Luego, se explica en detalle cada una de ellas. Nuevo Abrir Guardar Guardar Como Exportar pesos Importar ejemplos de entrenamiento Importar ejemplos de evaluacin Imprimir Presentacin preliminar Configurar impresora Salir Barra de herramientas Barra de estado Ejemplos de entrenamiento Ejemplos de evaluacin Red Neuronal Errores de entrenamiento Errores de evaluacin Topologa Ejemplos de entrenamiento Red Ejemplos de evaluacin Entrenar Evaluar Configurar Ayuda Algoritmo Gentico Red Neuronal Tipo de entrenamiento Acerca de Figura B.13. Estructura del men Agregar Modificar Eliminar Agregar Modificar Eliminar

Archivo

Ver

B.4.2.1. Men Archivo > Nuevo Crea un nuevo documento. El documento se crea totalmente vaco y se resetean todos los opciones a sus valores default.

214

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.4.2.2. Men Archivo > Abrir Abre un cuadro de dilogo standard de Windows para seleccionar el archivo que se desea abrir, como se muestra en la figura B.14.

Figura B.14. Abrir Archivo B.4.2.3. Men Archivo > Guardar Guarda las modificaciones realizadas sobre un archivo existente. En caso de que el archivo no haya sido guardado previamente el procedimiento es similar a la opcin Guardar como que se explica a continuacin. B.4.2.4. Men Archivo > Guardar Como Abre un cuadro de dilogo standard de Windows para ingresar el nombre con el que se desea guardar el archivo, como se muestra en la figura B.15.

Figura B.15. Guardar archivo L. Federico Bertona Metodologa de software 215

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.4.2.5. Men Archivo > Exportar Pesos Abre un cuadro de dilogo standard de Windows para ingresar el nombre con el que se desea guardar el archivo que contiene el conjunto de pesos. En la figura B.16 se muestra el dilogo mencionado previamente.

Figura B.16. Exportar pesos B.4.2.6. Men Archivo > Importar Ejemplos de Entrenamiento Abre un cuadro de dilogo standard de Windows para seleccionar el archivo que contiene el conjunto de ejemplos, como se muestra en la figura B.17. Estos ejemplos son importados como ejemplos de entrenamiento.

Figura B.17. Importar ejemplos

216

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.4.2.7. Men Archivo > Importar Ejemplos de Evaluacin Esta opcin es similar a la anterior slo que los ejemplos son importados como ejemplos de evaluacin. B.4.2.8. Men Archivo > Imprimir Abre un cuadro de dilogo standard de Windows para imprimir, como el que se muestra en la figura B.18.

Figura B.18. Imprimir B.4.2.9. Men Archivo > Presentacin Preliminar Abre un cuadro de dilogo standard de Windows para obtener una vista previa de la impresin (ver figura B.19). Desde este dilogo se puede imprimir el documento.

L. Federico Bertona

Metodologa de software

217

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura B.19. Presentacin preliminar B.4.2.10. Men Archivo > Configurar Impresora Abre un cuadro de dilogo standard de Windows para configurar la impresora, como el que se muestra en la figura B.20.

Figura B.20. Configurar Impresora B.4.2.11. Men Ver Este men contiene varias opciones. Todas estas estn relacionadas con la forma en que se visualiza la informacin en pantalla:

218

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Barra de herramientas: Habilita/Deshabilita la barra de herramientas. Barra de estado: Habilita/Deshabilita la barra de estado. Ejemplos de entrenamiento: Despliega en la pantalla principal el set de datos de entrenamiento. Ejemplos de evaluacin: Despliega en la pantalla principal el set de datos de evaluacin. Red Neuronal: Muestra grficamente en la pantalla principal la topologa de la Red Neuronal. Errores de entrenamiento: Despliega en la pantalla principal el set de datos de entrenamiento junto con el error cometido por la red neuronal al clasificarlo. Errores de evaluacin: Despliega en la pantalla principal el set de datos de evaluacin junto con el error cometido por la red neuronal al clasificarlo.

B.4.2.12. Men Red > Topologa Abre un cuadro de dilogo donde el usuario puede definir la topologa de la red neuronal que desea entrenar. En la figura B.21 se pueden observar las distintas caractersticas de la topologa que se pueden configurar.

Figura B.21. Topologa B.4.2.13. Men Red > Ejemplos de entrenamiento > Agregar Abre un cuadro de dilogo donde el usuario puede ingresar los valores de entrada y salida deseada del nuevo ejemplo de entrenamiento, como se muestra en la figura B.22.

L. Federico Bertona

Metodologa de software

219

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura B.22. Agregar Ejemplo B.4.2.14. Men Red > Ejemplos de entrenamiento > Modificar Permite al usuario modificar uno de los ejemplos de entrenamiento ya ingresados. El usuario debe seleccionar en primer lugar cual es el nmero de ejemplo a modificar (ver figura B.23).

Figura B.23. Seleccionar ejemplo Una vez seleccionado el ejemplo se despliega un cuadro de dilogo (figura B.24) donde el usuario visualiza los valores actuales e ingresa los nuevos valores.

220

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura B.24. Modificar ejemplo B.4.2.15. Men Red > Ejemplos de entrenamiento > Eliminar Permite al usuario eliminar uno de los ejemplos de entrenamiento ya ingresados. El usuario debe seleccionar en primer lugar cual es el nmero de ejemplo a eliminar, como se muestra en la figura B.23. Una vez seleccionado el ejemplo se despliega un cuadro de dilogo donde el usuario visualiza los valores actuales y confirma o cancela la operacin solicitada, como se muestra en la figura B.25.

Figura B.25. Eliminar ejemplo L. Federico Bertona Metodologa de software 221

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.4.2.15. Men Red > Ejemplos de Evaluacin Esta opcin del men tiene a su vez tres subopciones (Agregar, Modificar y Eliminar). Cada una de ellas funciona de la misma manera que las descriptas en las ultimas 3 secciones, slo que lo hace sobre el conjunto de ejemplos de evaluacin B.4.2.16. Men Red > Entrenar Despliega un cuadro de dilogo donde se visualizan todas las opciones seleccionadas del algoritmo de entrenamiento. Una vez verificado que las opciones sean las deseadas, el usuario puede iniciar una sesin de entrenamiento haciendo click en el botn Run, como se muestra en la figura B.26.

Figura B.26. Entrenar Red Neuronal B.4.2.17. Men Red > Evaluar Esta opcin permite al usuario evaluar la respuesta que produce una red neuronal previamente entrenada sobre un patrn de entrada determinado (ver figura B.27).

222

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

Figura B.27. Evaluar ejemplo B.4.2.18. Men Configurar > Algoritmo Gentico Despliega un cuadro de dilogo donde el usuario puede ingresar los valores deseados para cada uno de los parmetros que componen el algoritmo de entrenamiento basado en algoritmos genticos. El conjunto de parmetros configurables se observa en la figura B.28.

Figura B.28. Configurar algoritmo gentico

L. Federico Bertona

Metodologa de software

223

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.4.2.19. Men Configurar > Red Neuronal Despliega un cuadro de dilogo donde el usuario puede ingresar los valores deseados para cada uno de los parmetros que componen el algoritmo de entrenamiento propio de la topologa de la red neuronal, como se muestra en la figura B.29.

Figura B.29. Configurar Red Neuronal B.4.2.20. Men Configurar > Tipo Entrenamiento Despliega un cuadro de dilogo donde el usuario puede ingresar el tipo de algoritmo de entrenamiento deseado y la cota mxima de error admitido, como se muestra en la figura B.30.

Figura B.30. Configurar tipo de entrenamiento

224

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.4.3. Pruebas
En esta seccin se presenta el detalle de pruebas utilizadas para la validacin de la solucin; en la misma se presenta el plan de pruebas y posteriormente el desarrollo de las mismas. Solamente se realizan pruebas parciales del sistema, debido a que resulta imposible probar el sistema completo, por tratarse de un simulador cuyos resultados son no determinsticos. B.4.3.1. Plan de pruebas Objetivo de la prueba Objetos a probar Caractersticas a probar Detectar errores de programacin y funcionamiento del algoritmo de entrenamiento. Algoritmo de entrenamiento Funcionamiento del algoritmo de entrenamiento de la red neuronal, sabiendo cul debe ser el resultado final. La prueba se har sobre plataforma Windows.

Cantidad de pruebas a 12 utilizar Caractersticas a no Performance (velocidad de ejecucin) del algoritmo de entrenamiento. probar Mtodo de prueba a Prueba por comparacin de resultados y adivinacin de errores. utilizar Tabla B.2. Plan de pruebas B.4.3.2. Documento de diseo de la prueba de Las pruebas sern llevadas a cabo de acuerdo a lo descripto en la seccin B.4.3.3 Especificacin de los casos de prueba, registrndose las diferencias que se detecten entre el resultado esperado y el obtenido. Mtodos de prueba a Se compararn los resultados obtenidos con los resultados esperados al hacer el clculo del utilizar algoritmo en forma manual. Criterios para la Los criterios para la aprobacin de las pruebas aprobacin de las se describen a continuacin: Excelente: Cuando el resultado obtenido luego pruebas de realizada la prueba es idntico al resultado citado en la seccin B.4.3.3 Especificacin de los casos de prueba. Muy bueno: Cuando el resultado obtenido luego de realizada la prueba es parecido al resultado citado en la seccin B.4.3.3 Especificacin de los casos de prueba. Bueno: Cuando el resultado obtenido luego de realizada la prueba no fue el resultado citado Procedimiento pruebas L. Federico Bertona Metodologa de software 225

Entrenamiento de redes neuronales basado en algoritmos evolutivos en la seccin B.4.3.3 Especificacin de los casos de prueba, pero no ha provocado anomalas en el funcionamiento del programa. Regular: Cuando el resultado obtenido luego de realizada la prueba no fue el resultado citado en la seccin B.4.3.3 Especificacin de los casos de prueba, pero ha provocado anomalas en el funcionamiento del programa. Malo: Cuando el resultado obtenido luego de realizada la prueba no fue el resultado citado en la seccin B.4.3.3 Especificacin de los casos de prueba, pero ha provocado anomalas graves en el funcionamiento del programa tales como la salida del sistema o colgarse. Tabla B.3. Diseo de la prueba

226

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.4.3.3. Especificacin de los casos de prueba TEM 1 2 OBJETIVO Transformar un valor del tipo TPeso en un tipo TCromosoma Transformar un valor del tipo TCromosoma en un tipo TPeso Transformar un cromosoma en la red neuronal que representa. Cruzar dos cromosomas ACCIN Ejecutar la funcin de transformacin ToTCromosoma con la entrada especificada Ejecutar la funcin de transformacin FromTCromosoma con la entrada especificada Ejecutar la funcin de morfognesis con la entrada especificada Ejecutar el mtodo de cruza de la clase CFuncionCruzaUniforme para dos cromosomas Ejecutar el mtodo de cruza de la clase CFuncionCruzaBinomial para dos cromosomas Ejecutar el mtodo de cruza de la clase CFuncionCruzaSimple para dos cromosomas Ejecutar el mtodo de cruza de la clase CFuncionCruzaMultiPuntos para dos cromosomas ENTRADA Parmetro 15.1 value= RESULTADO ESPERADO - 0xDA00C580 (valor equivalente en TCromosoma) equivalente en

Parmetro 0xDA00C580

value= -15.1 (valor TPeso)

Cruzar dos cromosomas

Cruzar dos cromosomas

Cruzar dos cromosomas

Un objeto de tipo CCromosoma con los valores especificados en la seccin B.4.3.7. Dos objetos de tipo CCromosoma con los valores especificados en la seccin B.4.3.7. Dos objetos de tipo CCromosoma con los valores especificados en la seccin B.4.3.7. Dos objetos de tipo CCromosoma con los valores especificados en la seccin B.4.3.7. Dos objetos de tipo CCromosoma con los valores especificados en la seccin B.4.3.7.

Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7.

L. Federico Bertona

Metodologa de software

227

Entrenamiento de redes neuronales basado en algoritmos evolutivos

TEM 8

ENTRADA Topologa=2,2,1 Inicializar cromosomas Ejecutar el mtodo init_random de Mximo=0.0001 con valores aleatorios en la clase CCromosoma Mnimo=-0.0001 un rango

OBJETIVO

ACCIN

RESULTADO ESPERADO Red neuronal con la topologa especificada y con valores de pesos variando dentro del rango.

10

11

12

Un objeto de tipo Actualizar los pesos tras CAlgoritmoEntrenamie Los resultados esperados se Ejecutar el mtodo run de la clase la presentacin de un nto con los valores especifican en la seccin CAlgoritmoEntrenamiento patrn de entrenamiento especificados en la B.4.3.7. seccin B.4.3.7. Calcular el error Un objeto de tipo cuadrtico medio que Ejecutar el mtodo Los resultados esperados se CRRNN con los produce una red evaluar_ejemplos de la clase especifican en la seccin valores especificados neuronal sobre un set de CRRNN B.4.3.7. en la seccin B.4.3.7. datos de entrenamiento Un objeto de tipo Entrenar una red CAlgoritmoEntrenamie Los resultados esperados se Ejecutar el mtodo run de la clase neuronal con el mtodo nto con los valores especifican en la seccin CAlgoritmoEntrenamiento clsico especificados en la B.4.3.7. seccin B.4.3.7. Un objeto de tipo Entrenar una red CAlgoritmoEntrenamie Los resultados esperados se neuronal con el mtodo Ejecutar el mtodo run de la clase nto con los valores especifican en la seccin basado en algoritmos CAlgoritmoEntrenamiento especificados en la B.4.3.7. genticos seccin B.4.3.7. Tabla B.4. Especificacin de los casos de prueba

228

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

B.4.3.4. Especificacin del procedimiento de prueba TEM 1 2 3 4 5 6 7 8 ACCIN ENTRADA Ejecutar la funcin de transformacin ToTCromosoma con la entrada Parmetro value= -15.1 especificada Ejecutar la funcin de transformacin FromTCromosoma con la entrada Parmetro value= 0xDA00C580 especificada Un objeto de tipo CCromosoma Ejecutar la funcin de morfognesis con los valores especificados en la con la entrada especificada seccin B.4.3.7. Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma clase CFuncionCruzaUniforme para con los valores especificados en la dos cromosomas seccin B.4.3.7. Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma clase CFuncionCruzaBinomial para con los valores especificados en la dos cromosomas seccin B.4.3.7. Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma clase CFuncionCruzaSimple para dos con los valores especificados en la cromosomas seccin B.4.3.7. Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma clase CFuncionCruzaMultiPuntos con los valores especificados en la para dos cromosomas seccin B.4.3.7. Topologa=2,2,1 Mximo=0.0001 Ejecutar el mtodo init_random de la Mnimo=-0.0001 clase CCromosoma RESULTADO ESPERADO 0xDA00C580 TCromosoma) (valor equivalente en

-15.1 (valor equivalente en TPeso) Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7. Red neuronal con la topologa especificada y con valores de pesos variando dentro del rango.

L. Federico Bertona

Metodologa de software

229

Entrenamiento de redes neuronales basado en algoritmos evolutivos

TEM 9

10

11

12

ENTRADA RESULTADO ESPERADO Un objeto de tipo Ejecutar el mtodo run de la clase CAlgoritmoEntrenamiento con los Los resultados esperados se especifican CAlgoritmoEntrenamiento valores especificados en la la seccin B.4.3.7. seccin B.4.3.7. Un objeto de tipo CRRNN con los Ejecutar el mtodo evaluar_ejemplos Los resultados esperados se especifican valores especificados en la de la clase CRRNN la seccin B.4.3.7. seccin B.4.3.7. Un objeto de tipo Ejecutar el mtodo run de la clase CAlgoritmoEntrenamiento con los Los resultados esperados se especifican CAlgoritmoEntrenamiento valores especificados en la la seccin B.4.3.7. seccin B.4.3.7. Un objeto de tipo Ejecutar el mtodo run de la clase CAlgoritmoEntrenamiento con los Los resultados esperados se especifican CAlgoritmoEntrenamiento valores especificados en la la seccin B.4.3.7. seccin B.4.3.7. Tabla B.5. Especificacin del procedimiento de prueba

ACCIN

en

en

en

en

B.4.3.5. Informe de los casos de prueba ejecutados TEM 1 2 ACCIN ENTRADA RESULTADO ESPERADO 0xDA00C580 -15.1 RESULTADO OBTENIDO 0xDA00C580 -15.1

Ejecutar la funcin de transformacin ToTCromosoma con la entrada Parmetro value= -15.1 especificada Ejecutar la funcin de transformacin FromTCromosoma con la entrada Parmetro value= 0xDA00C580 especificada

230

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

TEM

ACCIN

ENTRADA

RESULTADO ESPERADO

Los resultados Un objeto de tipo CCromosoma con Ejecutar la funcin de morfognesis esperados se los valores especificados en la con la entrada especificada especifican en la seccin B.4.3.7. seccin B.4.3.7. Los resultados Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma esperados se clase CFuncionCruzaUniforme para con los valores especificados en la especifican en la dos cromosomas seccin B.4.3.7. seccin B.4.3.7. Los resultados Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma esperados se clase CFuncionCruzaBinomial para con los valores especificados en la especifican en la dos cromosomas seccin B.4.3.7. seccin B.4.3.7. Los resultados Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma esperados se clase CFuncionCruzaSimple para dos con los valores especificados en la especifican en la cromosomas seccin B.4.3.7. seccin B.4.3.7.

RESULTADO OBTENIDO Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7.

L. Federico Bertona

Metodologa de software

231

Entrenamiento de redes neuronales basado en algoritmos evolutivos

TEM

ACCIN

ENTRADA

RESULTADO ESPERADO

Los resultados Ejecutar el mtodo de cruza de la Dos objetos de tipo CCromosoma esperados se clase CFuncionCruzaMultiPunto para con los valores especificados en la especifican en la dos cromosomas seccin B.4.3.7. seccin B.4.3.7. Red neuronal con la topologa Mximo=0.0001 especificada y con valores de pesos variando dentro del rango. Los resultados esperados se especifican en la seccin B.4.3.7.

Topologa=2,2,1 Ejecutar el mtodo init_random de la Mnimo=-0.0001 clase CCromosoma

Un objeto de tipo Ejecutar el mtodo run de la clase CAlgoritmoEntrenamiento con los CAlgoritmoEntrenamiento valores especificados en la seccin B.4.3.7.

10

os resultados Un objeto de tipo CRRNN con los Ejecutar el mtodo evaluar_ejemplos esperados se valores especificados en la seccin de la clase CRRNN especifican en la B.4.3.7. seccin B.4.3.7.

RESULTADO OBTENIDO Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7.

232

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos

TEM

ACCIN

ENTRADA

RESULTADO ESPERADO Los resultados esperados se especifican en la seccin B.4.3.7. Los resultados esperados se especifican en la seccin B.4.3.7.

11

Un objeto de tipo Ejecutar el mtodo run de la clase CAlgoritmoEntrenamiento con los CAlgoritmoEntrenamiento valores especificados en la seccin B.4.3.7. Un objeto de tipo Ejecutar el mtodo run de la clase CAlgoritmoEntrenamiento con los CAlgoritmoEntrenamiento valores especificados en la seccin B.4.3.7.

12

RESULTADO OBTENIDO Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7. Los resultados obtenidos son coincidentes con los esperados y se especifican en la seccin B.4.3.7.

Tabla B.6. Informe de los casos de prueba ejecutados

L. Federico Bertona

Metodologa de software

233

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.4.3.6. Informe de la prueba Tras una serie de iteraciones, donde se fueron detectando y corrigiendo errores, las pruebas resultaron satisfactorias para los 12 casos estudiados, ya que en todos los casos se obtuvieron los resultados especificados. Por lo tanto, se concluye que el resultado de las pruebas es excelente, basndose en los criterios definidos en la seccin B.4.3.2. Se dan por cumplimentadas las pruebas y se anexa en la seccin B.4.3.7 el detalle de las 12 pruebas realizadas. B.4.3.7. Anexo con pruebas realizadas 1 Transformar un TPeso en un TCromosoma -15.1 0xDA00C580 Valor de entrada: -15.100000 Resultado Obtenido Valor obtenido: DA00C580 Tabla B.7. Detalle de la prueba N 1 tem Accin Entrada Resultado Esperado 2 Transformar un TCromosoma en un TPeso 0xDA00C580 -15.1 Valor de entrada: DA00C580 Resultado Obtenido Valor obtenido: -15.100000 Tabla B.8. Detalle de la prueba N 2 tem Accin Entrada Resultado Esperado tem Accin Entrada 3 Ejecutar la funcin de morfognesis Cantidad de capas=3 Topologa= Backpropagation [2,2,1] Cromosoma=[0.25,0.2,-0.1,-1,0.5,-0.5,1.2,0.001,-1] Peso 2,0 = 0.25 Peso 3,0 = 0.2 Peso 2,1 = -0.1 Peso 3,1 = -1 Umbral 2= 0.5 Umbral 3= -0.5 Peso 4,2 = 1.2 Peso 4,3 = 0.001 Umbral 4= -1 NEURONA 0 Peso 2,0 = 0.250000 Peso 3,0 = 0.200000 NEURONA 1 Peso 2,1 = -0.100000 Peso 3,1 = -1.000000

Resultado Esperado

Resultado Obtenido

234

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos Umbral 2= 0.500000 Umbral 3= -0.500000 NEURONA 2 Peso 4,2 = 1.200000 NEURONA 3 Peso 4,3 = 0.001000 Umbral 4= -1.000000 Tabla B.9. Detalle de la prueba N 3 4 Ejecutar el mtodo de cruza de la clase Accin CFuncionCruzaUniforme Cromo. 1= (0.25,0.2,-0.1,-1,0.5,-0.5,1.2,0.001,-1) Cromo. 2= (-1, -1, -1, -1, -1, -1, -1, -1, -1) Entrada Topologa=(2,2,1) Cantidad de capas=3 Cualquier cruza valida, tomando los puntos de cruza posibles. Los puntos de cruza posibles, para Resultado Esperado esta topologa son los siguientes: Puntos de cruza (0,2,4,6,7,8,9) 0.25 0.20 -1.00 -1.00 0.50 -0.50 -1.00 -1.00 -1.00 Resultado Obtenido -1.00 -1.00 -0.10 -1.00 -1.00 -1.00 1.20 0.00 -1.00 Tabla B.10. Detalle de la prueba N 4 tem 5 Ejecutar el mtodo de cruza de la clase Accin CFuncionCruzaBinomial Cromo. 1= (0.25,0.2,-0.1,-1,0.5,-0.5,1.2,0.001,-1) Cromo. 2= (-1, -1, -1, -1, -1, -1, -1, -1, -1) Entrada Topologa=(2,2,1) Cantidad de capas=3 Cualquier cruza valida, tomando los puntos de cruza posibles. Los puntos de cruza posibles, para Resultado Esperado esta topologa son los siguientes: Puntos de cruza (0,2,4,6,7,8,9) 0.25 0.20 -1.00 -1.00 -1.00 -1.00 -1.00 0.00 -1.00 Resultado Obtenido -1.00 -1.00 -0.10 -1.00 0.50 -0.50 1.20 -1.00 -1.00 Tabla B.11. Detalle de la prueba N 5 tem tem Accin Entrada L. Federico Bertona 6 Ejecutar el mtodo de cruza de la clase CFuncionCruzaSimple Cromo. 1= (0.25,0.2,-0.1,-1,0.5,-0.5,1.2,0.001,-1) Metodologa de software 235

Entrenamiento de redes neuronales basado en algoritmos evolutivos Cromo. 2= (-1, -1, -1, -1, -1, -1, -1, -1, -1) Topologa=(2,2,1) Cantidad de capas=3 Cualquier cruza valida, tomando los puntos de cruza posibles. Los puntos de cruza posibles, para Resultado Esperado esta topologa son los siguientes: Puntos de cruza (0,2,4,6,7,8,9) 0.25 0.20 -0.10 -1.00 0.50 -0.50 1.20 -1.00 -1.00 Resultado Obtenido -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 0.00 -1.00 Tabla B.12. Detalle de la prueba N 6 7 Ejecutar el mtodo de cruza de la clase Accin CFuncionCruzaMultiPuntos Cromo. 1= (0.25,0.2,-0.1,-1,0.5,-0.5,1.2,0.001,-1) Cromo. 2= (-1, -1, -1, -1, -1, -1, -1, -1, -1) Entrada Topologa=(2,2,1) Cantidad de capas=3 Cualquier cruza valida, tomando los puntos de cruza posibles. Los puntos de cruza posibles, para Resultado Esperado esta topologa son los siguientes: Puntos de cruza (0,2,4,6,7,8,9) 0.25 0.20 -1.00 -1.00 0.50 -0.50 -1.00 -1.00 -1.00 Resultado Obtenido -1.00 -1.00 -0.10 -1.00 -1.00 -1.00 1.20 0.00 -1.00 Tabla B.13. Detalle de la prueba N 7 tem tem Accin Entrada 8 Ejecutar el mtodo init_random de la clase cromosoma Topologa=(2,2,1) Cantidad de capas=3 Valor mximo de inicializacin: 0.0001 Valor mnimo de inicializacin: -0.0001 Una red neuronal con la topologa indicada, cuyos pesos sinpticos iniciales se encuentren dentro del rango determinado. NEURONA 0 Peso 2,0 = -0.000027 Peso 3,0 = -0.000071 NEURONA 1 Peso 2,1 = -0.000067 Peso 3,1 = 0.000098 Umbral 2= -0.000011 Umbral 3= -0.000076 236 Metodologa de software L. Federico Bertona

Resultado Esperado Resultado Obtenido

Entrenamiento de redes neuronales basado en algoritmos evolutivos

NEURONA 2 Peso 4,2 = -0.000099 NEURONA 3 Peso 4,3 = -0.000098 Umbral 4= -0.000024 Tabla B.14. Detalle de la prueba N 8 tem Accin 9 Ejecutar el mtodo run de la clase CalgoritmoEntrenamiento Topologa=(2,2,1) Cantidad de capas=3 Ejemplo (1,0,0) Red inicial: Peso 2,0 = 0.250000 Peso 3,0 = 0.200000 Peso 2,1 = -0.100000 Peso 3,1 = -1.000000 Umbral 2= 0.500000 Umbral 3= -0.500000 Peso 4,2 = 1.200000 Peso 4,3 = 0.001000 Umbral 4= -1.000000 Red neuronal tras la aplicacin del algoritmo backpropagation. Los valores de los pesos tras una aplicacin del algoritmo son los siguientes: Peso 2,0 = 0.250000 Peso 3,0 = 0.200000 Peso 2,1 = -0.126370 Peso 3,1 = -1.000023 Umbral 2= 0.526370 Umbral 3= -0.499977 Peso 4,2 = 1.214637 Peso 4,3 = 0.013386 Umbral 4= -0.971465 NEURONA 0 Peso 2,0 = 0.250000 Peso 3,0 = 0.200000 NEURONA 1 Peso 2,1 = -0.126370 Peso 3,1 = -1.000023 Resultado Obtenido Umbral 2= 0.526370 Umbral 3= -0.499977 NEURONA 2 Peso 4,2 = 1.214637 NEURONA 3 Peso 4,3 = 0.013386 Umbral 4= -0.971465 Tabla B.15. Detalle de la prueba N 9 L. Federico Bertona Metodologa de software 237

Entrada

Resultado Esperado

Entrenamiento de redes neuronales basado en algoritmos evolutivos

10 Ejecutar el mtodo evaluar_ejemplos de la clase Accin CRRNN Topologa=(2,2,1) Cantidad de capas=3 Ejemplos {(0,0,0); (1,0,0); (0,1,0); (1,1,1)} Red inicial: Peso 2,0 = -1.314117 Peso 3,0 = 0.741078 Entrada Peso 2,1 = -1.320710 Peso 3,1 = 0.741409 Umbral 2= -2.658615 Umbral 3= 1.676036 Peso 4,2 = -1.040693 Peso 4,3 = 0.016420 Umbral 4= -1.151829 Error rms = 0.009997 Resultado Esperado Resultado Obtenido El error rms es: 0.009997 Tabla B.16. Detalle de la prueba N 10 tem tem Accin 11 Ejecutar el mtodo run de la CAlgoritmoEntrenamiento Topologa=(2,2,1) Cantidad de capas=3 Ejemplos {(0,0,0); (1,0,0); (0,1,0); (1,1,1)} Tipo Entrenamiento: RRNN Mximo error rms: 0.01 Red Neuronal entrenada con error rms<0.01 Error rms = 0.009879. Red obtenida: NEURONA 0 Peso 2,0 = -0.256081 Peso 3,0 = -1.286642 NEURONA 1 Peso 2,1 = -0.288126 Peso 3,1 = -1.296435 Resultado Obtenido Umbral 2= -0.263248 Umbral 3= -2.497676 NEURONA 2 Peso 4,2 = 0.222432 NEURONA 3 Peso 4,3 = -1.083380 Umbral 4= -1.120917 Tabla B.17. Detalle de la prueba N 11

clase

Entrada Resultado Esperado

238

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos tem Accin 12 Ejecutar el mtodo run de la CAlgoritmoEntrenamiento Topologa=(2,2,1) Cantidad de capas=3 Ejemplos {(0,0,0); (1,0,0); (0,1,0); (1,1,1)} Tipo Entrenamiento: AGS Mximo error rms: 0.01 Red Neuronal entrenada con error rms<0.01 Error rms = 0.009938. Red obtenida: NEURONA 0 Peso 2,0 = 0.471516 Peso 3,0 = 8.098954 NEURONA 1 Peso 2,1 = 0.477970 Peso 3,1 = 9.198176 Resultado Obtenido Umbral 2= 0.475004 Umbral 3= 3.927385 NEURONA 2 Peso 4,2 = 2.109279 NEURONA 3 Peso 4,3 = -0.244734 Umbral 4= -0.436489 Tabla B.18. Detalle de la prueba N 12

clase

Entrada Resultado Esperado

B.5. Mantenimiento
En esta seccin se exponen algunas cuestiones referentes al mantenimiento de la aplicacin. Para ello se describen algunos puntos relacionados con la gestin de configuracin.

B.5.1. Gestin de configuracin


Las actividades de Gestin de Configuracin que se realizarn en este proyecto son: - Identificacin de la configuracin. - Control de la configuracin. - Generacin de informes de estado. B.5.1.1. Identificacin de la configuracin - Nombre de la aplicacin: EasyTrain. - Objetivo de la Aplicacin: Entrenar redes neuronales con conexin hacia delante. - Ciclo de vida del Software: Modelo de espiral.

L. Federico Bertona

Metodologa de software

239

Entrenamiento de redes neuronales basado en algoritmos evolutivos - Fases del Ciclo de vida: Se enumeran las fases para este proyecto y se determinan los productos que se espera obtener al final de cada una de ellas: 1. Requerimientos - Documento de especificacin de requerimientos donde se detallan todas las funcionalidades requeridas para poder cumplir con el objetivo del sistema (Seccin B.1). 2. Anlisis - Casos de uso (Seccin B.2). 3. Diseo - Especificacin de plataforma, programas y diseo de archivos (Seccin B.3). 4. Codificacin - Cdigo fuente de los principales programas diseados. 5. Implementacin - Pantallas (Seccin B.4.1). - Comandos implementados (Seccin B.4.2). - Plan de pruebas (Seccin B.4.3.1). - Documento de diseo de la prueba (Seccin B.4.3.2). - Especificacin de los casos de prueba (Seccin B.4.3.3). - Especificacin del procedimiento de prueba (Seccin B.4.3.4). - Informe de los casos de prueba ejecutados (Seccin B.4.3.5). - Informe de la prueba (Seccin B.4.3.6). - Anexo con pruebas realizadas (Seccin B.4.3.7). 6. Mantenimiento - Identificacin de la Configuracin (Seccin B.5.1.1). - Control de la Configuracin (Seccin B.5.1.2). - Generacin de Informes de Estado (Seccin B.5.1.3). - Lneas Base establecidas: Para el desarrollo del presente trabajo se han acotado las lneas base como los elementos de configuracin definidos. En este caso el criterio es que, dado que es una sola persona, el tesista, quien realiza la documentacin del proyecto y la programacin, se ha definido una sola lnea base para todo el proceso de Desarrollo, Programacin e Implementacin cuyas fases y elementos de configuracin se detallaron anteriormente.

240

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.5.1.2. Control de configuracin Utilizando como fuente de informacin, control y seguimiento una Base de Datos de Cambios, se implementa el siguiente mecanismo para el control de los mismos: - Generacin de una solicitud de cambio: Ante el requerimiento de un cambio funcional o un reporte de error, se completa la correspondiente solicitud. - Ingreso de la solicitud a la Base de Datos de cambios: Una vez recibida la solicitud de cambio, se la ingresa en la Base de Datos de cambios. - Anlisis de la solicitud de cambio: Cada solicitud de cambio debe ser analizada y se debe decidir si se rechaza o se acepta el cambio. La decisin tomada queda registrada en la Base de Datos de Cambios. - Evaluacin de la solicitud de cambio: Si se decide la aceptacin de la solicitud de cambio, se debe realizar la evaluacin tcnica de la misma, emitiendo un informe en donde se exprese el esfuerzo requerido para satisfacer el pedido, las repercusiones que dicho cambio genera en otros elementos, y el costo estimado. La evaluacin realizada, queda registrada en la Base de Datos de Cambios. - Generacin de la orden de cambio: El informe generado durante la evaluacin de la solicitud de cambio, se somete a anlisis asignndole la prioridad y los recursos necesarios. Se emite una Orden de Cambio. - Realizacin del cambio: Se realiza el cambio, se registra y se realiza el control de la modificacin. - Prueba e implementacin del cambio: Se certifica que el cambio funciona correctamente y se procede a su implementacin, a travs de la modificacin de manuales y documentos que deban reflejar el cambio. B.5.1.3 Generacin de informes de estado A continuacin se detallan algunos de los informes que incluyen la Gestin de Configuracin y los datos relevantes que incluye cada uno.

L. Federico Bertona

Metodologa de software

241

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.5.1.3.1. Solicitud de cambios Sistema: EasyTrain Fecha: dd/mm/aaaa Pedido por: Resultado de la evaluacin: ACEPTADO | RECHAZADO Cambio solicitado:

Solucin propuesta:

Elementos del producto software afectados por el cambio: Documentacin anexa presentada: Solucin propuesta por el rea de desarrollo:

Tiempo estimado en horas (anlisis, programacin y prueba e implementacin): Cronograma de desarrollo e implementacin:

Plan de pruebas:

Figura B.31. Solicitud de cambios

242

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.5.1.3.2. Orden de cambios Sistema: EasyTrain Fecha: dd/mm/aaaa Pedido por: Nro. solicitud de cambio: Cambio a realizar:

Elementos del producto software afectados por el cambio: Tiempo estimado en horas (anlisis, programacin y prueba e implementacin): Comentarios del cambio:

Fecha de entrega: dd/mm/aaaa Figura B.32. Orden de cambios B.5.1.3.3. Registro de cambios Sistema: EasyTrain Fecha: dd/mm/aaaa Pedido por: Nro. solicitud de cambio: Fecha de solicitud: dd/mm/aaaa Descripcin breve del problema:

Fecha de evaluacin: dd/mm/aaaa Resultado de la evaluacin: ACEPTADO | RECHAZADO Comentarios:

Prioridad asignada: ALTA | MEDIA | BAJA Estado actual del pedido: Fecha de terminacin: dd/mm/aaaa Figura B.33. Registro de cambios

L. Federico Bertona

Metodologa de software

243

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.5.1.3.4. Registro de instalaciones Sistema: EasyTrain Fecha: dd/mm/aaaa Nro. solicitud de cambio: Descripcin breve del problema:

Fecha de evaluacin: dd/mm/aaaa Versin instalada: Figura B.34. Registro de instalaciones B.5.1.3.5. Informe de estado de cambios Sistema: EasyTrain Fecha: dd/mm/aaaa Fecha desde: dd/mm/aaaa dd/mm/aaaa dd/mm/aaaa

Fecha hasta: dd/mm/aaaa

dd/mm/aaaa

dd/mm/aaaa

dd/mm/aaaa

Figura B.35. Informe de estado de cambios

244

Metodologa de software

L. Federico Bertona

Entrenamiento de redes neuronales basado en algoritmos evolutivos B.5.1.3.6. Informe de instalacin Sistema: EasyTrain Fecha: dd/mm/aaaa Fecha desde: dd/mm/aaaa dd/mm/aaaa dd/mm/aaaa dd/mm/aaaa dd/mm/aaaa dd/mm/aaaa Figura B.36. Informe de instalacin

Fecha hasta: dd/mm/aaaa

L. Federico Bertona

Metodologa de software

245

Vous aimerez peut-être aussi