Modulo de II Unidad de Bioformatica Terminado

89
Universidad Nacional del Santa Bioinformática -. Pág. 1 .- Ing. Lizbeth Dora Briones Pereyra

description

asasd

Transcript of Modulo de II Unidad de Bioformatica Terminado

PRELIMINARES

Universidad Nacional del Santa

Bioinformtica

INTRODUCCION

El presente modulo se ha diseado para facilitar el aprendizaje a los alumnos del curso de Bioinformtica perteneciente a II Unidad, de la escuela de ingeniera de Sistemas e Informtica, ya que en esta unidad tocaremos el tema de los Algoritmos Genticos y Programacin Evolutiva, para estos contenidos se requiere del uso y manejo de Lenguajes de Programacin para la construccin de Algoritmos Genticos como: Lenguaje C, Java, Matlab etc. y Dentro de la programacin evolutiva tenemos a los Algoritmos evolutivos de aprendizaje, para la cual estudiaremos a las Redes Neuronales.

El presente modulo brinda la informacin necesaria para que el alumno pueda comprender mejor la segunda unidad.

El modulo consta de 4 Actividades de Aprendizaje las cuales se detalla a continuacin:

Actividad de Aprendizaje N 01: Modelos Evolutivos de Aprendizaje.- Aqu en primer lugar se define los modelos Evolutivos de Aprendizaje, La Neuronal Biolgica y sus Partes, Redes Neuronales Biolgicas, La Neuronales Artificial, Redes Neuronales Artificiales y su entrenamiento, Historia de la Computacin Neuronal y Modelo de la Neurona Artificial, la Funcin de Activacin, Peso sinpticos, Regla de propagacin, Funcin de activacin, Funcin de salida, Ajuste de Pesos.

La Red Neuronal Artificial Perceptrn, Adaline y Madaline, y Capas de la Red Neuronal Artificial.Al finalizar los temas se mostrar una conclusin final, luego los alumnos observaran videos y elaboraran 4 conclusiones e investigaran sobre las diferentes redes Neuronales que existen.Actividad de Aprendizaje N 02: Computacin Evolutiva: Algoritmos Genticos para Redes Neuronales y Estrategias Evolutivas.-. Aqu el alumno empieza a conocer su clasificacin de la computacin Evolutiva, Enfoques en computacin evolutiva , Algoritmo gentico para entrenamiento de redes neuronales, Entrenamiento de redes neuronales basados en programacin evolutiva, Modelo matemtico de una red neuronal perceptrn, Programa de una Red Neuronal: Problemas y Gua de uso del programa, Ejemplos, modelo simple de red neuronal Perceptrn, Estrategias evolutivas (simples y mltiples) y Aplicaciones de las estrategias evolutivas y al final se mostrar un resumen.Actividad de Aprendizaje N 03: Computacin Evolutiva: Programacin Evolutiva y Programacin Gentica, Aqu el alumno conocer y crear aplicaciones referente a la Programacin evolutiva, aplicaciones y historia, Estrategias evolutivas vs programacin evolutiva, Aplicaciones de las redes neuronales, estado de activacin, conectividad entre neuronas y regla de propagacin, clculo de la matriz de pesos, Regla de aprendizaje y clasificacin de redes.El alumno desarrollar un trabajo grupal sobre Programacin Evolutiva y Programacin Gentica.

Actividad de Aprendizaje N 04: Computacin Evolutiva: Sistemas Clasificatorios, Aqu el alumno conocer y crear aplicaciones usando la Red de Hopfield, Calculo de matriz de pesos y desarrollar diferentes Ejemplos y estudiar otras Redes Neuronales, Luego el alumno realizar un Trabajo de investigacin usando Reden Neuronales.INDICEPg

Introduccin2

ndice3

Actividad de Aprendizaje N 01: Computacin Modelos evolutivos de aprendizaje 5Introduccin al aprendizaje evolutivo5

Modelado o prediccin5

La neuronal biolgica5

Partes de una neurona6Sinapsis6Forma de comunicacin entre neuronas 7Redes neuronales de tipo biolgico8Redes neuronales artificiales9Entrenamientos para el aprendizaje de redes neuronales 9Modelo de neurona artificial10Modelo completo11Umbral11Funcin de activacin ms utilizadas12Entradas y salidas13Pesos sinpticos13Ajuste de pesos 13Regla de propagacin13Funcin de activacin14Funcin de salida14El proceso de aprendizaje 15Fase de operacin. 15Redes neuronales con conexin hacia delante16La red neuronal Artificial Perceptrn. 16Arquitectura17La red neuronal Artificial Adaline / Madaline18Estructura Madaline19Redes neuronales Artificiales de una capa 20La red neuronal artificial Perceptrn de dos capas20La red neuronal artificial Perceptrn de tres capas21La red neuronal artificial Perceptrn multicapa21Resumen22Actividad de Aprendizaje N 02: Computacin evolutiva: algoritmos genticos para redes neuronales y EE24Computacin evolutiva 24Clasificacin de la computacin evolutiva24Algoritmo gentico para entrenamiento de redes neuronales 25

Codificacin de parmetros 26Entrenamiento de redes neuronales basadas en programacin evolutiva26Modelo matemtico de una red neuronal: Perceptrn27Programa de una red neuronal30Gua de uso del programa: 31Notas adicionales38Un modelo simple de red neuronal39Modelo del Perceptrn 42Limitaciones del modelo43Estrategias evolutivas (EE) 44EEs simples44EEs mltiples 45

Algunas aplicaciones de las estrategias evolutivas 45

Resumen45

Actividad de Aprendizaje N 03: Computacin Evolutiva: Programacin evolutiva y programacin gentica51Programacin evolutiva51Programas evolutivos (pe) 52Aplicaciones52Historia53Resumen53Estrategias evolutivas vs programacin evolutiva54Tendencias futuras55Programacin gentica55Aplicaciones de la redes neuronales57Estado de activacin. 57Conectividad entre neuronas y regla de propagacin. 57Calculo de la matriz de pesos. 58Regla de aprendizaje59Clasificacin de las redes60Actividad de Aprendizaje N 04: Computacin Evolutiva: Sistemas Clasificatorios61Sistemas Clasificatorios61Red de Hopfield61Ejemplo 0164Ejemplo 0267Ejemplo 0369Ejemplo 0470Bibliografa75Actividad de Aprendizaje N 01

Modelos evolutivos de aprendizajeObjetivos: Definir modelos de Evolutivos de Aprendizaje.

Diferenciar entre una Neurona Biolgica y una Neurona Artificial.

Aplicar Modelos para el aprendizaje de una Neurona Artificial.

Definir los tipos de Neuronas Artificiales y sus Capas.

Contenidos:Modelos Evolutivos de Aprendizaje.

La Neuronal Biolgica y sus Partes, Redes Neuronales Biolgicas.

La Neuronales Artificial, Redes Neuronales Artificiales y su entrenamiento.Historia de la Computacin Neuronal y Modelo de la Neurona Artificial.Funcin de Activacin Peso sinpticos, Regla de propagacin, Funcin de activacin, Funcin de salida, Ajuste de Pesos.

La Red Neuronal Artificial Perceptrn, Adaline Y Madaline.Capas de la Red Neuronal Artificial.INTRODUCCIN AL APRENDIZAJE EVOLUTIVO

El objetivo de un proceso de aprendizaje es obtener una cierta regla o sistema que permita clasificar objetos de un modo automtico, o predecir el valor de las variables de control de un sistema. MODELADO O PREDICCIN

El problema fundamental de la prediccin est en modelar la relacin entre las variables de estado para obtener el valor de la variable de control.

LA NEURONAL BIOLGICA

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 muestra la estructura tpica de una neurona biolgica.PARTES DE UNA NEURONA

Hay tres partes principales en una neurona:

1. El cuerpo de la neurona o soma.

2. Ramas de extensin llamadas dendrtas para recibir las entradas.

3. Un axn que lleva la salida de la neurona a las desdiras de otras neuronas.

De la figura anterior se observa que la neurona biolgica est 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.

SINAPSIS

La sinapsis es una unin intercelular especializada entre neuronas. En estos contactos se lleva a cabo la transmisin del impulso nervioso. ste se inicia con una descarga qumica que origina una corriente elctrica en la membrana de la clula presinptica (clula emisora); una vez que este impulso nervioso alcanza el extremo del axn (la conexin con la otra clula), la propia neurona segrega un tipo de protenas (neurotransmisores) que se depositan en el espacio sinptico (espacio intermedio entre esta neurona transmisora y la neurona postsinptica o receptora). Estas protenas segregadas o neurotransmisores (noradrenalina y acetilcolina) son los encargados de excitar o inhibir la accin de la otra neurona.

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.

FORMA DE COMUNICACIN ENTRE NEURONAS 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, 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 presinptica 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 a 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 a 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].

REDES NEURONALES DE TIPO BIOLGICO

Se le llama una red neuronal a conexiones entre millones de neuronas formadas en nuestro cerebro.

INCLUDEPICTURE "http://energiacraneosacral.com/anatomia/anatomia_sistema_nervioso/cerebro/anatomia-sistema-nervioso-neuronas_clip_image002.jpg" \* MERGEFORMATINET Estudios sobre la anatoma del cerebro humano concluyen que hay ms de 1000 sinpsis a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de conmutacin de la neurona (unos pocos milisegundos) es casi un milln de veces menor que en las actuales elementos de las computadoras, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras.

El objetivo principal de de las redes neuronales de tipo biolgico es desarrollar un elemento sinttico para verificar las hiptesis que conciernen a los sistemas biolgicos.

Las neuronas y las conexiones entre ellas (sinpsis) constituyen la clave para el procesado de la informacin.

REDES NEURONALES ARTIFICIALESLas 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.

Una red neuronal es un mtodo de resolucin de problemas basado en un modelo informtico de la manera en que estn conectadas las neuronas del cerebro. Una red neuronal consiste en capas de unidades procesadoras, llamadas nodos, unidas por conexiones direccionales: una capa de entrada, una capa de salida y cero o ms capas ocultas en medio. Se le presenta un patrn inicial de entrada a la capa de entrada, y luego los nodos que se estimulan transmiten una seal a los nodos de la siguiente capa a la que estn conectados. Si la suma de todas las entradas que entran en una de estas neuronas virtuales es mayor que el famoso umbral de activacin de la neurona, esa neurona se activa, y transmite su propia seal a las neuronas de la siguiente capa. El patrn de activacin, por tanto, se propaga hacia delante hasta que alcanza a la capa de salida, donde es devuelto como solucin a la entrada presentada. Al igual que en el sistema nervioso de los organismos biolgicos, las redes neuronales aprenden y afinan su rendimiento a lo largo del tiempo, mediante la repeticin de rondas en las que se ajustan sus umbrales, hasta que la salida real coincide con la salida deseada para cualquier entrada dada. Este proceso puede ser supervisado por un experimentador humano, o puede correr automticamente utilizando un algoritmo de aprendizaje, se han utilizado algoritmos genticos para construir y entrenar a redes neuronales.

ENTRENAMIENTOS PARA EL APRENDIZAJE DE REDES NEURONALES

Uno de los aspectos ms importantes en el uso de las redes neuronales es el del entrenamiento o aprendizaje: a partir de unos vectores de muestra o entrenamiento, se ajustan los pesos de los enlaces entre las diferentes capas de neuronas que componen la red para minimizar una funcin de error, es decir, para ajustar las salidas producidas por la red, a las esperadas.

Sin embargo el mtodo de aprendizaje ms comnmente usado, la propagacin hacia atrs y en general todos los mtodos basados en el gradiente, tienen unas limitaciones muy conocidas: convergencia a mnimos locales muy dependientes de la solucin inicial, y por lo general, muy alejados de los ptimos globales.

Tcnicas ms recientes de optimizacin global como Algoritmos Genticos, Temple Simulado o Bsqueda Tab son usados como mtodos de aprendizaje alternativos y en muchos casos consiguen mejorar notablemente las soluciones obtenidas.

Ejemplo del uso de redes neuronales que no requieran un mtodo de aprendizaje rpido es el "predecir" o determinar si un determinado cliente que pide un crdito a un banco va a ser capaz de pagar ese crdito o no. Otros ejemplos muy tpicos, en nuestro campo o en campos prximos, de este tipo de aplicaciones son el uso de las redes como mtodos de clasificacin o prediccin en estudios economtricos o estadsticos tales como: Prediccin de Quiebra o Solvencia de determinadas entidades financieras o empresas, Anlisis de valores burstiles, etc...

Por el contrario no es fcil encontrar aplicaciones de redes neuronales en las que se requiera un mtodo de aprendizaje rpido. Sin embargo un tipo de estas aplicaciones que est surgiendo muy recientemente es la optimizacin de simulaciones. Los mtodos para obtener una ptima o pseudo-ptima solucin o combinacin de parmetros tienen el inconveniente de que determinar o estimar la funcin objetivo de cada solucin puede requerir un tiempo de computacin.

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 muestra los elementos que componen una neurona artificial:

Modelo Completo

Lo que tiene que hacer la neurona artificial es multiplicar cada entrada por su respectivo peso, lo mismo que el peso umbral, que normalmente su entrada es -1 (pero se puede utilizar otro valor, segn sea el caso, pero eso se ver ms adelante), y sumar esos resultados, esa sumatoria se llama la regla de propagacin, ese resultado pasa a ser evaluado por otra funcin que es la funcin de activacin cuyo resultado es efectivamente la salida de la neurona artificial, esta funcin de salida depender del tipo de neurona que se utilice.

La regla de propagacin ms comn, es la vista en la figura.

UMBRAL i representa un desplazamiento o umbral de activacin (sesgo o bias). Se puede pensar i como el peso w0i que conecta una neurona imaginaria x0 con a0(t) = 1.

FUNCION DE ACTIVACION MS UTILIZADASVeremos una tabla que muestra un listado de algunas de las funciones de activacin ms utilizadas en los distintos modelos de redes neuronales artificiales.

Aqu tenemos otro modelo

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.

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:

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

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.

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.

Ajuste de Pesos

Mediante el ajuste de los pesos sinpticos, la red es capaz de adaptarse a cualquier entorno y realizar una determinada tarea.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:

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

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:

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:

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:

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.

Capa de entrada:

Se denomina capa de entrada a aquella que est compuesta por neuronas de entradas y por lo tanto recibe informacin procedente desde el exterior. Anlogamente, se denomina capa oculta.

Capa de salida:

Aquellas capas que estn compuestas por neuronas ocultas y de salida respectivamente.

Una red neuronal artificial est 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 est 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).

Aprendizaje

Durante la operatoria de una red neuronal podemos distinguir claramente dos fases o modos de operacin:

La fase de aprendizaje o entrenamiento

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.

En la fase de operacin es donde la red es utilizada para llevar a cabo la tarea para la cual fue entrenada.

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 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 a la 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 cul es la salida exacta que debe proporcionar la red.

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.

REDES NEURONALES CON CONEXIN HACIA DELANTE

Las redes neuronales artificiales con conexin hacia delante son el tema central. 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 perceptrn multicapa.

LA RED NEURONAL ARTIICIAL 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 est 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. Como se muestra en la figura anterior en la tabla Funciones de activacin.

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.

La operacin de un perceptrn con n neuronas de entrada y m neuronas de salidas puede ser resumida de la siguiente manera:

ARQUITECTURA

La arquitectura del Perceptron, llamada mapeo de patrones (pattern-mapping), aprende a clasificar modelos mediante un aprendizaje supervisado. Los modelos que clasifica suelen ser generalmente vectores con valores binarios (0,1) y las categoras de la clasificacin se expresan mediante vectores binarios.

El Perceptron presenta dos capas de unidades procesadoras (PE) y slo una de ellas presenta la capacidad de adaptar o modificar los pesos de las conexiones. La arquitectura del Perceptron admite capas adicionales pero stas no disponen la capacidad de modificar sus propias conexiones.

La Figura muestra la unidad procesadora bsica del Perceptron. Las entradas ai llegan por la parte izquierda, y cada conexin con la neurona j tiene asignada un peso de valor wji.

La unidad procesadora del Perceptrn realiza la suma ponderada de las entradas segn la ecuacin (1).

Un aspecto comn en muchas de las ANN es la entrada especial llamada "bias" representada en la parte superior izquierda de la figura (entrada a0). Esta entrada siempre presenta un valor fijo, +1 y funciona como una masa en un circuito elctrico donde no vara de valor (se puede utilizar como un valor constante de referencia).

El Perceptrn comprueba si la suma de las entradas ponderadas es mayor o menor que un cierto valor umbral y genera la salida " xj" segn la ecuacin (2).

La salida xj es transmitida a lo largo de la lnea de salida y constituye uno de los componentes del vector de salida de la red.

LA RED NEURONAL ARTIFICIAL ADALINE / MADALINEOtro 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 Figura muestra una Adaline bsica. La unidad procesadora representada por un crculo con el smbolo sumatorio implementa una funcin umbral. Las conexiones de cada una de las entradas tienen asociadas un valor de ponderacin llamado tambin peso

wi. El mecanismo de ajuste de los pesos representado en la Figura (b), consiste en Utilizar la diferencia entre el valor de la salida y el valor esperado. La unidad procesadora acta como un sumador y despus realiza la funcin umbral segn la ecuacin (4)

La salida de la unidad Adaline es 1 a diferencia de la arquitectura del Perceptron que slo permite los valores 0 y 1.

El entrenamiento se realiza presentando repetidamente una serie de parejas de entradas y salidas. El objetivo de la Adaline durante el proceso de la adaptacin es producir la salida deseada como propia suya. La regla de aprendizaje en la arquitectura de la Adaline es la regla de Widrow-Hoff expresada en la ecuacin (5)

Siendo la constante de aprendizaje, ai la salida de la unidad i, t la salida deseada y por ltimo x la salida de la unidad Adaline. No obstante la variante de esta regla ms utilizada considera el valor de la suma ponderada S en vez del valor de la salida de la unidad Adaline.

ESTRUCTURA MADALINE

El sistema Madaline tiene una capa de unidades Adaline que estn conectadas a una simple unidad Madaline. La Figura muestra cuatro unidades en la capa de entrada, tres unidades Adaline en la segunda capa y una unidad Madaline en la tercera capa.

Las conexiones entre la capa de entrada y la capa de las unidades Adaline tienen asociadas un peso ajustable por cada una de ellas. Sin embargo, las conexiones entre la capa de Adaline y la unidad Madaline no tienen asociado ningn peso. Cada unidad Adaline transmite su salida (-1 +1) a la unidad Madaline. La Madaline emplea una regla de mayoras para obtener su salida: si la mitad o ms de las unidades Adaline presentan un valor de salida +1, entonces la salida de la Madaline es +1. En caso contrario el valor de salida de la red Madaline es -1. El entrenamiento de los sistemas Madaline es similar al entrenamiento de las Adaline. El conjunto de entrenamiento es un conjunto de patrones de entrada emparejados con las salidas deseadas. Una vez que se presenta el patrn a la entrada, el sistema Madaline calcula su salida y a continuacin se compara con la salida deseada. Los pesos son modificados despus de que cada patrn sea presentado a la entrada del sistema.

La operacin de una red ADALINE con n neuronas de entrada y m neuronas de salidas puede ser resumida de la siguiente manera:

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.REDES NEURONALES ARTIFICIALES DE UNA CAPA

La capacidad de clculo y potencia de la computacin neuronal proviene de las mltiples conexiones de las neuronas artificiales que constituyen las redes ANN.

La red ms simple es un grupo de neuronas ordenadas en una capa como se muestra en la Figura. Los nodos circulares slo son distribuidores de las entradas y no se consideran constituyentes de una capa.

Cada una de las entradas est conectada a travs de su peso correspondiente a cada neurona artificial. En la prctica existen conexiones eliminadas e incluso conexiones entre las salidas y entradas de las neuronas de una capa. No obstante la figura muestra una conectividad total por razones de generalizacin.

Normalmente las redes ms complejas y ms grandes ofrecen mejores prestaciones en el

Clculo computacional que las redes simples. Las configuraciones de las redes construidas presentan aspectos muy diferentes pero tienen un aspecto comn, el ordenamiento de las neuronas en capas o niveles imitando la estructura de capas que presenta el cerebro en algunas partes.

LA RED NEURONAL ARTIFICIAL PERCEPTRON DE DOS CAPASLas redes multicapa se forman con un grupo de capas simples en cascada. La salida de una capa es la entrada de la siguiente capa. Se ha demostrado que las redes multicapa presentan cualidades y aspectos por encima de las redes de una capa simple. La Figura

Muestra una red de dos capas.

LA RED NEURONAL ARTIICIAL PERCEPTRON DE TRES CAPASLas topologas con tres o ms capas se caracterizan porque la regla de aprendizaje del perceptrn slo adapta los pesos o valores de las conexiones de una capa. Una aplicacin tpica de un sistema de tres capas es la que muestra la Figura donde la entrada es la imagen de la letra E y la salida es la categorizacin de la entrada en dos clases.

LA RED NEURONAL ARTIICIAL PERCEPTRON MULTICAPAEs una extensin del perceptrn simple. La topologa de un perceptrn multicapa est 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:

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.

RESUMEN

Actividad de Aprendizaje N 02

Computacin Evolutiva: Algoritmos Genticos para Redes Neuronales y Estrategias Evolutivas

Objetivos:

Conocer la Computacin Evolutiva y su clasificacin.

Crear algoritmos genticos para el entrenamiento de redes neuronales.

Conocer los modelos matemticos y realizar ejemplos con la red neuronal perceptrnContenidos:

Computacin evolutiva y su clasificacin de la computacin Evolutiva

Enfoques en computacin evolutiva

Algoritmo gentico para entrenamiento de redes neuronales

Entrenamiento de redes neuronales basadas en programacin evolutiva

Modelo matemtico de una red neuronal perceptrn

Programa de una Red Neuronal: Problemas y Gua de uso del programa:

Ejemplos, modelo simple de red neuronal PerceptrnEstrategias evolutivas (simples y mltiples)Aplicaciones de las estrategias evolutivas y resumenCOMPUTACION EVOLUTIVA

La Computacin Evolutiva interpreta la naturaleza como una inmensa mquina de resolver problemas y trata de encontrar el origen de dicha potencialidad para utilizarla en nuestros programas.

Con el trmino de Computacin Evolutiva se engloba al conjunto de tcnicas que basndose en la simulacin de los procesos naturales y la gentica se utiliza para resolver problemas complejos de bsqueda y aprendizaje.CLASIFICACION DE LA COMPUTACION EVOLUTIVA

Dentro de la Computacin evolutiva se puede clasificar de la siguiente manera:

De los cuales en esta Unidad de Aprendizaje veremos solo las dos primeras.

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.

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

Este esquema de codificacin del genotipo est directamente relacionado con el esquema de cruza que se utilizar, y que se describe en el grfico.

Entrenamiento de redes neuronales basado en algoritmos evolutivos

ENTRENAMIENTO DE REDES NEURONALES BASADOS EN PROGRAMACIN EVOLUTIVA

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.

Modelo Matemtico de una Red Neuronal: Perceptrn

1) Modelo de una Neurona perceptrn Simple:

X1 W1 X2 W2 Y

X0 W02) Representacin de un compuerta lgica OR:

X1X2X1 v X2

VVV

VFV

FVV

FFF

X1X2X1 v X2

111

1-11

-111

-1-1-1

Verdadero = Positivo (1)

Falso = Negativo (-1)

3) Funcin de Activacin:

1 si W1X1 + W2X2 + W0X0 0

Y =

-1 si W1X1 + W2X2 + W0X0 < 0

4) Ingresar los valores de los pesos y el umbral

Ingresar Aleatoriamente

Ingresar desde el Teclado

W1 = 1,2 X0 = -1

W2 = -1,2

W0 = -0,4

X1 W1=1,2

X2 W2 =-1,2 Y

X0 =-1 W3 = -0,4

PASO 01: I Iteracion

Y = W1X1 + W2X2 + W0X0

Y = (1,2)(1) + (-1,2)(1) + (-0,4)(-1)

Y = 1,2 1,2 + 0,4

Y = 0,4 0 Y = 1

II Iteracin:

Y = W1X1 + W2X2 + W0X0

Y = (1,2)(1) + (-1,2)(-1) + (-0,4)(-1)

Y = 2,8 0 Y = 1

III Iteracion:

Y = W1X1 + W2X2 + W0X0

Y = -2 < 0 Y = -1

PASO 02: Ajuste de Pesos Factor de Aprendizaje

Wij(t) = Wi(0) + 2E(ti)(Xj) E=0,5

W1 = W1 + 2E(ti)(X1)

W1 = 1,2 + 2(0,5)(1)(-1)

W1 = 0,2

W2 = W2 + 2E(ti)(X2)

W2 = (-1,2) + 2(0,5)(1)(1)

W2 = -0,2

W0 = W0 + 2E(t1)(X0)

W0 = (-0,4) + 2(0,5)(1)(-1)

W0 = -1,4

X1 W1=0,2

X2 W2 =-0,2 Y

X0 W3 = -1,4

PASO 03: Repetir el Paso 1

I Iteracion

Y = W1X1 + W2X2 + W0X0

Y = (0,2)(1) + (-0,2)(1) + (-1,4)(-1)

Y = 1,4 0 Y = 1

II Iteracin:

Y = W1X1 + W2X2 + W0X0

Y = (0,2)(1) + (-0,2)(-1) + (-1,4)(-1)

Y = 1,8 0 Y = 1

III Iteracin:

Y = W1X1 + W2X2 + W0X0

Y = (0,2)(-1) + (-0,2)(1) + (-1,4)(-1)

Y = 1 0 Y=1

IV Iteracin:

Y = W1X1 + W2X2 + W0X0

Y = (0,2)(-1) + (-0,2)(-1) + (-1,4)(-1)

Y = 1,4 0 Y=1 PASO 04: Ajuste de Pesos Factor de Aprendizaje

Wij(t) = Wi(0) + 2E(ti)(Xj) E=0,5

W1 = W1 + 2E(ti)(X1)

W1 = 0,2 + 2(0,5)(-1)(-1)

W1 = 1,2

W2 = W2 + 2E(ti)(X2)

W2 = (-0,2) + 2(0,5)(-1)(-1)

W2 = 0,8

W0 = W0 + 2E(t1)(X0)

W0 = (-1,4) + 2(0,5)(-1)(-1)

W0 = -0,4

PASO 05: Repetir el Paso 1

X1 W1=1,2

X2 W2 = 0,8 Y

X0 W0 = -0,4

I Iteracion

Y = W1X1 + W2X2 + W0X0

Y = (1,2)(1) + (0,8)(1) + (-0,4)(-1)

Y = 2,4 0 Y = 1

II Iteracin:

Y = W1X1 + W2X2 + W0X0

Y = (1,2)(1) + (0,8)(-1) + (-0,4)(-1)

Y = 0,8 0 Y = 1

III Iteracion:

Y = W1X1 + W2X2 + W0X0

Y = (1,2)(-1) + (0,8)(1) + (-0,4)(-1)

Y = 0 0 Y=1

IV Iteracion:

Y = W1X1 + W2X2 + W0X0

Y = (1,2)(-1) + (0,8)(-1) + (-0,4)(-1)

Y = -1,6 < 0 Y=-1

Pesos ideales X1 W1=1,2

X2 W2 =0,8 Y

X0 W3 = -0,4

Programa de una Red Neuronal

Simula una red neuronal sencilla basada en el modelo del Perceptrn. - Descripcin general:

Las redes neuronales que puede crear y simular el programa estn formadas por 2 capas de neuronas:

Una capa de entradas, con un mximo de 8 neuronas.

Una capa de salidas, con un mximo de 8 neuronas.

Y, cada neurona de la capa de entradas est conectada con todas las neuronas de la capa de salidas. Estas conexiones presentan pesos sinpticos variables: Wij, siendo i el nmero de la neurona de entrada (Xi) y j el de la neurona de salida (Xj).

Adems, cada neurona de la capa de salidas presenta un valor umbral (Tj), que, para facilitar la rutina de entrenamiento, se expresa como si fuera un peso sinptico ms, asociado a una neurona bias (siempre activa).

De esta manera, los valores umbrales quedan: Tj = -W0j, siendo j el nmero de la neurona de salida (Xj) y X0 la neurona bias.

As, uno de los modelos que puede manejar el programa sera:

Y la condicin de activacin para las neuronas de la capa de salida quedara:

Para el entrenamiento se usa la regla de entrenamiento del Perceptrn simplificada:

Si la salida generada por la neurona de salida es la correcta (segn la tabla de datos de entrenamiento), no se realizan ajustes de los pesos sinpticos.

Si la salida es 1 pero debera ser 0, se reducen slo los pesos de las conexiones activas sobre la neurona de salida segn una constante de entrenamiento C.

Si la salida es 0 pero debera ser 1, entonces se aumentan slo los pesos de las conexiones activas segn la misma constante C.

El programa permite tambin trabajar con la red una vez esta ha sido entrenada, de forma que introduciendo unos datos de entrada, la red genera unos datos de salida. Y las tablas con los resultados de la red pueden exportarse en formato texto (.TXT). - Problemas:

Debido a los problemas que presentan los modelos de redes neuronales de 2 capas (ver el apartado "Limitaciones del modelo de Perceptrn" en el documento de Conceptos Tericos), es posible que en determinadas situaciones la red neuronal no pueda llegar a una eficacia del 100% (cuando la red genera las salidas correctas para todas las entradas de la tabla de entrenamiento).

Para evitar que, debido a esta causa, el programa entre en un bucle sin fin (quedando bloqueado), en la pantalla de Entrenamiento existe un botn Stop, que detendr el entrenamiento de la red. Adems, la eficacia que se desea obtener de la red es regulable, de forma que se pueda entrenar la red incluso en los casos descritos anteriormente (aunque obteniendo unos resultados nada exactos).

Gua de uso del programa:

Para facilitar su utilizacin, el programa presenta ayudas contextuales mediante una barra de estado en la parte inferior de la pantalla.

As, para conocer la funcin de un botn, slo hay que situar el puntero del ratn sobre dicho botn, y en la barra de estado aparecer una pequea descripcin. - Crear una red neuronal:

Elegir la opcin Nueva del men Red.

Aparecer una ventana donde se pueden elegir: el nmero de neuronas en la capa de entrada y el nmero de neuronas en la capa de salidas. Pulsar el botn Aceptar para crear la red.

Una vez hecho esto, el programa definir internamente la red (mediante 3 matrices de variables; una para las neuronas de entrada, otra para las de salidas y otra para los pesos sinpticos), y presentar un esquema de la red que se acaba de crear.

Aparecer tambin la pantalla de Datos de Entrenamiento, que permitir introducir los pares entrada/salida que se usarn para entrenar la red.

- Introducir Datos de Entrenamiento:

Las neuronas de las redes neuronales creadas por el programa, slo pueden tener 2 estados:

EstadoValor

Activo1

Inactivo0

De manera que los datos que se introducirn en la red sern siempre vectores, formados por tantas columnas como neuronas presente la capa en la que se introducen.

As, en una red de 2 neuronas en la capa de entrada y una en la capa de salidas, el vector introducido en la capa de entrada tendra 2 columnas y el introducido en la capa de salidas 1.

Pero, para simplificar el tratamiento de los datos y acelerar su escritura, los vectores se introducirn siempre de la siguiente forma: 0101, que equivaldra al vector (0, 1, 0, 1). Para introducir los datos entrada/salida de la tabla de entrenamiento, se usarn las cajas de texto, en las que se introducirn los valores para el estado de cada neurona de la capa siguiendo la notacin descrita. Una vez introducido el par de datos entrada/salida, habr que pulsar el botn Ok, y estos pasarn a formar parte de la tabla de entrenamiento. Ejemplo:

Supongamos una red de 2 neuronas en la capa de entradas y 1 en la de salidas. Si queremos entrenar la red de manera que la neurona de salida se active (1) si la neurona de entrada 1 esta activa (1) y la neurona 2 esta inactiva (0), introduciramos los siguientes valores en las cajas de texto:

Entrada:Salida:

011

Una muestra de una tabla de entrenamiento seria la siguiente:

Si guardamos la red en este punto (opcin Guardar... del men Red), se guardar por un lado el archivo que describe la estructura de la red (extensin .NN), y por otro un archivo que contiene los datos de la tabla de entrenamiento (extensin .ENN).

- Entrenar la red:

Una vez introducida toda la tabla de entrenamiento, slo hay que pulsar el botn Entrenar para pasar a la pantalla de Entrenamiento.

La pantalla de Entrenamiento presenta diferentes opciones:

Constante de entrenamiento: es el valor que usa la regla de entrenamiento para incrementar/decrementar los pesos sinpticos durante el entrenamiento.

Eficacia deseada (%): indica el porcentaje de valores de salida correctos respecto al total que se coloca como lmite mnimo para concluir el entrenamiento.

Repetir entrenamiento: desprecia los pesos sinpticos obtenidos despus de un entrenamiento, y permite volver a entrenar la red.

Cancelar entrenamiento: desprecia los pesos sinpticos obtenidos y vuelve a la pantalla de Datos de Entrenamiento.

Stop: en caso de estar realizando el entrenamiento rpido, detiene el proceso.

Ciclos de entrenamiento: informa sobre el nmero de veces que la red neuronal a sido entrenada con un dato de entrenamiento.

Lista de pesos sinpticos: informa del valor del peso sinptico (Wij) desde la neurona i de la capa de entradas a la neurona j de la capa de salidas.

Adems, existen dos opciones de entrenamiento:

Entrenamiento rpido: entrena la red sin mostrar informacin sobre el estado del entrenamiento por pantalla. Es el mtodo recomendado en la mayora de casos.

Entrenamiento paso a paso: muestra informacin (en forma de explicacin y mediante colores) sobre cada paso de un ciclo de entrenamiento. Esta opcin es til para saber que hace la red neuronal en cada ciclo de entrenamiento.

Si guardamos la red despus del entrenamiento, la red se guardara ya entrenada (el archivo .NN contendr adems los pesos sinpticos resultantes del entrenamiento), de manera que cuando se carge el fichero ms adelante, no har falta volver a entrena la red neuronal.

- Trabajar con la red entrenada:

Despus de entrenar la red, si se quiere trabajar con la red neuronal (introducirle datos y que genere resultados a partir de lo que ha aprendido), hay que pulsar el botn Trabajar con la Red.

Aparecer as la pantalla de Datos de Trabajo, que nos permite introducir datos de entrada a partir de los cuales la red generar la salida.

Adems, podemos indicar para cada dato de entrada cual es el resultado esperado (caja de texto Salida esperada).

Una vez introducidos los datos para que la red trabaje, hay que pulsar el botn Generar resultados >. Aparecer entonces la pantalla de Resultados, donde, adems de los resultados se muestran las discrepancias entre las salidas esperadas y las proporcionadas por la red:

Una vez aqu, se puede guardar la tabla de resultados en formato texto (opcin Guardar datos de trabajo... del men Datos). Si al principio de la sesin de trabajo no deseamos introducir los datos de entrada a mano, tambin se puede importar un archivo de texto (opcin Cargar datos de trabajo... del men Datos).

El archivo de texto ha de contener en cada lnea: el dato de entrada, una coma, un espacio en blanco (representa la salida que queremos obtener), otra coma, y el dato de salida que esperamos (no obligatorio).

Ejemplo (model1_1.txt):

11, , 1

10, , 0

01, , 0

00, , 0

Ejemplos suministrados:

En el archivo suministrado se encuentran 2 ejemplos de redes neuronales ya preparadas. Estos ejemplos estn en el directorio EJEMPLOS\ - MODEL1_1.NN:

La red neuronal que se ha creado es una red con 2 neuronas en la capa de entradas y 1 en la capa de salidas.

La tabla de entrenamiento se ha diseado de manera que la red ejecute la operacin AND (Y lgico) entre las neuronas de la capa de entradas. As, la neurona de salida slo se activa si las dos neuronas de la capa de entradas estn activas: X1X2Capa de salida

Caso 1000

Caso 2010

Caso3100

Caso 4111

Esta es la red usada en el apartado "Un modelo simple de red neuronal" del documento de Conceptos Tericos.

Si se estrena esta red se obtendrn (tal como se indico en Conceptos Tericos) los siguientes pesos sinpticos:

Peso sinpticoValor

W111

W212

W01-2

En caso de no querer realizar el entrenamiento de la red, en el archivo MODEL1_2.NN se encuentra la misma red neuronal ya entrenada. - MODEL2_1.NN:

Esta red neuronal, est entrenada para diagnosticar un resfriado a partir de los sntomas que se le indiquen.

La red consta de 4 neuronas en la capa de entrada, con las siguientes equivalencias:

Neurona de entradaSntomaValor 0Valor 1

1Dolor de cabezaNoS

2FiebreNoS

3TosNoS

4Dolor de rodillaNoS

La neurona de salida devuelve 1 si hay resfriado y 0 si no hay resfriado.

A partir de estos datos, se elabora la siguiente tabla de entrenamiento: X1X2X3X4Capa de salida

00000

11111

11101

00010

01101

01111

00100

00110

10101

10111

Los pesos sinpticos generados son:

Peso sinpticoValorSntoma asociado

W112Dolor de cabeza

W212Fiebre

W310Tos

W410Dolor de rodilla

W01-1

La red resultante, a la hora de diagnosticar un resfriado, da mayor importancia al hecho de padecer fiebre o dolor de cabeza que no al hecho de sufrir tos.

El hecho de padecer dolor de rodilla tampoco recibe ninguna importancia.

Lgicamente este modelo es un modelo muy sencillo entrenado con pocos casos, de manera que si usramos ms casos, obtendramos que la tos recibe ms importancia que el dolor de rodilla.

Notas Adicionales- Desarrollo:

El programa ha sido realizado en Visual Basic 3 para Windows 3.x.

El cdigo fuente se puede consultar en el directorio FUENTES\.

Puesto que esta grabado en formato ASCII, aunque no se disponga de Visual Basic 3, se puede revisar el cdigo (comentado), abriendo los archivos con extensin .FRM en un editor de textos como el NOTEPAD.EXE de Windows.

- Instalacin:

Para instalar el programa solo hay que descomprimir el archivo .ZIP (usando la opcin de descomprimir directorios) y ejecutar el programa SETUP.EXE, despues slo hay que seguir las instrucciones que aparecen en pantalla.

Por ltimo, slo queda mover los directorios FUENTES, EJEMPLOS y DOCUMENTACION al directorio donde se ha instalado el programa.

- Consultas:

Para cualquier consulta, problema o comentario sobre el programa:

Un modelo simple de red neuronalConsideremos una red neuronal formada por 2 capas:

Una capa de entradas formada por 2 neuronas: 1 y 2.

Una capa de salidas formada por una sola neurona: 3.

Las conexiones entre las dos neuronas de entrada y la neurona de salida presentan pesos sinpticos ajustables mediante el entrenamiento. Y a su vez, el valor umbral (U) de la neurona 3 puede ser ajustado como un peso sinptico ms, al considerar U = -W0 asociado a una neurona bias (siempre activa: X0 = 1).

El esquema de este modelo seria el presentado en la figura 4:

Y la condicin de activacin de la neurona 3 sera:

Adems, en este modelo, cada neurona de una capa "transmite" su estado de activacin (0 o 1) a la siguiente capa de neuronas, y despus deja de estar activa. Ahora, entrenaremos la red de manera que la neurona 3 se active slo si las neuronas 1 y 2 estn activas, y permanezca inactiva en caso contrario. Hay as cuatro posibles casos:

X1X2Capa de salida (X3)

Caso 1000

Caso 2010

Caso3100

Caso 4111

Para entrenar esta red, usaremos una regla de aprendizaje derivada del mtodo de aprendizaje Hebbiano.

- Regla de aprendizaje de Hebb:

Tambin llamada aprendizaje de coincidencia o aprendizaje Hebbiano. Y fue sugerida por Donald Hebb en 1949, a partir de estudios con neuronas reales.

Hebb observ que la sinapsis (conexin entre 2 neuronas reales) se reforzaba s la neurona de entrada (o presinptica) y la neurona de salida (o postsinptica) eran activadas de manera continua. De esta forma, las conexiones que se usan son las que se refuerzan. As, segn este mtodo de aprendizaje aplicado a las redes neuronales artificiales, las conexiones entre las neuronas de entrada activas y las neuronas de salida activas se refuerzan durante el entrenamiento: coincidencias entre actividad de entrada y actividad de salida se intensifican. Mientras que las conexiones entre neuronas de entrada inactivas y neuronas de salida (activas o inactivas) no se refuerzan. Este mtodo de aprendizaje puede ser tanto supervisado como no supervisado. Cuando es supervisado, la respuesta correcta para el dato de entrada es introducida para cada neurona de salida, y los pesos sinpticos entre las neuronas activas se incrementan, mientras que los pesos entre neuronas que no estn activas simultneamente permanecen igual que estaban.

El problema de este mtodo es que no tiene en cuenta la eficacia de la red. As, aunque la red ya esta entrenada y los valores de entrada generen valores de salida correctos, la regla de aprendizaje continua incrementando los pesos sinpticos entre neuronas activas.

- Entrenamiento de la red:

Debido al problema de la regla de aprendizaje de Hebb, usaremos una regla de aprendizaje derivada, y que si tenga en cuenta la eficacia de la red en cada momento:

1. Si la salida generada por la neurona 3 (para los valores de las otras dos neuronas) es la correcta, no se realizan ajustes de los pesos sinpticos.

2. Si la salida es 1 pero debera ser 0, se reducen slo los pesos de las conexiones activas segn una constante C.

3. Si la salida es 0 pero debera ser 1, entonces se aumentan slo los pesos de las conexiones activas segn la misma constante C.

As, en cada ciclo de entrenamiento:

Se presenta un dato de entrada (formado por los valores de las neuronas 1 y 2) del conjunto de datos de entrenamiento.

La red, a partir del dato de entrada generar un dato de salida.

Se aplica la regla anterior, que mide la eficiencia de la red y acta en consecuencia.

Y se realizan diferentes ciclos de entrenamiento con los valores de entrenamiento hasta que la red responda correctamente a todos los datos de entrada (en todos los casos de entrenamiento) o hasta que la red ya no pueda aprender ms. De esta forma, si partimos de unos pesos sinpticos iguales a 0 (W1 = W2 = W0 = 0) y de una constante de refuerzo igual a 1 (C = 1):

Introducimos el dato de entrada del caso 1: (X1, X2) = (0, 0).

Puesto que todos los pesos valen 0:

As el valor de salida de la neurona 3 es 0, y como el valor de la neurona 3 tenia que ser 0 (segn el caso 1 de entrenamiento), no se realizan ajustes de los pesos.

Introducimos el dato de entrada del caso 4: (X1, X2) = (1, 1).

Puesto que todos los pesos valen 0:

Pero, como el valor de salida de la neurona 3 es 0, y tenia que ser 1 (segn el caso 4 de entrenamiento), los pesos de las conexiones activas se aumentan en un valor de C (tal como indica el apartado 3 de al regla de aprendizaje): W1 = W1 + C = 0 + 1 = 1

W2 = W2 + C = 0 + 1 = 1

W0 = W0 + C = 0 + 1 = 1

Y se continuara de esta manera hasta terminar el entrenamiento, en cuyo caso obtendramos los siguientes pesos sinpticos ajustados:

Peso sinpticoValor

W11

W22

W0-2

- Modelo del Perceptrn:

Este modelo de red simple, sera un modelo reducido del modelo del Perceptrn, desarrollado por Rosenblatt entre 1958 y 1962, a partir de los modelos de red de McCullough-Pitts.

En el ojo, la imagen proyectada sobre la retina es convertida en seales elctricas gracias a las clulas sensitivas a la luz (conos y bastones). Estas seales, a travs de los axones de las clulas ganglionares, son transmitidas al cerebro, que interpreta la imagen.

El modelo del Perceptrn est basado en esta idea del ojo: las clulas sensibles de la retina serian detectores conectados con neuronas de la capa de entrada; estas neuronas se activan (1) cuando se activa el detector correspondiente. Cada neurona de la capa de entrada est conectada con diferentes neuronas de la capa de deteccin de caractersticas. Y cada neurona de esta capa estara conectada a su vez con diferentes neuronas de la capa de salidas del Perceptrn (figura).

Y la regla de aprendizaje usada para entrenar la red es una versin simplificada de la regla de aprendizaje del Perceptrn.

- Limitaciones del modelo:

El modelo simple de red neuronal (al igual que el modelo del Perceptrn en el que se basa), presenta bastantes limitaciones en las tareas que puede llegar a aprender.

As, por ejemplo, el modelo seria incapaz de aprender a realizar la operacin XOR (O exclusivo): no puede ser entrenado con xito para que la neurona 3 se active si las neuronas 1 o 2 estn activas, pero no las dos a la vez.

Esto es debido a que el mtodo de entrenamiento lo que hace es mover la siguiente recta sobre un plano:

De manera que los puntos (X1, X2) del plano por encima de la recta hacen que la neurona 3 se active, y los que quedan por debajo de la recta hacen que la neurona 3 permanezca inactiva:

Y no se puede dividir el plano en 2 partes de manera que solo los puntos (0,1) y (1,0) queden en la zona de activacin de la neurona 3.

Para realizar este tipo de tareas "complejas" es preciso una red neuronal que contenga ms de una capa de pesos sinpticos ajustables. Para ello, se aaden capas ocultas de neuronas entre la capa de entradas y la capa de salidas.

Qu es el aprendizaje automtico?

Es una rama de la Inteligencia Artificial que tiene como objetivo el desarrollar tcnicas que permitan que las computadoras puedan aprender.

Es decir, crear programas que sean capaces de generalizar los comportamientos partiendo de una informacin que no est estructurada suministrada en forma de ejemplos.

Una mquina puede considerarse inteligente cuando cumple con los siguientes requisitos:

Si es capaz de percibir visualmente los objetos que la rodean y reconocer sus formas.

Si es capaz de entender el lenguaje natural, hablado o escrito, as como de producir respuestas en dicho lenguaje.

Elaborar actuaciones de acuerdo con las condiciones cambiantes del entorno y llevarlas a cabo mediante los correspondientes elementos fsicos.

Cuando puede almacenar informacin y conocimientos a los que manipula mediante reglas y algoritmos para alcanzar soluciones a los problemas que plantea su funcionamiento.

En el aprendizaje automtico entra el trmino reconocimiento de formas en la cual se hace distincin sobre dos aproximaciones:

Aproximaciones Paramtricas: Se asume un conocimiento a priori acerca de la forma funcional de las distribuciones de probabilidad de cada clase sobre el espacio de representacin, las cuales vendrn determinadas por un conjunto finito de parmetros.

Aproximaciones no Paramtricas: No supone ninguna forma de las distribuciones de probabilidad sobre el espacio de representacin, de modo que el nico conocimiento a priori ser el correspondiente a la informacin inducida a partir de un conjunto de muestras controladas.ESTRATEGIAS EVOLUTIVAS (EE)Esta tcnica esta bsicamente enfocada hacia la optimizacin paramtrica. En esencia son mtodos estocsticos con paso adaptativo, que permiten resolver problemas de optimizacin paramtrica. A este mtodo se le han agregado procedimientos propios de la computacin evolutiva, que lo han convertido en un paradigma ms de dicha metodologa. Con tal mezcla, las EEs pueden definirse como algoritmos evolutivos enfocados hacia la optimizacin paramtrica, teniendo como caractersticas principales que utilizan una representacin a travs de vectoresreales, una seleccin determinstica y operadores genticos especficos de cruce y mutacin. Adems, su objetivo fundamental consiste en encontrar el valor real de un vector de N dimensiones.

Las EEs pueden dividirse en dos tipos: Estrategias Evolutivas Simples y Estrategias Evolutivas Mltiples.EES SIMPLES

Son consideradas como procedimientos estocsticos de optimizacin paramtrica con paso adaptativo, esta caracterstica las hace similares al temple simulado. En este caso, se hace evolucionar un solo individuo usando nicamente a la mutacin como operador gentico. Son relativamente sencillas, y se denominan tambin EEs de dos miembros. Debido a que evoluciona un solo individuo a la vez, no son consideradas estrictamente como mtodos evolutivos. A pesar de ser muy sencillas, son de gran utilidad prctica y han sido utilizadas, con algunas mejoras, para resolver problemas reales en diversas reas.EES MLTIPLES:

Surgen como respuesta a las debilidades de las EEs simples, las cuales tienden a converger hacia subptimos. En las EEs mltiples existen mltiples individuos (poblacin), y se producen en cada generacin varios nuevos individuos, usando tanto mutacin como cruce (tambin puede usarse cualquier otro operador). Se usa normalmente e cruce promedio, el cual genera un nico descendiente de dos padres, promediando los vectoresde estos. En cuanto a los criterios de reemplazo, siempre se usa un esquema determinstico pudindose utilizar una estrategia de insercin o de inclusin.

Algunas aplicaciones de las estrategias evolutivas son:Problemas de ruteo y redes

Bioqumica

ptica

Diseo en ingeniera

Magnetismo

RESUMEN

Otro Resumen de Estrategias Evolutivas

Recombinacin en EE

Actividad de Aprendizaje N 03Computacin Evolutiva: Programacin Evolutiva y Programacin Gentica Objetivos:

Conocer conceptos sobre programacin evolutiva Construir aplicaciones sobre programacin evolutiva Conocer reglas de propagacin y aprendizajeContenidos:

Programacin evolutiva, aplicaciones y historia

Estrategias evolutivas vs programacin evolutiva

Aplicaciones de las redes neuronales

Estado de activacin.

Conectividad entre neuronas y regla de propagacin.

Clculo de la matriz de pesos.

Regla de aprendizaje y clasificacin de redes

PROGRAMACIN EVOLUTIVALaprogramacin evolutiva(PE) es una rama de lacomputacin evolutiva. La programacin evolutiva es prcticamente una variacin de losalgoritmos genticos, donde lo que cambia es la representacin de los individuos. En el caso de la PE los individuos sonternas(tripletas) cuyos valores representan estados de unautmata finito. Cada terna est formada por:

El valor del estado actual;

un smbolo del alfabeto utilizado;

el valor del nuevo estado.

Estos valores se utilizan, como en un autmata finito, de la siguiente manera: Teniendo el valor del estado actual en el que nos encontramos, tomamos el valor del smbolo actual y si es el smbolo de nuestra terna, nos debemos mover al nuevo estado.

Bsicamente as funciona y as se representan los individuos en la PE. Evidentemente las funciones de seleccin,Cruce(crossover) y mutacin deben variar para adaptarse y funcionar con una poblacin de individuos de este tipo.

PROGRAMAS EVOLUTIVOS (PE)

Son una estrategia de optimizacin estocstica similar a los Ags, pero hacen un nfasis especfico en los operadores genticos tal y como se observan en la naturaleza y en laestructura de datosque utilizan adaptada al problema. Por esto, a diferencia de los AGs, los PEs no son restrictivos en cuanto a la representacin del problema. Mientras en los AGs se hace necesario unacodificacinde las soluciones del problema; en los PEs, tal representacin se hace de forma directa.

APLICACIONESPrediccin

Generalizacin

Juegos

Control automtico

Problema del viajero

Planeacin de rutas

Diseo yentrenamientoderedesneuronales

Reconocimiento de patrones.

Historia

Los programas evolutivos fueron presentados en 1994 por Michalewicz, cuando propuso incorporar conocimiento especfico del problema a resolver en las estructuras de datos. As, los PEs son mtodos que incorporan directamente conocimiento especfico a los AGs, puesto que permiten la utilizacin de estructuras de datos naturales. Esto permite, a su vez, la utilizacin de operadores genticos sensibles al contexto, con el fin de mejorar la eficiencia del algoritmo de bsqueda sin perder gran parte de la propiedad de generalizacin. Adems, de perder un poco de generalizacin, con la incorporacin de conocimiento especfico, tambin se pierde el paralelismo implcito (basado en alfabetos de smbolos mnimos). Sin embargo, esta prdida se compensa con el procesamiento de informacin ms til.

Veamos el ejemplo del funcionamiento de la programacin evolutiva que se indica en la figura, La tabla de transiciones de este autmata es la siguiente:

En este autmata pueden ahora aplicarse cinco diferentes tipos de mutaciones: cambiar un smbolo de salida, cambiar una transicin, agregar un estado, borrar un estado y cambiar el estado inicial. El objetivo es hacer que el autmata reconozca un cierto conjunto de entradas (o sea, una cierta expresin regular) sin equivocarse ni una sola vez.

RESUMEN

ESTRATEGIAS EVOLUTIVAS VS PROGRAMACIN EVOLUTIVA

La Programacin Evolutiva usa normalmente seleccin estocstica, mientras que las estrategias evolutivas usan seleccin deterministica.

Ambas tcnicas operan a nivel fenotipico (es decir, no requieren codificacin de las variables del problema).

La programacin evolutiva es una abstraccin de la evolucin al nivel de las especies, por lo que no se requiere el uso de un operador de recombinacin (diferentes especies no se pueden cruzar entre si). En contraste, las estrategias evolutivas son una abstraccin de la evolucin al nivel de un individuo, por lo que la recombinacin es posible.

Tendencias futuras

Las limitaciones de la representacin binaria en algunas aplicaciones ha hecho de esta una ruta interesante de investigacin, sobre todo en el contexto de problemas de manufactura y definicin de rutas, en los cuales la respuesta se expresa en forma de permutaciones. Idealmente, debiera existir un tipo de representacin suficientemente flexible como para permitir su utilizacin en una amplia gama de problemas de forma sencilla y natural.

Filho [77] desarrollo un sistema llamado GAME (Genetic Algorithms Manipu-lation Environment), que constituye un paso importante en esta direccin. GAME usa una codificacin de rbol en la que las hojas pueden ser enteros, caracteres,nmeros reales o cadenas binarias.

Gibson [101] tambin propuso una codificacin hbrida similar a la de Filho.

Su propuesta se basa en el uso de componentes de diferentes tipos en el contexto de modelado de procesos industriales.

Existe amplia evidencia en la literatura especializada [159, 155, 190, 100, 115] de que el usar una representacin adecuada puede simplificar tremendamente el proceso de bsqueda de un algoritmo gentico, pero a pesar de eso, muchos investigadores suelen pasar por alto este importante hecho. Por lo tanto, es vital no nicamente reconocer que se requieren codificaciones mas poderosas. PROGRAMACIN GENTICA

Aqu se programaran diferentes aplicaciones Bioinformticas tomando como referencia lo ledo anteriormente.

APLICACIONES DE LA REDES NEURONALES_ Las seales que llegan, son las entradas a las neuronas (Xi).

_ Son ponderadas (Atenuadas o amplificadas). A travs de un parmetro llamado Peso (Wi).

_ Estas seales pueden excitar a la neurona (peso positivo) o inhibir (peso negativo).

_ El efecto es la suma de las entradas ponderadas. Si la suma es mayor al umbral de la neurona, entonces la neurona se activa produciendo una salida.

W _ Informar de las neuronas que aprende la red (valor que se calcula mediante una ecuacin

Matemtica).

Elementos ms importantes de una RNA

Unidades de procesamiento (Neurona Artificial)

Estado de activacin de cada neurona

Conectividad entre neuronas y regla de propagacin

Funcin de transferencia

Funcin o regla de activacin

Regla de aprendizaje.

ESTADO DE ACTIVACION.

Representa el estado del sistema en un tiempo t.

Las neuronas tienen dos estados de activacin binarios

1 _ Activo (Excitado)

0 _ Pasivo (Reposo)

Los valores pueden ser continuos o discretos [0,1][-1,1]

CONECTIVIDAD ENTRE NEURONAS Y REGLA DE PROPAGACIN.

_ La conectividad entre neuronas (nodos) de una red est relacionada con la forma en que las salidas de las neuronas estn canalizadas para convertirse en entradas de otras neuronas.

_ Las conexiones que unen a las neuronas tiene asociado un peso que hacer que la red adquiera conocimiento.

_ Cada conexin entre la neurona i y j esta ponderada por un peso Wji

_ Netj es la suma del producto de cada seal por el valor de la sinopsis que conecta ambas neuronas.

REGLA DE PROPAGACION: Combina los valores de entrada a una unidad con los pesos de las conexiones

CALCULO DE LA MATRIZ DE PESOS.

Wji _ Refleja la influencia que la neurona j tiene en la neurona i.

W _ Conjunto de elementos positivos, negativos o nulos.

W (+) _ i esta activada y la neurona j tendera a activarse

W () _i esta activada y enviara la seal a j que tendera a desactivarla

Wji = 0_ No hay conexin entre ambas.Funcin de salida o transferencia

Es la funcin que transforma la salida de la red a un estado de activacin.

REGLA DE APRENDIZAJE

Biolgica

La informacin memorizada en el cerebro est ms relacionada con las conexiones que en las neuronas mismas (sinapsis).

Artificial

El conocimiento se encuentra en los pesos de las conexiones entre neuronas.

Todo proceso de aprendizaje implica cierto nmero de cambios en estas conexiones (se aprende

Modificando los valores de la red y la red ha aprendido cuando los valores de los pesos son estables)

Las redes asocian o aprenden con relaciones de entrada salida que han sido dadas de un coleccin de ejemplos (patrones).

Existen 2 grupos de redes.

Supervisado. Aprendizaje con maestro, cuenta con una salida con cada uno de los patrones

No supervisado. Aprendizaje sin maestro, organiza los patrones en categoras, clustering.

Actividad de Aprendizaje N 04Computacin Evolutiva: Sistemas ClasificatoriosObjetivos:

Conocer un Red de Hopfield Aplicar Matriz de pesos, valores de entrada y salida de una Red de Hopfield Desarrollar diferentes ejemplos usando Red de Hopfield Crear aplicaciones con otras Redes NeuronalesContenidos:

Red de HopfieldCalculo de matriz de pesosEjemplos 1, 2, 3,4 y 5Estudiar otras Redes NeuronalesSistemas Clasificatorios

Aqu n los modelos clasificatorios se encuentran todas las aplicaciones que puedan surgir de los modelos Evolutivos.

RED DE HOPFIELD

1) Calcula de la matriz de pesos

EJERCICIO:

Queremos almacenar dos patrones ejemplares C0 y C1 que tengan 3 elementos en una red de Hopfield de 3 neuronas (patrones binarios).

De acuerdo a la ecuacin Wij

2) Inicializa el valor del estado de cada neurona con el valor de entrada

Edo(Tiempo (cuando es 0 el edo = entrada))= Entrada

4) Itera hasta que la red converja (la red converge cuando el valor de la energa no baja ms)

Convergencia: el valor de la salida de la red no cambia por iteracin.

5) Condicin de convergencia

6) Salida final de la red.

Cuando la red converja, la salida actual de la red es la salida de la red.

EJEMPLO 1:

Almacena 2 patrones en la memoria de la red neuronal de Hopfield y los patrones que almacena son:

EJEMPLO 2:

EJEMPLO 3

EJEMPLO 4:

Almacenar un patrn C1C2C3 y ver funcionamiento de la red

EJEMPLO 5

BIBLIOGRAFA. RAFAEL LAHOZ-BELTRA; Bioinformtica simulacin, vida artificial e inteligencia artificial.

Solomon, Berg y Martin, Biologia, Marzo 2005 Mexico, Editorial Mexicana.

Marcos Gestal P. Introduccin a las Redes Neuronales Artificiales, Universidad de Corua, http//sabia.tic.udc.es.

Redes Neuronales y Cerebros Artificiales, http://www.artificialbrains.com. Garca Quiroz Adan l. Redes Neuronales. Mexico Marzo 2008.

Carlos Alberto Ruiz, Marta Susana Basualdo, Redes Neuronales: Conceptos Bsicos y Aplicaciones, Marzo de 2001.

Escuela Superior de Ingeniera de Bilbao, EHU 2., Redes Neuronales Artificiales y sus Aplicaciones.

3

1

2

(2)

(4)

(5)

-. Pg. 30 .-Ing. Lizbeth Dora Briones Pereyra