1. INTRODUCCIÓN
4.1. A LGORITMO E VOLUTIVO B ÁSICO
En el presente capítulo se describe en primer término el algoritmo evolutivo que marca el punto de partida de la presente Tesis Doctoral. A continuación, se detallan todos los modelos implementados. El Algoritmo Evolutivo (AE) básico seguido [Hervás‐Martínez, Martínez‐Estudillo y Gutiérrez, 2006; Martínez‐Estudillo et al., 2006b] permite diseñar simultáneamente la estructura y aprender los coeficientes de una RNUP.
La búsqueda comienza con una población inicial aleatoria que en cada iteración es modificada siguiendo un proceso evolutivo. La población es sometida a las operaciones de replicación y mutación en sus variantes paramétrica y estructural. El operador de cruce no se usa debido a sus desventajas potenciales en redes neuronales evolutivas [Angeline, Saunders y Pollack, 1994; Yao y Liu, 1997]. Con estas propiedades el algoritmo se engloba bajo el paradigma de Programación Evolutiva. En [Ohkura et al., 2007], se ha propuesto el modelo MBEANN, que tiene puntos en común con el AE mencionado, pues lleva a cabo un entrenamiento simultáneo de la estructura y los coeficientes de la red y no emplea el operador de cruce. El esquema general del AE básico para un problema de clasificación está representado en la figura 4.1.
Programa: Algoritmo Evolutivo Básico Datos: Conjunto de entrenamiento Parámetros de entrada: gen, neu Constantes: Salida: Mejor modelo de RNUP
1: t Å 0
15: última_generación Å t
16: end while
17: return mejor (P(última_generación) {ind1})
Figura 4.1. Pseudocódigo del AE básico.
Explicamos seguidamente los aspectos principales del AE básico:
1) Notación, datos, parámetros de entrada, salida, constantes y variables.
Hemos indicado las palabras clave del pseudocódigo en negrita y las funciones en cursiva. Los comentarios aparecen precedidos por “//”.
Como datos de entrada es necesario un conjunto de entrenamiento.
Los parámetros de entrada del AE son el número máximo de generaciones (gen) y el número de nodos máximo en la capa oculta (neu). Los restantes parámetros a configurar se describen a continuación. Al final de la ejecución, el AE devuelve el mejor modelo de RNUP con un máximo de neu nodos en la capa oculta. Las constantes que se emplean para hacer referencia a ciertos valores numéricos, que no se modifican a lo largo de la ejecución del AE, son
N, N10, N90 y N9, que representan el tamaño de la población, los índices relativos al 10%, 90% y 9% de la población, respectivamente.
Las variables usadas son el número de generación actual (t), la última generación (última_generación) y dos tablas (arrays), una con los individuos de la población que evoluciona y otra, con las aptitudes de cada individuo, denominadas respectivamente P y f. Las funciones se denominan aptitud, ordenar, me, mp y mejor, que, respectivamente, obtienen la aptitud, llevan a cabo la ordenación decreciente en función de la aptitud, aplican mutación estructural, mutación paramétrica y obtiene el mejor individuo.
2) Representación de los individuos. Respecto a la representación de los individuos, el AE trata la población como un conjunto de modelos de RNUP. Se adopta una aproximación orientada a objetos y el algoritmo trata directamente con el fenotipo de la RNA. Cada conexión se especifica con un valor binario que indica si la conexión existe y un valor real que representa su peso. Dado que el cruce no se considera, esta representación orientada a objetos no asume un orden fijo entre los nodos de la capa oculta. Todos los individuos de la población tienen el mismo número máximo de neuronas en la capa oculta. El valor concreto debe ser indicado como entrada del AE y éste afecta claramente al rendimiento y complejidad de la red neuronal.
3) Funciones de error y de aptitud. Tal como hemos comentado en el apartado 2.4.3, el error cometido por el modelo de red neuronal es la función de error cross‐entropy (entropía cruzada) [Bishop, 1995], l( )θˆ , que viene dada por la ecuación (2.28).
Dado que el objetivo del AE es minimizar la función de error elegida, se emplea una función de aptitud que viene dada por:
( )ˆ 1 ˆ 0 ( ) 1ˆ 1 ( )
A A
= l < ≤
θ + θ
θ (4.1)
4) Inicialización de la población. Al comienzo del AE, 10*tam_pob individuos son generados aleatoriamente (paso 2), siendo tam_ pob el tamaño de la población; en todos los experimentos llevados a cabo en la presente Tesis Doctoral tam_ pobtoma el valor 1000. A continuación, todos los individuos son evaluados, se ordenan por aptitud decreciente y los tam_pob mejores individuos forman la población inicial (pasos 3‐5).
5) Condición de parada. El bucle principal del AE se repite hasta que se verifique una de las dos siguientes condiciones: a) alcanzar el número máximo de generaciones especificado por el párametro gen, que es fijado específicamente para el problema a resolver, o b) que el mejor individuo de la población o la aptitud media de la población no mejore durante gen−sin−mejorar generaciones, que en la presente Tesis Doctoral toma el valor 20, obtenido experimentalmente.
6) Mutación paramétrica. La mutación paramétrica modifica el valor de los coeficientes del modelo (paso 9) y consiste en un algoritmo de enfriamiento simulado. La severidad de la mutación de un individuo g de la población la establece la temperatura T g( ), que viene dada por:
( ) 1T g = −A g( ) 0≤T g( ) 1< (4.2)
La mutación paramétrica se lleva a cabo para cada exponente wjiy cada coeficiente βlj del modelo con ruido gaussiano, donde la varianza depende de la temperatura:
w tji( + =1) w tji( )+ξ1( ) t j =1,..., m i=1,...,n (4.3) βlj(t+ =1) βlj( )t +ξ2( ) t j=0,..., m l=1,...,J−1 (4.4) donde ξk( )t ∈N(0,αkT g( )) k =1, 2, sigue una distribución normal unidimensional con media 0 y varianza αk( )· ( )t T g , t y t+1 son respectivamente la generación t‐ésima y la siguiente. Merece ser destacado que la modificación de los exponentes wji debe ser más suave que la realizada sobre los βlj, siendo recomendable asignar valores a α y 1 α2 que verifiquen que α1<<α2. Para la evolución de los parámetros α y 1 α2 se aplica la regla de éxito 1/5, debido a que converge hacia los valores óptimos muy rápidamente [Rechenberg, 1989].
Según dicha regla, la razón de mutaciones satisfactorias debería ser siempre 1/5. De esta forma, si la razón es mayor que 1/5, la desviación
siendo sg la razón de mutaciones satisfactorias durante s generaciones.
En toda nuestra experimentación hemos tomado λ =0,1 y s=5, debido a que en el diseño experimental previo se constató que eran valores suficientemente robustos.
7) Mutación estructural. La mutación estructural implica una modificación en la estructura del modelo (paso 10) y permite explorar diferentes regiones en el espacio de búsqueda y ayuda a mantener diversidad de modelos en la población. Hay 5 tipos diferentes de mutaciones estructurales; las 4 primeras son similares a las del
modelo GNARL [Angeline, Saunders y Pollack, 1994]: añadir nodos, eliminar nodos, añadir conexión, eliminar conexión y fusión de nodos.
Todas las mutaciones comentadas se realizan secuencialmente en la misma generación en el orden especificado sobre cada individuo, con probabilidad T g( ) , tal como se sugiere en [Angeline, Saunders y Pollack, 1994]. Si el valor de probabilidad obtenido no permite realizar mutación, se elige aleatoriamente una de las 5 mutaciones comentadas y se aplica al individuo. El número de nodos a añadir o eliminar pertenece a {1, 2}. El porcentaje de las conexiones que se añaden o se eliminan es de un 30% para las que van de la capa de entrada a la capa intermedia y de un 5% para las que van de la capa intermedia a la capa de salida. Estos valores son robustos y pequeñas variaciones no producen mejoras significativas en el rendimiento.
8) Sumario de los parámetros. Para finalizar la especificación del AE, se explican algunos parámetros o características. Como hemos comentado previamente, el valor de parámetros específicos como el número máximo de generaciones (gen) y el número máximo de neuronas en la capa oculta (neu) deben indicarse como valores de entrada al AE. No existen valores típicos para ellos, por lo que la dificultad radica en determinar buenos valores para el problema que estamos tratando. Además, el rendimiento del AE depende de dichos valores.
Finalmente, para concluir la explicación del AE, la tabla 4.1 describe los valores de algunos parámetros.
Parámetro / Característica Valor
Tamaño de la población (tam_pob) 1000
gen−sin−mejorar 20
Intervalo para los exponentes wji y los coeficientes β lj [‐5, 5]
Valores iniciales de α y 1 α 2 0,5 y 1
respectivamente
Normalización de los datos de entrada [1, 2]
Número de nodos implicados en las operaciones añadir nodo y
eliminar nodo {1, 2}
Tabla 4.1. Parámetros / Características del AE básico.
Los valores asignados a los parámetros son robustos y pequeñas variaciones no producen mejoras significativas en el rendimiento.
Constituyen el resultado de los estudios experimentales [Hervás‐Martínez, Martínez‐Estudillo y Gutiérrez, 2006; Martínez‐Estudillo et al., 2006b], realizados por diferentes miembros del grupo de investigación AYRNA (Aprendizaje Y Redes Neuronales Artificiales) de la Universidad de Córdoba, que han desarrollado el mencionado AE básico.