• No se han encontrado resultados

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  gensinmejorar  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,...,J1      (4.4)  donde ξk( )tN(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 

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