Anda di halaman 1dari 27

Instituto Politcnico Nacional

Escuela Superior de Cmputo

Algoritmos Genticos
Tema 4.4
Entrenamiento de Redes
Neuronales usando
Algoritmos Genticos
Que es una red neuronal?
Existen numerosas formas de definir a las redes neuronales; desde las definiciones cortas y
genricas hasta las que intentan explicar ms detalladamente qu son las redes neuronales. Por
ejemplo:

Una nueva forma de computacin, inspirada en modelos biolgicos.

Un modelo matemtico compuesto por un gran nmero de elementos procesales organizados


en niveles.

Un sistema de computacin compuesto por un gran nmero de elementos simples, elementos


de procesos muy interconectados, los cuales procesan informacin por medio de su estado
dinmico como respuesta a entradas externas.

Redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos


simples y con organizacin jerrquica, las cuales intentan interactuar con los objetos del mundo
real del mismo modo que lo hace el sistema nervioso biolgico.
A continuacin se puede ver, un esquema de una red neuronal:

La misma est constituida por neuronas interconectadas y arregladas en tres


capas (esto ltimo puede variar). Los datos ingresan por medio de la capa de entrada,
pasan a travs de la capa oculta y salen por la capa de salida. Cabe mencionar que
la capa oculta puede estar constituida por varias capas.
Antes de comenzar el estudio sobre las redes neuronales, se debe aprender algo
sobre las neuronas y de cmo ellas son utilizadas por una red neuronal. En la figura
se compara una neurona biolgica con una neurona artificial. En la misma se pueden
observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas).
Para que nos sirven las redes neuronales?
Debido a su constitucin y a sus fundamentos, las redes neuronales artificiales presentan un gran
nmero de caractersticas semejantes a las del cerebro. Por ejemplo, son capaces de aprender de la
experiencia, de generalizar de casos anteriores a nuevos casos, de abstraer caractersticas esenciales a
partir de entradas que representan informacin irrelevante, etc. Esto hace que ofrezcan numerosas
ventajas y que este tipo de tecnologa se est aplicando en mltiples reas. Entre las ventajas se
incluyen:

Aprendizaje Adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamiento o en


una experiencia inicial.

Auto-organizacin. Una red neuronal puede crear su propia organizacin o representacin de la


informacin que recibe mediante una etapa de aprendizaje.

Tolerancia a fallos. La destruccin parcial de una red conduce a una degradacin de su estructura; sin
embargo, algunas capacidades de la red se pueden retener, incluso sufriendo un gran dao.
Operacin en tiempo real. Los cmputos neuronales pueden ser realizados en paralelo; para esto
se disean y fabrican mquinas con hardware especial para obtener esta capacidad.

Fcil insercin dentro de la tecnologa existente. Se pueden obtener chips especializados para
redes neuronales que mejoran su capacidad en ciertas tareas. Ello facilitar la integracin modular
en los sistemas existentes.
Qu son los algoritmos genticos ?
Son herramientas de optimizacin muy
poderosas que estn inspiradas en la biologa,
estos se basan en la teora de la evolucin
gentica y en el concepto de la supervivencia del
ms apto.
Caractersticas
Tienen una naturaleza estocstica
Tienen la capacidad de considerar
simultneamente una poblacin de soluciones
Adaptabilidad ante un rango amplio de
problemas
A qu nos referimos con estocstico ?
Se denomina estocstico al sistema cuyo
comportamiento es intrnsecamente no determinista.
Un algoritmo no determinista es un algoritmo que con la misma entrada ofrece
muchos posibles resultados
Ejemplos
Cada genotipo codifica un fenotipo o solucin candidata en nuestro caso una
clase de arquitectura neuronal.

Las redes neuronales resultantes (los fenotipos) pueden tambin equiparse con
algoritmos de aprendizaje que las entrenen usando el estmulo del entorno o
simplemente ser evaluadas en la tarea por el mecanismo de codificacin /
decodificacin).
Esta evaluacin de un fenotipo determina la aptitud del genotipo correspondiente.

El procedimiento evolutivo selecciona fenotipos de aptitud alta, reproducindolos.


Los operadores genticos tales como la mutacin, la cruza, etc., se utilizan para
introducir variedad dentro de la poblacin y probar variantes de soluciones.

As, sobre varias generaciones, la poblacin gradualmente evolucionar hacia


genotipos que corresponden a fenotipos de aptitud alta.
Problema de aplicacin
Entrenar a la red neuronal capaz de aprobar solicitudes de tarjeta de crdito.

Combinar tcnicas de algoritmos genticos y las redes neuronales, para crear un


sistema hbrido.

Encontrar una forma de generar topologas de redes neuronales que puedan


fcilmente aprender y clasificar una cierta clase de datos.

Los algoritmos genticos se usan para encontrar la mejor topologa que cumpla
con esta tarea..
El set de datos utilizado consiste en datos concernientes a 600 solicitudes de
tarjeta de crdito.

Cada solicitud de tarjeta de crdito constituye un ejemplo de entrenamiento.

Los atributos de un ejemplo de entrenamiento se ven como:

b,30.83,0,u,g,w,v,1.25,t,t,01,f,g,00202,0,+
Diseo del algoritmo hbrido
1. Crear una poblacin inicial de individuos (redes neuronales) con topologas
aleatorias. Entrenar a cada individuo usando el algoritmo de back-propagation.

2. Seleccionar al padre y a la madre mediante un torneo: para cada uno, elegir


tres individuos al azar de la poblacin, quedarse con aquel que tenga el menor
error.

3. Recombinar ambos padres para obtener dos hijos.

4. Mutar aleatoriamente a cada hijo.


5. Entrenar a cada hijo usando el algoritmo de backpropagation.

6. Ubicar a los hijos en la poblacin mediante un torneo: para cada uno, elegir tres
individuos al azar de la poblacin, reemplazar por el hijo a aquel que tenga el
mayor error.

7. Repetir desde el paso 2 durante un nmero dado de generaciones.

En cada experimento se llevan a cabo 100 generaciones del algoritmo gentico.


Todos los experimentos utilizan un tamao de poblacin de 20 individuos.
Significado del error
En un anlisis de experimentos es fundamental tener una medida de que tan
ptima es la red neuronal al clasificar los datos. Dicha medida se conoce como
ERROR.

El error es inversamente proporcional a la performance sobre el set de


validacin.
Regulacin de la complejidad ptima.
Tomando en cuenta un set de datos
que se particiona en tres partes
iguales A,B y C, cada una con
solicitudes aprobadas y
desaprobadas.

Se utilizan los parmetros de


regularizacin {0.05; 0.1; 0.15; 0.2}
para entrenar a la red con la particin
A. Esta peticin converge en la
particin B.
Para visualizar de una
manera ms sencilla el
resultado en la particin C
se evala la habilidad de
clasificacin.
Detencin temprana ptima
Algunas veces es preferible que el
entrenamiento no mejore y se
necesita saber cuntas veces
deberamos de permitir eso.

Se utiliza {2; 5; 10} para entrenar la


red.
En esta grfica se
corrobora los resultados
anteriores, donde muestra
que el parmetro =5 posee
el mejor porcentaje de
clasificacin.
Comparacin de la red neuronal ptima con otras
redes
Para determinar si el proceso evolutivo est realmente mejorando o no a las
redes neuronales en cuanto a sus topologas vamos a comparar a la red
generada por el algoritmo hbrido con :

-La mejor topologa random (generada en la primera generacin del AG).

-Topologa similar a la obtenida por el algoritmo hbrido pero 100% conectada.


Conclusiones
El anlisis de los resultados de los experimentos presentados demuestran que
esta implementacin AG/RN es capaz de crear topologas de red neuronal que en
general, se desempean mejor que topologas random o conectadas
completamente.
Bibliografa
1. Investigador Asistente del Laboratorio de Sistemas Inteligentes. Facultad de
Ingeniera. Universidad de Buenos Aires.

2. Director del Centro de Ingeniera del Software e Ingeniera del Conocimiento.


Instituto Tecnolgico de Buenos Aires.

Anda mungkin juga menyukai