BIOINFORMATICA

Universidad Nacional del Santa
Facultad de Ingeniería
Manual de Bioinformática
E. A. P Ingeniería de Sistemas e Informática
Unidad I

CAPÍTULO III: MODELOS EVOLUTIVOS
3.1 MODELOS EVOLUTIVOS DE APRENDIZAJE.

INTRODUCCIÓN AL APRENDIZAJE EVOLUTIVO
El objetivo de un proceso de aprendizaje es obtener una cierta regla o sistema que
permita clasificar objetos de un modo automático, o predecir el valor de las variables de
control de un sistema.
MODELADO O PREDICCIÓN
El problema fundamental de la predicción está en modelar la relación entre las variables
de estado para obtener el valor de la variable de control.

LA NEURONAL BIOLÓGICA
El cerebro es el elemento principal del sistema nervioso humano y está compuesto por
un tipo especial de célula llamada neurona. Una neurona es una célula viva y como tal
posee todos los elementos comunes de las células biológicas. A su vez, las neuronas
tienen características propias que le permiten comunicarse entre ellas, lo que las
diferencia del resto de las células biológicas.

La figura muestra la estructura típica de una neurona biológica.

2 Ing. Lizbeth Dora Briones Pereyra

Universidad Nacional del Santa
Facultad de Ingeniería
Manual de Bioinformática
E. A. P Ingeniería de Sistemas e Informática
Unidad I

SINAPSIS

La sinapsis es una unión intercelular especializada entre neuronas. En estos contactos se
lleva a cabo la transmisión del impulso nervioso. Éste se inicia con una descarga
química que origina una corriente eléctrica en la membrana de la célula presináptica
(célula emisora); una vez que este impulso nervioso alcanza el extremo del axón (la
conexión con la otra célula), la propia neurona segrega un tipo de proteínas
(neurotransmisores) que se depositan en el espacio sináptico (espacio intermedio entre
esta neurona transmisora y la neurona postsináptica o receptora). Estas proteínas
segregadas o neurotransmisores (noradrenalina y acetilcolina) son los encargados de
excitar o inhibir la acción de la otra neurona.

La intensidad de una sinapsis no es fija, sino que puede ser modificada en base a la
información proveniente del medio. De esta manera la estructura del cerebro no
permanece fija sino que se va modificando por la formación de nuevas conexiones, ya
sean excitadoras o inhibidoras, la destrucción de conexiones, la modificación de la
intensidad de la sinapsis, o incluso por muerte neuronal.

PARTES DE UNA NEURONA
Hay tres partes principales en una neurona:
1. El cuerpo de la neurona o soma.
2. Ramas de extensión llamadas dendrítas para recibir las entradas.

3. Un axón que lleva la salida de la neurona a las desdirías de otras neuronas.

De la figura anterior se observa que la neurona biológica está compuesta por un cuerpo
celular o soma, del cual se desprende árbol de ramificaciones llamado árbol dendrítico,
compuesto por las dendritas. Del soma también parte una fibra tubular, llamada axón, el
cual suele ramificarse cerca de su extremo. Las dendritas actúan como un canal de

3 Ing. Lizbeth Dora Briones Pereyra

Universidad Nacional del Santa
Facultad de Ingeniería
Manual de Bioinformática
E. A. P Ingeniería de Sistemas e Informática
Unidad I

entrada de señales provenientes desde el exterior hacia la neurona, mientras que el axón
actúa como un canal de salida. El espacio entre dos neuronas vecinas se denomina
sinapsis.

REDES NEURONALES DE TIPO BIOLÓGICO

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

Estudios sobre la anatomía del cerebro humano concluyen que hay más de 1000 sinápsis
a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de
conmutación de la neurona (unos pocos milisegundos) es casi un millón 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 biológico es desarrollar un
elemento sintético para verificar las hipótesis que conciernen a los sistemas biológicos.
Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el
procesado de la información.

REDES NEURONALES ARTIFICIALES
Las redes neuronales artificiales (RNA) son modelos matemáticos que intentan
reproducir el funcionamiento del sistema nervioso. Como todo modelo, realizan una
simplificación del sistema real que simulan y toman las características principales del
mismo para la resolución de una tarea determinada.
Una red neuronal es un método de resolución de problemas basado en un modelo
informático de la manera en que están conectadas las neuronas del cerebro. Una red
neuronal consiste en capas de unidades procesadoras, llamadas nodos, unidas por

4 Ing. Lizbeth Dora Briones Pereyra

y transmite su propia señal a las neuronas de la siguiente capa. Lizbeth Dora Briones Pereyra . es su capacidad de comunicarse. La transmisión química se da principalmente en la comunicación entre neuronas. ENTRENAMIENTO DE REDES NEURONALES BASADO EN ALGORITMOS EVOLUTIVOS Desde un punto de vista funcional. Si la suma de todas las entradas que entran en una de estas neuronas virtuales es mayor que el famoso umbral de activación de la neurona. esa neurona se activa. Este proceso puede ser supervisado por un experimentador humano. y luego los nodos que se estimulan transmiten una señal a los nodos de la siguiente capa a la que están conectados. y que la distinguen del resto de las células. Constan de un subsistema de entrada (dendritas). mediante la liberación de neurotransmisores. se propaga hacia delante hasta que alcanza a la capa de salida. las redes neuronales aprenden y afinan su rendimiento a lo largo del tiempo. las neuronas conforman un procesador de información sencillo. Estos neurotransmisores se transmiten a través de la sinapsis hacia la neurona receptora. P Ingeniería de Sistemas e Informática Unidad I conexiones direccionales: una capa de entrada. La información se transmite a las neuronas vecinas utilizando un proceso químico. La comunicación entre neuronas se lleva a cabo de la siguiente manera: en el soma de las neuronas transmisoras o presinápticas se genera un pulso eléctrico llamado potencial de acción. donde es devuelto como solución a la entrada presentada. una de las características principales de las neuronas. La neurona receptora o postsináptica toma a señal enviada por cientos de neuronas a través de las dendritas y la transmite al cuerpo celular. una neurona recibe información de cientos de neuronas vecinas y la transmite a otras tantas neuronas. 2003]. mediante la repetición de rondas en las que se ajustan sus umbrales. por tanto. et alt. Las señales nerviosas pueden ser eléctricas o químicas. A. mientras que la eléctrica se produce dentro de una neurona [García Martínez.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. hasta que la salida real coincide con la salida deseada para cualquier entrada dada. El patrón de activación. un subsistema de procesamiento (el soma) y un subsistema de salida (axón) Como se menciono antes. o puede correr automáticamente utilizando un algoritmo de aprendizaje. 5 Ing. Al igual que en el sistema nervioso de los organismos biológicos. Se le presenta un patrón inicial de entrada a la capa de entrada. En general. El pulso eléctrico se propaga a través del axón en dirección a las sinapsis. una capa de salida y cero o más capas ocultas en medio. se han utilizado algoritmos genéticos para construir y entrenar a redes neuronales.

1997]. Ejemplo del uso de redes neuronales que no requieran un método de aprendizaje rápido es el "predecir" o determinar si un determinado cliente que pide un crédito a un banco va a ser capaz de pagar ese crédito o no. la propagación hacia atrás y en general todos los métodos basados en el gradiente. tienen unas limitaciones muy conocidas: convergencia a mínimos locales muy dependientes de la solución inicial. se ajustan los pesos de los enlaces entre las diferentes capas de neuronas que componen la red para minimizar una función de error. de este tipo de aplicaciones son el uso de las redes como métodos de clasificación o predicción en estudios econométricos o estadísticos tales 6 Ing. El soma es el encargado de integrar la información proveniente de las distintas neuronas. Otros ejemplos muy típicos. a las esperadas. A. 1994]. Sin embargo el método de aprendizaje más comúnmente usado. Temple Simulado o Búsqueda Tabú son usados como métodos de aprendizaje alternativos y en muchos casos consiguen mejorar notablemente las soluciones obtenidas. en nuestro campo o en campos próximos. Técnicas más recientes de optimización global como Algoritmos Genéticos. P Ingeniería de Sistemas e Informática Unidad I Estas señales pueden ser excitadoras (positivas) o inhibidoras (negativas) [Gurney. MÉTODOS EVOLUTIVOS PARA EL APRENDIZAJE DE REDES NEURONALES Uno de los aspectos más importantes en el uso de las redes neuronales es el del entrenamiento o aprendizaje: a partir de unos vectores de muestra o entrenamiento. Al llegar la señal al extremo del axón se liberan neurotransmisores que permiten transmitir la señal a las neuronas vecinas. muy alejados de los óptimos globales. para ajustar las salidas producidas por la red. Lizbeth Dora Briones Pereyra .Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. [Nascimiento. Si la señal resultante supera un determinado umbral (umbral de disparo) el soma emite un pulso que se transmite a lo largo del axón dando lugar a la transmisión eléctrica a lo largo de la neurona. y por lo general. es decir.

donde se realiza la representación de la información almacenada. 3. HISTORIA DE LA COMPUTACIÓN NEURONAL En 1943. donde cada una de las cuales tiene su contraparte en el sistema nervioso: 1. los pioneros de la Inteligencia Artificial. En 1957. Nathaural Rochester del equipo de investigación de IBM presentó el modelo de una red neuronal que él mismo realizó y puede considerarse como el primer software de simulación de redes neuronales artificiales. la Inteligencia Artificial (Marvin Minsky con los Sistemas Expertos) y el funcionamieto del ojo (Frank Rosenblatt con la famosa red llamada Perceptron). P Ingeniería de Sistemas e Informática Unidad I como: Predicción de Quiebra o Solvencia de determinadas entidades financieras o empresas. Este artículo constituyó la base y el inicio del desarrollo en diferentes campos como son los Ordenadores Digitales (John Von Neuman). 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. Frank Rosenblatt publicó el mayor trabajo de investigación en computación neuronal realizado hasta esas fechas. En general podemos encontrar tres tipos de neuronas artificiales. Sin embargo un tipo de estas aplicaciones que está surgiendo muy recientemente es la optimización de simulaciones. Rochester. Lizbeth Dora Briones Pereyra .Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Las que reciben la información procesada y las devuelven al exterior. Minsky. Por el contrario no es fácil encontrar aplicaciones de redes neuronales en las que se requiera un método de aprendizaje rápido. Es en estas neuronas. En 1956. La figura muestra los elementos que componen una neurona artificial: 7 Ing. 2. el neurobiólogo Warren McCulloch. organizaron la primera conferencia de Inteligencia Artificial que fue patrocinada por la Fundación Rochester. Las que reciben información desde otras neuronas artificiales. Análisis de valores bursátiles. A. Los métodos para obtener una óptima o pseudo-óptima solución o combinación de parámetros tienen el inconveniente de que determinar o estimar la función objetivo de cada solución puede requerir un tiempo de computación. Las que reciben información directamente desde el exterior. a las cuales se las denomina neuronas ocultas.. Su trabajo consistía en el desarrollo de un elemento llamado "Perceptron". Shanon. McCarthy. y el estadístico Walter Pitss. en particular en sus sinapsis. Esta conferencia se celebró en el verano de 1956 en la localidad inglesa de Darmouth y en muchos libros se hace referencia al verano de este año como la primera toma de contacto seria con las redes neuronales artificiales. etc. publicaron el artículo "A logical calculus of Ideas Imminent in Nervous Activity". A estas neuronas se las denomina neuronas de salida. a las cuales se las denomina neuronas de entrada..

que normalmente su entrada es -1 (pero se puede utilizar otro valor. según sea el caso. La regla de propagación más común. lo mismo que el peso umbral. para luego aplicar una función a la salida FUNCION DE ACTIVACION Veremos un cuadro de las más comunes. esta función de salida dependerá del tipo de neurona que se utilice. es la vista en la figura. Como hemos visto. P Ingeniería de Sistemas e Informática Unidad I Modelo Completo Lo que tiene que hacer la neurona artificial es multiplicar cada entrada por su respectivo peso. ese resultado pasa a ser evaluado por otra función que es la “función de activación” cuyo resultado es efectivamente la salida de la neurona artificial. +inf] 8 Ing.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. lo único que tiene que hacer nuestra neurona es multiplicar y luego sumar. FUNCION RANGO GRAFICA IDENTIDAD y=x [-inf. pero eso se vera más adelante). y sumar esos resultados. A. Lizbeth Dora Briones Pereyra . esa sumatoria se llama la “regla de propagación”.

si -1<=x<=+1 +1. si x>+1 SIGMOIDEA 1 [0. Representan el grado de comunicación entre la neurona artificial j y la neurona artificial i. xj(t). Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I ESCALON y = signo(x) {-1.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. 9 Ing. A.+1] Aquí tenemos otro modelo Conjunto de entradas.+1] y = x. wij. si x<-1 [-1. Pueden ser excitadores o inhibidores.e^(-Bx^2) [0.+1] y = ------- 1+e^(-x) y = tgh(x) [-1.+1} y = H(x) {0.+1} LINEAL A TRAMOS -1.+1] GAUSSIANA y = A. Peso sinápticos. Estas pueden ser provenientes del exterior o de otras neuronas artificiales.

En caso de una entrada positiva. σi(wij. Lizbeth Dora Briones Pereyra . xj(t)). A. un peso positivo actúa como excitador. mientras que un peso negativo actúa como inhibidor.1}. La selección del tipo de neurona a utilizar depende de la aplicación y del modelo a construir. Las neuronas binarias (digitales) sólo admiten dos valores posibles.1} o {-1. Regla de propagación La regla de propagación determina el potencial resultante de la interacción de la neurona i con las N neuronas vecinas. la salida producida por una neurona i. Pesos sinápticos El peso sináptico wij define la fuerza de una conexión sináptica entre dos neuronas. fi(ai(t-1). binarias o continuas. Función de activación. que en general suele definirse como [-1. Provee el estado de activación actual de la neurona i. para un determinado instante de tiempo t puede ser escrita en forma general de la siguiente manera: A continuación 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. Por su parte. El potencial resultante hi se puede expresar de la siguiente manera: La regla de propagación más simple y utilizada consiste en realizar una suma de las entradas ponderadas con sus pesos sinápticos correspondientes: 10 Ing. hi(t)). De esta forma. En caso de que el peso sea cero. no existe comunicación entre el par de neuronas. negativos o cero. Ajuste de Pesos Mediante el ajuste de los pesos sinápticos. Fi(ai(t)). Los pesos sinápticos pueden tomar valores positivos. Integra la información proveniente de las distintas neuronas artificiales y proporciona el valor del potencial postsináptico de la neurona i. la neurona presináptica i y la neurona postsináptica j. En general en este tipo de neurona se utilizan los siguientes dos alfabetos {0. P Ingeniería de Sistemas e Informática Unidad I Regla de propagación. las neuronas continuas (analógicas) admiten valores dentro de un determinado rango. la red es capaz de adaptarse a cualquier entorno y realizar una determinada tarea.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Función de salida. 1]. Representa la salida actual de la neurona i.

y el tipo de conexión entre neuronas. Lizbeth Dora Briones Pereyra . definiéndose el estado de activación en función del potencial resultante hi: La tabla muestra un listado de algunas de las funciones de activación más utilizadas en los distintos modelos de redes neuronales artificiales. El estado de activación de la neurona para un determinado instante de tiempo t puede ser expresado de la siguiente manera: Sin embargo. La organización y disposición de las neuronas dentro de una red neuronal se denomina topología. P Ingeniería de Sistemas e Informática Unidad I Función de activación La función de activación determina el estado de activación actual de la neurona en base al potencial resultante hi y al estado de activación anterior de la neurona ai(t-1). la cantidad de neuronas por capa.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Función de salida La función de salida proporciona el valor de salida de la neurona. en base al estado de activación de la neurona. En general se utiliza la función identidad. el grado de conectividad. y viene dada por el número de capas. Las neuronas suelen agruparse en unidades funcionales denominadas capas. Capa de entrada: 11 Ing. 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 topología de la misma. A. en la mayoría de los modelos se suele ignorar el estado anterior de la neurona.

hablamos de redes neuronales con conexión hacia delante (redes feedforward) cuando las conexiones entre las distintas neuronas de la red siguen un único sentido.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Una vez alcanzado un nivel de entrenamiento adecuado. Fase de entrenamiento. Partiendo de un conjunto de pesos sinápticos aleatorio. y son direccionales. En este caso hablamos de redes monocapa. Aprendizaje Durante la operatoria de una red neuronal podemos distinguir claramente dos fases o modos de operación: La fase de aprendizaje o entrenamiento La fase de operación o ejecución. Durante el proceso de aprendizaje se va refinando iterativamente la solución hasta alcanzar un nivel de operación suficientemente bueno. Capa de salida: Aquellas capas que están compuestas por neuronas ocultas y de salida respectivamente. Cuando la conexión se establece entre dos neuronas de una misma capa hablamos de conexiones laterales o conexiones intra-capa. tienen asociadas un peso sináptico. Cuando la red está compuesta por dos o más capas hablamos de redes multicapa. el proceso de aprendizaje busca un conjunto de pesos que permitan a la red desarrollar correctamente una determinada tarea. EL PROCESO DE APRENDIZAJE se puede dividir en tres grandes grupos de acuerdo a sus características [Isasi Viñuela y Galván León. A. Por el contrario. P Ingeniería de Sistemas e Informática Unidad I Se denomina capa de entrada a aquella que está compuesta por neuronas de entradas y por lo tanto recibe información procedente desde el exterior. A su vez. Estas conexiones son las sinapsis. 2004]. Una red neuronal artificial está compuesta por una o más capas. y las neuronas que conforman dicha capa cumplen la función de neuronas de entrada y salida simultáneamente. Una vez seleccionada el tipo de neurona artificial que se utilizará en una red neuronal y determinada su topología es necesario entrenarla para que la red pueda ser utilizada. Entre un par de neuronas de la red neuronal artificial pueden existir conexiones. Una red puede estar formada por una única capa de neuronas. si la conexión se establece entre neuronas de distintas capas se la denomina conexión inter-capa. 1999]: 12 Ing. Lizbeth Dora Briones Pereyra . las cuales se encuentran interconectadas entre sí. la red es entrenada para realizar un determinado tipo de procesamiento. se denomina capa oculta. Análogamente. En la fase de operación es donde la red es utilizada para llevar a cabo la tarea para la cual fue entrenada. la fase de aprendizaje. Durante la primera fase. Si la conexión se produce en el sentido inverso al de entrada-salida la conexión se llama recurrente o realimentada. se pasa a la fase de operación. desde la entrada de la red hacia la salida de la misma. [Yao. Cuando las conexiones pueden ser tanto hacia delante como hacia atrás hablamos de redes recurrentes (redes feedback).

Aprendizaje no supervisado. El proceso de entrenamiento en este caso deberá ajustar sus pesos en base a la correlación existente entre los datos de entrada. Dentro de este grupo de redes neuronales encontramos al perceptrón. 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 activación. no se le proporciona el valor de la salida esperada. que se caracteriza por su organización en capas y conexiones estrictamente hacia delante. 13 Ing. 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. adquiriendo la capacidad de generalizar conceptos. y al perceptrón multicapa. Este tipo de red. una red neuronal puede tratar con información que no le fue presentada durante de la fase de entrenamiento. Este tipo de aprendizaje es muy útil en aquellos casos en que se desconoce cuál es la salida exacta que debe proporcionar la red. La arquitectura del perceptrón está compuesta por dos capas de neuronas. Lizbeth Dora Briones Pereyra . No hay información disponible sobre la salida esperada. La función de activación de las neuronas de un perceptrón es del tipo escalón. Los pesos se van modificando de manera proporcional al error que se produce entre la salida real de la red y la salida esperada. utiliza algoritmos de entrenamiento del tipo supervisado. De esta manera. Sin embargo. En general la información entrante es binaria.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Una vez finalizada la fase de aprendizaje. Una de las principales ventajas que posee este modelo es que la red aprende la relación existente entre los datos. Se presenta a la red un conjunto de patrones de entrada. REDES NEURONALES CON CONEXIÓN HACIA DELANTE Las redes neuronales artificiales con conexión hacia delante son el tema central. LA RED NEURONAL ARTIICIAL PERCEPTRÓN. P Ingeniería de Sistemas e Informática Unidad I Aprendizaje supervisado. la red ADALINE/MADALINE. obteniéndose muy buenos resultados fundamentalmente como clasificadores de patrones y estimadores de funciones. A. Este modelo tiene gran importancia histórica ya que fue el primer modelo en poseer un mecanismo de entrenamiento que permite determinar automáticamente los pesos sinápticos que clasifican correctamente a un conjunto de patrones a partir de un conjunto de ejemplos. Cada neurona de salida del perceptrón representa a una clase. FASE DE OPERACIÓN. Se presenta a la red un conjunto de patrones de entrada junto con la salida esperada. Aprendizaje por refuerzo. Este grupo de red es el más utilizado en aplicaciones prácticas que utilicen redes neuronales. la red puede ser utilizada para realizar la tarea para la que fue entrenada. La capa de entrada es la que recibe la información proveniente del exterior y la transmite a las neuronas sin realizar ningún tipo de operación sobre la señal de entrada. dando de esta manera sólo salidas binarias. una de entrada y una de salida.

Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. con el fin de minimizar el error producido por la red. y cada conexión con la neurona j tiene asignada un peso de valor wji. Lizbeth Dora Briones Pereyra . A. siempre que la función a representar sea linealmente separable. ARQUITECTURA La arquitectura del Perceptron. 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. Se puede demostrar que este método de entrenamiento converge siempre en un tiempo finito y con independencia de los pesos de partida. P Ingeniería de Sistemas e Informática Unidad I La operación de un perceptrón con n neuronas de entrada y m neuronas de salidas puede ser resumida de la siguiente manera: El algoritmo de entrenamiento del perceptrón se encuentra dentro de los denominados algoritmos por corrección de errores. El principal problema de este método de entrenamiento es que cuando la función a representar no es linealmente separable el proceso de entrenamiento oscilará y nunca alcanzará la solución. El Perceptron presenta dos capas de unidades procesadoras (PE) y sólo una de ellas presenta la capacidad de adaptar o modificar los pesos de las conexiones. aprende a clasificar modelos mediante un aprendizaje supervisado.1) y las categorías de la clasificación se expresan mediante vectores binarios. Las funciones no separables linealmente no pueden ser representadas por un perceptrón. llamada mapeo de patrones (pattern-mapping). La arquitectura del Perceptron admite capas adicionales pero éstas no disponen la capacidad de modificar sus propias conexiones. (1) Un aspecto común en muchas de las ANN es la entrada especial llamada "bias" representada en la parte superior izquierda de la figura (entrada a0). Las entradas ai llegan por la parte izquierda. +1 y funciona como una masa en un circuito eléctrico donde no varía de valor (se puede utilizar como un valor constante de referencia). Esta entrada siempre presenta un valor fijo. Los modelos que clasifica suelen ser generalmente vectores con valores binarios (0. La Figura muestra la unidad procesadora básica del Perceptron. La unidad procesadora del Perceptrón realiza la suma ponderada de las entradas según la ecuación (1). 14 Ing.

La topología de la red ADALINE es similar a la del perceptrón sólo que en este caso la función de salida de las neuronas es lineal. LA RED NEURONAL ARTIICIAL ADALINE / MADALINE Otro de los modelos que tienen gran importancia es la red neuronal ADALINE. La Figura muestra una Adaline básica. La unidad procesadora representada por un círculo con el símbolo sumatorio implementa una función umbral. El objetivo de la Adaline durante el proceso de la adaptación es producir la 15 Ing. La unidad procesadora actúa como un sumador y después realiza la función umbral según la ecuación (4) (4) La salida de la unidad Adaline es ±1 a diferencia de la arquitectura del Perceptron que sólo permite los valores 0 y 1. Las conexiones de cada una de las entradas tienen asociadas un valor de ponderación llamado también peso wi. consiste en Utilizar la diferencia entre el valor de la salida y el valor esperado.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Lizbeth Dora Briones Pereyra . El entrenamiento se realiza presentando repetidamente una serie de parejas de entradas y salidas. (2) La salida xj es transmitida a lo largo de la línea de salida y constituye uno de los componentes del vector de salida de la red. la red ADALINE es un dispositivo de entrada/salida analógica (continua) a diferencia del perceptrón que de acuerdo a lo dicho anteriormente es un dispositivo entrada/salida digital (binaria). Dado que las señales de entrada pueden ser continuas. P Ingeniería de Sistemas e Informática Unidad I El Perceptron comprueba si la suma de las entradas ponderadas es mayor o menor que un cierto valor umbral y genera la salida " xj" según la ecuación (2). El mecanismo de ajuste de los pesos representado en la Figura (b). A.

Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Sin embargo. El conjunto de entrenamiento es un conjunto de patrones de entrada emparejados con las salidas deseadas. ESTRUCTURA MADALINE El sistema Madaline tiene una capa de unidades Adaline que están conectadas a una simple unidad Madaline. P Ingeniería de Sistemas e Informática Unidad I salida deseada como propia suya. La operación de una red ADALINE con n neuronas de entrada y m neuronas de salidas puede ser resumida de la siguiente manera: 16 Ing. tres unidades Adaline en la segunda capa y una unidad Madaline en la tercera capa. Los pesos son modificados después de que cada patrón sea presentado a la entrada del sistema. t la salida deseada y por último x la salida de la unidad Adaline. El entrenamiento de los sistemas Madaline es similar al entrenamiento de las Adaline. el sistema Madaline calcula su salida y a continuación se compara con la salida deseada. La Madaline emplea una regla de mayorías para obtener su salida: si la mitad o más de las unidades Adaline Presentan un valor de salida +1. La regla de aprendizaje en la arquitectura de la Adaline es la regla de Widrow-Hoff expresada en la ecuación (5) (5) Siendo η la constante de aprendizaje. ai la salida de la unidad i. En caso contrario el valor de salida de la red Madaline es -1. entonces la salida de la Madaline es +1. las conexiones entre la capa de Adaline y la unidad Madaline no tienen asociado ningún peso. No obstante la variante de esta regla más utilizada considera el valor de la suma ponderada S en vez del valor de la salida de la unidad Adaline. La Figura muestra cuatro unidades en la capa de entrada. Lizbeth Dora Briones Pereyra . A. Una vez que se presenta el patrón a la entrada. Cada unidad Adaline transmite su salida (-1 ó +1) a la unidad Madaline. Las conexiones entre la capa de entrada y la capa de las unidades Adaline tienen asociadas un peso ajustable por cada una de ellas.

No obstante la figura muestra una conectividad total por razones de generalización. la principal diferencia entre la red ADALINE y el perceptrón consiste en la regla de aprendizaje que utilizan. Existe una versión multicapa de la ADALINE denominada MADALINE (Multiple ADALINE. mínimos cuadrados). En el caso de la red ADALINE implementa como método de aprendizaje la regla de Widrow-Hoff. REDES NEURONALES ARTIFICIALES DE UNA CAPA La capacidad de cálculo y potencia de la computación neuronal proviene de las múltiples conexiones de las neuronas artificiales que constituyen las redes ANN. múltiples Adalides) que consiste en una red neuronal con neuronas similares a las de la ADALINE pero que contiene capas de neuronas ocultas. que realiza una actualización continua de los pesos sinápticos de acuerdo a la contribución de cada neurona sobre el error total de la red. LA RED NEURONAL ARTIICIAL PERCEPTRON DE DOS CAPAS 17 Ing. Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I Sin embargo. A. En la práctica existen conexiones eliminadas e incluso conexiones entre las salidas y entradas de las neuronas de una capa. Este método produce un conjunto de pesos sinápticos óptimos desde el punto de vista de los mínimos cuadrados (un conjunto de pesos que minimiza el error cuadrático que comete la red). Las configuraciones de las redes construidas presentan aspectos muy diferentes pero tienen un aspecto común. Los nodos circulares sólo son distribuidores de las entradas y no se consideran constituyentes de una capa.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. también conocida como regla LMS (Least Mean Squares. Normalmente las redes más complejas y más grandes ofrecen mejores prestaciones en el Cálculo computacional que las redes simples. y en caso de que los vectores de entrada sean linealmente independientes produce una asociación perfecta entre entradas-salidas. el ordenamiento de las neuronas en capas o niveles imitando la estructura de capas que presenta el cerebro en algunas partes. Cada una de las entradas está conectada a través de su peso correspondiente a cada neurona artificial. La red más simple es un grupo de neuronas ordenadas en una capa como se muestra en la Figura.

LA RED NEURONAL ARTIICIAL PERCEPTRON MULTICAPA Es una extensión del perceptrón simple. P Ingeniería de Sistemas e Informática Unidad I Las redes multicapa se forman con un grupo de capas simples en cascada. 18 Ing. Una aplicación típica 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 categorización de la entrada en dos clases. No existen restricciones sobre la función de activación aunque en general se suelen utilizar funciones sigmoideas. La topología de un perceptrón multicapa está definida por un conjunto de capas ocultas. La Figura Muestra una red de dos capas. La salida de una capa es la entrada de la siguiente capa. una capa de entrada y una de salida. Lizbeth Dora Briones Pereyra .Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. A. LA RED NEURONAL ARTIICIAL PERCEPTRON DE TRES CAPAS Las topologías con tres o más capas se caracterizan porque la regla de aprendizaje del perceptrón sólo adapta los pesos o valores de las conexiones de una capa. Se ha demostrado que las redes multicapa presentan cualidades y aspectos por encima de las redes de una capa simple.

Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I La operación de un perceptrón multicapa con una única capa oculta puede ser resumida de la siguiente manera: Este modelo es el más utilizado en la actualidad. podemos mencionar algunas áreas de aplicación: • Codificación de información • Traducción 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 prácticas del mismo. En [Hornik et alt.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Sin embargo. El espectro de aplicaciones del perceptrón multicapa es muy amplio lo que hace muy difícil enumerar sus aplicaciones más relevantes. 1989] se llega a un resultado similar utilizando funciones de activación sigmoideas. A. no necesariamente continuas. 1989] se demuestra que un perceptrón multicapa cuya función de activación sea no constante. RESUMEN 19 Ing. En [Funahashi. Existen demostraciones teóricas que permiten explicar el éxito de dichas aplicaciones. acotada y monótona creciente es un aproximador universal de funciones.

A. Sin embargo. Así. Dentro del cromosoma cada peso de la red neuronal estará representado por 32 bits consecutivos. la cantidad de genes dentro del cromosoma será proporcional a la cantidad de pesos (y umbrales) que tenga la red. Se estudiará la manera de adaptar distintas variantes de los operadores clásicos para poder utilizar a los algoritmos genéticos como método de entrenamiento de redes neuronales. La longitud de dicha cadena dependerá de la topología de la red. Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I CAPÍTULO IV: ALGORITMOS GENETICOS 3. existiendo una función que transforma un conjunto de 32 bits en el peso sináptico que representa (y viceversa).2 MODELOS EVOLUTIVOS DE APRENDIZAJE. Entrenamiento de redes neuronales basado en algoritmos evolutivos 20 Ing. A lo largo de este capítulo se utilizará indistintamente el término peso y gen para facilitar la explicación de los distintos operadores.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Este esquema de codificación del genotipo está directamente relacionado con el esquema de cruza que se utilizará. es importante destacar que 32 genes serán la representación en el genotipo de un peso sináptico. y que se describe en el gráfico. ALGORITMO GENÉTICO PARA ENTRENAMIENTO DE REDES NEURONALES El método propuesto consiste en una adaptación del algoritmo genético canónico. CODIFICACIÓN DE PARÁMETROS Cada individuo (cromosoma) de la población se definirá como una cadena binaria.

 el valor del nuevo estado. de la siguiente manera: Teniendo el valor del estado actual en el que nos encontramos. Cruce (crossover) y mutación deben variar para adaptarse y funcionar con una población de individuos de este tipo. Básicamente así funciona y así se representan los individuos en la PE. como en un autómata finito.  un símbolo del alfabeto utilizado. Lizbeth Dora Briones Pereyra . Cada terna está formada por:  El valor del estado actual. ENTRENAMIENTO DE REDES NEURONALES BASADOS EN PROGRAMACIÓN EVOLUTIVA En este trabajo se estudia un método alternativo para el entrenamiento de redes neuronales con conexión hacia delante. En el caso de la PE los individuos son ternas (tripletas) cuyos valores representan estados de un autómata finito. tomamos el valor del símbolo actual y si es el símbolo de nuestra terna. P Ingeniería de Sistemas e Informática Unidad I PROGRAMACIÓN EVOLUTIVA La programación evolutiva (PE) es una rama de la computación evolutiva. La programación evolutiva es prácticamente una variación de los algoritmos genéticos. Estos valores se utilizan. 21 Ing. Evidentemente las funciones de selección. Se evalúan diferentes variantes de los operadores genéticos para el entrenamiento de las redes neuronales.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. A. nos debemos mover al nuevo estado. Una vez determinada la topología de la red neuronal se utiliza un algoritmo genético para ajustar los pesos de la red neuronal. Los resultados obtenidos por el algoritmo genético son contrastados con los resultados obtenidos por el algoritmo de retropropagación de errores. donde lo que cambia es la representación de los individuos.

Ingresar desde el Teclado W1 = 1. Lizbeth Dora Briones Pereyra .2 W0 = -0.4 22 Ing. A.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. P Ingeniería de Sistemas e Informática Unidad I Modelo Matemático de una Red Neuronal: Perceptrón 1) Modelo de una Neurona perceptrón Simple: X1 W1 X2 W2 Y X0 W3 ∑ ∑ 2) Representación de un compuerta lógica OR: X1 X2 X1 v X2 V V V V F V F V V F F F X1 X2 X1 v X2 1 1 1 1 -1 1 -1 1 1 -1 -1 -1 Verdadero = Positivo (1) Falso = Negativo (-1) 3) Función de Activación: 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 .2 X 0 = -1 W2 = -1.

2 W2 = W2 + 2E(ti)(X2) W2 = (-1.2 X2 W2 =-0.5 W1 = W1 + 2E(ti)(X1) W1 = 1.2)(-1) + (-0.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.4)(-1) Y = 2.2 W0 = W0 + 2E(t1)(X0) W0 = (-0.2 Y X0 =-1 ∑ W3 = -0.2 X2 W2 =-1.4∑ ∑ PASO 03: Repetir el Paso 1 I Iteracion 23 Ing.4 ∑ PASO 01: I Iteracion Y = W1X1 + W2X2 + W0X0 Y = (1.5)(1)(-1) W1 = 0.4)(-1) Y = 1.4) + 2(0.2 – 1.4 X1 W1=0.2)(1) + (-0. Lizbeth Dora Briones Pereyra . A.2 Y X0 W3 = -1.5)(1)(1) W2 = -0.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E.5)(1)(-1) W0 = -1.2)(1) + (-1.4 Y = 0.2 + 0.2 + 2(0.2)(1) + (-1.4 ≥ 0 Y=1 II Iteración: Y = W1X1 + W2X2 + W0X0 Y = (1.2) + 2(0. P Ingeniería de Sistemas e Informática Unidad I X1 W1=1.

2)(-1) + (-0.4)(-1) Y = 0. P Ingeniería de Sistemas e Informática Unidad I Y = W1X1 + W2X2 + W0X0 Y = (0.4 ≥ 0 Y=1 II Iteración: Y = W1X1 + W2X2 + W0X0 Y = (0.5)(-1)(-1) W0 = -0.2 + 2(0.2)(1) + (-1.4)(-1) Y=0≥0 Y=1 24 Ing.8)(1) + (-0.8)(-1) + (-0.4) + 2(0.2) + 2(0.4)(-1) Y = 1.2)(1) + (0.8 ≥ 0 Y=1 III Iteracion: Y = W1X1 + W2X2 + W0X0 Y = (1.4)(-1) Y = 1.2)(-1) + (0.2)(1) + (-0.5 W1 = W1 + 2E(ti)(X1) W1 = 0.2)(1) + (-1.8 W0 = W0 + 2E(t1)(X0) W0 = (-1.4 ≥ 0 Y=1 PASO 04: Ajuste de Pesos Factor de Aprendizaje ∆Wij(t) = Wi(0) + 2E(ti)(Xj) E=0.4)(-1) Y = 1.2)(1) + (-0. Lizbeth Dora Briones Pereyra .2)(1) + (0. A.5)(-1)(-1) W1 = 1.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E.8 ≥ 0 Y=1 III Iteración: Y = W1X1 + W2X2 + W0X0 Y = (0.4 ≥ 0 Y=1 II Iteración: Y = W1X1 + W2X2 + W0X0 Y = (1.8)(1) + (-0.2)(-1) + (-1.5)(-1)(-1) W2 = 0.4 PASO 05: Repetir el Paso 1 I Iteracion Y = W1X1 + W2X2 + W0X0 Y = (1.4)(-1) Y = 2.4)(-1) Y=1≥0 Y=1 IV Iteración: Y = W1X1 + W2X2 + W0X0 Y = (0.2)(-1) + (-1.2)(-1) + (-0.2 W2 = W2 + 2E(ti)(X2) W2 = (-0.

A. que. De esta manera. Lizbeth Dora Briones Pereyra .8 Y X0 W3 = -0. con un máximo de 8 neuronas.6 < 0 Y=-1 X1 W1=1.8)(-1) + (-0.Descripción general: Las redes neuronales que puede crear y simular el programa están formadas por 2 capas de neuronas:  Una capa de entradas.4∑ ∑ Programa de una Red Neuronal Simula una red neuronal sencilla basada en el modelo del Perceptrón. cada neurona de la capa de entradas está conectada con todas las neuronas de la capa de salidas. Estas conexiones presentan pesos sinápticos variables: Wij. cada neurona de la capa de salidas presenta un valor umbral (Tj). para facilitar la rutina de entrenamiento. P Ingeniería de Sistemas e Informática Unidad I IV Iteracion: Y = W1X1 + W2X2 + W0X0 Y = (1.4)(-1) Y = -1. con un máximo de 8 neuronas.  Una capa de salidas. los valores umbrales quedan: Tj = -W0j.2 X2 W2 =0. siendo i el número de la neurona de entrada (Xi) y j el de la neurona de salida (Xj). asociado a una neurona bias (siempre activa). uno de los modelos que puede manejar el programa sería: 25 Ing. Y.2)(-1) + (0.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. . Así. se expresa como si fuera un peso sináptico más. siendo j el número de la neurona de salida (Xj) y X0 la neurona bias. Además.

Además. en la pantalla de Entrenamiento existe un botón Stop. Lizbeth Dora Briones Pereyra .TXT). se reducen sólo los pesos de las conexiones activas sobre la neurona de salida según una constante de entrenamiento C. la red genera unos datos de salida.  Si la salida es 0 pero debería ser 1.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. entonces se aumentan sólo los pesos de las conexiones activas según la misma constante C.Problemas: Debido a los problemas que presentan los modelos de redes neuronales de 2 capas (ver el apartado "Limitaciones del modelo de Perceptrón" en el documento de Conceptos Teóricos). 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). . el programa entre en un bucle sin fin (quedando bloqueado). Y las tablas con los resultados de la red pueden exportarse en formato texto (. no se realizan ajustes de los pesos sinápticos.  Si la salida es 1 pero debería ser 0. debido a esta causa. 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). que detendrá el entrenamiento de la red. de forma que introduciendo unos datos de entrada. Para evitar que. El programa permite también trabajar con la red una vez esta ha sido entrenada. A. 26 Ing. P Ingeniería de Sistemas e Informática Unidad I Y la condición de activación para las neuronas de la capa de salida quedaría: Para el entrenamiento se usa la regla de entrenamiento del Perceptrón simplificada:  Si la salida generada por la neurona de salida es la correcta (según la tabla de datos de entrenamiento).

y presentará un esquema de la red que se acaba de crear. Aparecerá también la pantalla de Datos de Entrenamiento. Así. sólo hay que situar el puntero del ratón sobre dicho botón. A. que permitirá introducir los pares entrada/salida que se usarán para entrenar la red. P Ingeniería de Sistemas e Informática Unidad I Guía de uso del programa: Para facilitar su utilización. el programa presenta ayudas contextuales mediante una barra de estado en la parte inferior de la pantalla. Una vez hecho esto. otra para las de salidas y otra para los pesos sinápticos). para conocer la función de un botón.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Lizbeth Dora Briones Pereyra . y en la barra de estado aparecerá una pequeña descripción. Pulsar el botón Aceptar para crear la red. una para las neuronas de entrada. Aparecerá una ventana donde se pueden elegir: el número de neuronas en la capa de entrada y el número de neuronas en la capa de salidas. el programa definirá internamente la red (mediante 3 matrices de variables. sólo pueden tener 2 estados: 27 Ing.Crear una red neuronal: Elegir la opción Nueva del menú Red. . .Introducir Datos de Entrenamiento: Las neuronas de las redes neuronales creadas por el programa.

que equivaldría al vector (0. Lizbeth Dora Briones Pereyra . para simplificar el tratamiento de los datos y acelerar su escritura. A. 1). 0. los vectores se introducirán siempre de la siguiente forma: 0101. Pero. Ejemplo: Supongamos una red de 2 neuronas en la capa de entradas y 1 en la de salidas. Así. formados por tantas columnas como neuronas presente la capa en la que se introducen. 1. habrá que pulsar el botón Ok. el vector introducido en la capa de entrada tendría 2 columnas y el introducido en la capa de salidas 1. en las que se introducirán los valores para el estado de cada neurona de la capa siguiendo la notación descrita. se usarán las cajas de texto. Para introducir los datos entrada/salida de la tabla de entrenamiento. P Ingeniería de Sistemas e Informática Unidad I Estado Valor Activo 1 Inactivo 0 De manera que los datos que se introducirán en la red serán siempre vectores. y estos pasarán a formar parte de la tabla de entrenamiento. introduciríamos los siguientes valores en las cajas de texto: Entrada: Salida: 01 1 Una muestra de una tabla de entrenamiento seria la siguiente: 28 Ing.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Una vez introducido el par de datos entrada/salida. 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). en una red de 2 neuronas en la capa de entrada y una en la capa de salidas.

NN)..  Eficacia deseada (%): indica el porcentaje de valores de salida correctos respecto al total que se coloca como límite mínimo para concluir el entrenamiento.Entrenar la red: Una vez introducida toda la tabla de entrenamiento. del menú Red). 29 Ing. . La pantalla de Entrenamiento presenta diferentes opciones:  Constante de entrenamiento: es el valor que usa la regla de entrenamiento para incrementar/decrementar los pesos sinápticos durante el entrenamiento.. se guardará por un lado el archivo que describe la estructura de la red (extensión . Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I Si guardamos la red en este punto (opción Guardar. sólo hay que pulsar el botón Entrenar para pasar a la pantalla de Entrenamiento. y por otro un archivo que contiene los datos de la tabla de entrenamiento (extensión .Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E.  Repetir entrenamiento: desprecia los pesos sinápticos obtenidos después de un entrenamiento. A. y permite volver a entrenar la red.ENN).

existen dos opciones de entrenamiento:  Entrenamiento rápido: entrena la red sin mostrar información sobre el estado del entrenamiento por pantalla. 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 botón Trabajar con la Red.Trabajar con la red entrenada: Después de entrenar la red. Aparecerá así la pantalla de Datos de Trabajo.  Stop: en caso de estar realizando el entrenamiento rápido. 30 Ing. A. Si guardamos la red después del entrenamiento. Además. detiene el proceso.  Lista de pesos sinápticos: informa del valor del peso sináptico (Wij) desde la neurona i de la capa de entradas a la neurona j de la capa de salidas. Además.  Entrenamiento paso a paso: muestra información (en forma de explicación y mediante colores) sobre cada paso de un ciclo de entrenamiento. .Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. de manera que cuando se carge el fichero más adelante. la red se guardara ya entrenada (el archivo . Lizbeth Dora Briones Pereyra . Esta opción es útil para saber que hace la red neuronal en cada ciclo de entrenamiento. podemos indicar para cada dato de entrada cual es el resultado esperado (caja de texto Salida esperada). que nos permite introducir datos de entrada a partir de los cuales la red generará la salida. P Ingeniería de Sistemas e Informática Unidad I  Cancelar entrenamiento: desprecia los pesos sinápticos obtenidos y vuelve a la pantalla de Datos de Entrenamiento. no hará falta volver a entrena la red neuronal.NN contendrá además los pesos sinápticos resultantes del entrenamiento). Es el método recomendado en la mayoría de casos.  Ciclos de entrenamiento: informa sobre el número de veces que la red neuronal a sido entrenada con un dato de entrenamiento.

del menú Datos). y el dato de salida que esperamos (no obligatorio).. del menú Datos). un espacio en blanco (representa la salida que queremos obtener).Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. .txt): 11. también se puede importar un archivo de texto (opción Cargar datos de trabajo. . Si al principio de la sesión de trabajo no deseamos introducir los datos de entrada a mano. . 0 01. .. hay que pulsar el botón Generar resultados >. además 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 (opción Guardar datos de trabajo. 0 00. otra coma. donde. Estos ejemplos están en el directorio EJEMPLOS\ 31 Ing.. 0 Ejemplos suministrados: En el archivo suministrado se encuentran 2 ejemplos de redes neuronales ya preparadas. P Ingeniería de Sistemas e Informática Unidad I Una vez introducidos los datos para que la red trabaje. Lizbeth Dora Briones Pereyra . El archivo de texto ha de contener en cada línea: el dato de entrada. A. una coma. Aparecerá entonces la pantalla de Resultados. Ejemplo (model1_1.. 1 10.

Así.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. en el archivo MODEL1_2. 32 Ing. . La tabla de entrenamiento se ha diseñado de manera que la red ejecute la operación AND (Y lógico) entre las neuronas de la capa de entradas. Si se estrena esta red se obtendrán (tal como se indico en Conceptos Teóricos) los siguientes pesos sinápticos: Peso sináptico Valor W11 1 W21 2 W01 -2 En caso de no querer realizar el entrenamiento de la red.NN: Esta red neuronal. la neurona de salida sólo se activa si las dos neuronas de la capa de entradas están activas: X1 X2 Capa de salida Caso 1 0 0 0 Caso 2 0 1 0 Caso3 1 0 0 Caso 4 1 1 1 Esta es la red usada en el apartado "Un modelo simple de red neuronal" del documento de Conceptos Teóricos. P Ingeniería de Sistemas e Informática Unidad I . A.MODEL2_1. está entrenada para diagnosticar un resfriado a partir de los síntomas que se le indiquen. Lizbeth Dora Briones Pereyra .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.NN se encuentra la misma red neuronal ya entrenada.

A partir de estos datos. Lizbeth Dora Briones Pereyra . A. con las siguientes equivalencias: Neurona de Síntoma Valor 0 Valor 1 entrada 1 Dolor de cabeza No Sí 2 Fiebre No Sí 3 Tos No Sí 4 Dolor de rodilla No Sí La neurona de salida devuelve 1 si hay resfriado y 0 si no hay resfriado.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. P Ingeniería de Sistemas e Informática Unidad I La red consta de 4 neuronas en la capa de entrada. se elabora la siguiente tabla de entrenamiento: X1 X2 X3 X4 Capa de salida 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 33 Ing.

ZIP (usando la opción de descomprimir directorios) y ejecutar el programa SETUP. Notas Adicionales: . abriendo los archivos con extensión .FRM en un editor de textos como el NOTEPAD.x. se puede revisar el código (comentado). da mayor importancia al hecho de padecer fiebre o dolor de cabeza que no al hecho de sufrir tos. obtendríamos que la tos recibe más importancia que el dolor de rodilla. .EXE de Windows. El hecho de padecer dolor de rodilla tampoco recibe ninguna importancia.Desarrollo: El programa ha sido realizado en Visual Basic 3 para Windows 3.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. aunque no se disponga de Visual Basic 3.Instalación: Para instalar el programa solo hay que descomprimir el archivo . Puesto que esta grabado en formato ASCII. Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I Los pesos sinápticos generados son: Peso sináptico Valor Síntoma asociado W11 2 Dolor de cabeza W21 2 Fiebre W31 0 Tos W41 0 Dolor de rodilla W01 -1 La red resultante. 34 Ing. a la hora de diagnosticar un resfriado. despues sólo hay que seguir las instrucciones que aparecen en pantalla. A. de manera que si usáramos más casos. Lógicamente este modelo es un modelo muy sencillo entrenado con pocos casos. El código fuente se puede consultar en el directorio FUENTES\.EXE.

sólo queda mover los directorios FUENTES.Consultas: Para cualquier consulta.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. y después deja de estar activa. cada neurona de una capa "transmite" su estado de activación (0 o 1) a la siguiente capa de neuronas. P Ingeniería de Sistemas e Informática Unidad I Por último. el valor umbral (U) de la neurona 3 puede ser ajustado como un peso sináptico más. EJEMPLOS y DOCUMENTACION al directorio donde se ha instalado el programa. Ahora. Y a su vez. . entrenaremos la red de manera que la neurona 3 se active sólo si las neuronas 1 y 2 están activas. El esquema de este modelo seria el presentado en la figura 4: Y la condición de activación de la neurona 3 sería: Además. en este modelo.  Una capa de salidas formada por una sola neurona: 3. al considerar U = -W0 asociado a una neurona bias (siempre activa: X0 = 1). A. Lizbeth Dora Briones Pereyra . Hay así cuatro posibles casos: 35 Ing. y permanezca inactiva en caso contrario. Las conexiones entre las dos neuronas de entrada y la neurona de salida presentan pesos sinápticos ajustables mediante el entrenamiento. problema o comentario sobre el programa: Un modelo simple de red neuronal: Consideremos una red neuronal formada por 2 capas:  Una capa de entradas formada por 2 neuronas: 1 y 2.

mientras que los pesos entre neuronas que no estén activas simultáneamente permanecen igual que estaban. Cuando es supervisado. A. la regla de aprendizaje continua incrementando los pesos sinápticos entre neuronas activas. . Así. Y fue sugerida por Donald Hebb en 1949. 36 Ing. 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. Hebb observó que la sinapsis (conexión entre 2 neuronas reales) se reforzaba sí la neurona de entrada (o presináptica) y la neurona de salida (o postsináptica) eran activadas de manera continua. a partir de estudios con neuronas reales. De esta forma. Mientras que las conexiones entre neuronas de entrada inactivas y neuronas de salida (activas o inactivas) no se refuerzan. según este método de aprendizaje aplicado a las redes neuronales artificiales. las conexiones que se usan son las que se refuerzan. aunque la red ya esta entrenada y los valores de entrada generen valores de salida correctos. la respuesta correcta para el dato de entrada es introducida para cada neurona de salida. y los pesos sinápticos entre las neuronas activas se incrementan. Este método de aprendizaje puede ser tanto supervisado como no supervisado.Regla de aprendizaje de Hebb: También llamada aprendizaje de coincidencia o aprendizaje Hebbiano. El problema de este método es que no tiene en cuenta la eficacia de la red. Lizbeth Dora Briones Pereyra .Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Así. P Ingeniería de Sistemas e Informática Unidad I X1 X2 Capa de salida (X3) Caso 1 0 0 0 Caso 2 0 1 0 Caso3 1 0 0 Caso 4 1 1 1 Para entrenar esta red. usaremos una regla de aprendizaje derivada del método de aprendizaje Hebbiano.

 Puesto que todos los pesos valen 0:  Así el valor de salida de la neurona 3 es 0. A. Si la salida es 0 pero debería ser 1. como el valor de salida de la neurona 3 es 0. 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 más. 1). se reducen sólo los pesos de las conexiones activas según una constante C.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. Si la salida generada por la neurona 3 (para los valores de las otras dos neuronas) es la correcta. y tenia que ser 1 (según el caso 4 de entrenamiento). 2. 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. no se realizan ajustes de los pesos. X2) = (1. entonces se aumentan sólo los pesos de las conexiones activas según la misma constante C.  Se aplica la regla anterior. Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I . 0). De esta forma.Entrenamiento de la red: Debido al problema de la regla de aprendizaje de Hebb. a partir del dato de entrada generará un dato de salida.  Introducimos el dato de entrada del caso 4: (X1. si partimos de unos pesos sinápticos 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.  Puesto que todos los pesos valen 0:  Pero. usaremos una regla de aprendizaje derivada. no se realizan ajustes de los pesos sinápticos. X2) = (0. Así. y que si tenga en cuenta la eficacia de la red en cada momento: 1. y como el valor de la neurona 3 tenia que ser 0 (según el caso 1 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): o W1 = W1 + C = 0 + 1 = 1 o W2 = W2 + C = 0 + 1 = 1 o W0 = W0 + C = 0 + 1 = 1 37 Ing. que mide la eficiencia de la red y actúa en consecuencia. 3.  La red. Si la salida es 1 pero debería ser 0.

la imagen proyectada sobre la retina es convertida en señales eléctricas gracias a las células sensitivas a la luz (conos y bastones). A. Lizbeth Dora Briones Pereyra . P Ingeniería de Sistemas e Informática Unidad I Y se continuaría de esta manera hasta terminar el entrenamiento. a partir de los modelos de red de McCullough-Pitts.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. El modelo del Perceptrón está basado en esta idea del ojo: las células sensibles de la retina serian detectores conectados con neuronas de la capa de entrada. 38 Ing. En el ojo. Y cada neurona de esta capa estaría conectada a su vez con diferentes neuronas de la capa de salidas del Perceptrón (figura). Cada neurona de la capa de entrada está conectada con diferentes neuronas de la capa de detección de características. estas neuronas se activan (1) cuando se activa el detector correspondiente.Modelo del Perceptrón: Este modelo de red simple. desarrollado por Rosenblatt entre 1958 y 1962. a través de los axones de las células ganglionares. seria un modelo reducido del modelo del Perceptrón. son transmitidas al cerebro. que interpreta la imagen. Estas señales. en cuyo caso obtendríamos los siguientes pesos sinápticos ajustados: Peso sináptico Valor W1 1 W2 2 W0 -2 .

0) queden en la zona de activación de la neurona 3. el modelo seria incapaz de aprender a realizar la operación XOR (O exclusivo): no puede ser entrenado con éxito para que la neurona 3 se active si las neuronas 1 o 2 están activas. pero no las dos a la vez. Así. Para ello. Lizbeth Dora Briones Pereyra . 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. presenta bastantes limitaciones en las tareas que puede llegar a aprender. .Limitaciones del modelo: El modelo simple de red neuronal (al igual que el modelo del Perceptrón en el que se basa). Esto es debido a que el método de entrenamiento lo que hace es mover la siguiente recta sobre un plano: De manera que los puntos (X1.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E. se añaden capas ocultas de neuronas entre la capa de entradas y la capa de salidas. Para realizar este tipo de tareas "complejas" es preciso una red neuronal que contenga más de una capa de pesos sinápticos ajustables. P Ingeniería de Sistemas e Informática Unidad I Y la regla de aprendizaje usada para entrenar la red es una versión simplificada de la regla de aprendizaje del Perceptrón. ¿Qué es el aprendizaje automático? Es una rama de la Inteligencia Artificial que tiene como objetivo el desarrollar técnicas que permitan que las computadoras puedan aprender. 39 Ing.1) y (1. A. X2) del plano por encima de la recta hacen que la neurona 3 se active. por ejemplo.

crear programas que sean capaces de generalizar los comportamientos partiendo de una información que no esté estructurada suministrada en forma de ejemplos. las cuales vendrán determinadas por un conjunto finito de parámetros. Aproximaciones no Paramétricas: No supone ninguna forma de las distribuciones de probabilidad sobre el espacio de representación. Lizbeth Dora Briones Pereyra . Una máquina puede considerarse inteligente cuando cumple con los siguientes requisitos:  Si es capaz de percibir visualmente los objetos que la rodean y reconocer sus formas.Universidad Nacional del Santa Facultad de Ingeniería Manual de Bioinformática E.  Elaborar actuaciones de acuerdo con las condiciones cambiantes del entorno y llevarlas a cabo mediante los correspondientes elementos físicos. P Ingeniería de Sistemas e Informática Unidad I Es decir. En el aprendizaje automático entra el término reconocimiento de formas en la cual se hace distinción sobre dos aproximaciones: Aproximaciones Paramétricas: Se asume un conocimiento a priori acerca de la forma funcional de las distribuciones de probabilidad de cada clase sobre el espacio de representación. hablado o escrito.  Cuando puede almacenar información y conocimientos a los que manipula mediante reglas y algoritmos para alcanzar soluciones a los problemas que plantea su funcionamiento. A. de modo que el único conocimiento a priori será el correspondiente a la información inducida a partir de un conjunto de muestras controladas. 40 Ing.  Si es capaz de “entender” el lenguaje natural. así como de producir respuestas en dicho lenguaje.