You are on page 1of 40

BIOINFORMATICA

Universidad Nacional del Santa


Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

CAPTULO III: MODELOS EVOLUTIVOS


3.1 MODELOS EVOLUTIVOS DE APRENDIZAJE.

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.

2 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

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

3 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

REDES NEURONALES DE TIPO BIOLGICO

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


nuestro cerebro.

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 ARTIFICIALES


Las 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

4 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

ENTRENAMIENTO DE REDES NEURONALES BASADO EN ALGORITMOS


EVOLUTIVOS

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,
et alt, 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 presinpticas 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.

5 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

MTODOS EVOLUTIVOS 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

6 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

HISTORIA DE LA COMPUTACIN NEURONAL


En 1943, el neurobilogo Warren McCulloch, y el estadstico Walter Pitss, publicaron el
artculo "A logical calculus of Ideas Imminent in Nervous Activity". Este artculo
constituy la base y el inicio del desarrollo en diferentes campos como son los
Ordenadores Digitales (John Von Neuman), la Inteligencia Artificial (Marvin Minsky
con los Sistemas Expertos) y el funcionamieto del ojo (Frank Rosenblatt con la famosa
red llamada Perceptron).
En 1956, los pioneros de la Inteligencia Artificial, Minsky, McCarthy, Rochester,
Shanon, organizaron la primera conferencia de Inteligencia Artificial que fue
patrocinada por la Fundacin Rochester. 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 ao como la primera toma de contacto seria con las redes neuronales
artificiales.
Nathaural Rochester del equipo de investigacin de IBM present el modelo de una red
neuronal que l mismo realiz y puede considerarse como el primer software de
simulacin de redes neuronales artificiales.
En 1957, Frank Rosenblatt public el mayor trabajo de investigacin en computacin
neuronal realizado hasta esas fechas. Su trabajo consista en el desarrollo de un
elemento llamado "Perceptron".

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:

7 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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 vera 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.
Como hemos visto, lo nico que tiene que hacer nuestra neurona es multiplicar y luego
sumar, para luego aplicar una funcin a la salida
FUNCION DE ACTIVACION
Veremos un cuadro de las ms comunes.
FUNCION RANGO GRAFICA
IDENTIDAD y=x [-inf, +inf]

8 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

ESCALON y = signo(x) {-1,+1}


y = H(x) {0,+1}

LINEAL A TRAMOS -1, si x<-1 [-1,+1]


y = x, si -1<=x<=+1
+1, si x>+1

SIGMOIDEA 1 [0,+1]
y = -------
1+e^(-x)
y = tgh(x) [-1,+1]

GAUSSIANA y = A.e^(-Bx^2) [0,+1]

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.

9 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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:

10 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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:

La tabla muestra un listado de algunas de las funciones de activacin ms utilizadas en


los distintos modelos de redes neuronales artificiales.

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:

11 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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]:

12 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

13 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

La operacin de un perceptrn con n neuronas de entrada y m neuronas de salidas puede


ser resumida de la siguiente manera:

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.

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

14 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
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" segn la ecuacin (2).

(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 ARTIICIAL ADALINE / MADALINE


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

(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

15 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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)

(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:

16 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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 ARTIICIAL PERCEPTRON DE DOS CAPAS

17 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

Las 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 CAPAS


Las 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 MULTICAPA


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

18 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

19 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

CAPTULO IV: ALGORITMOS GENETICOS


3.2 MODELOS EVOLUTIVOS DE APRENDIZAJE.

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

20 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

PROGRAMACIN EVOLUTIVA
La programacin evolutiva (PE) es una rama de la computacin evolutiva. La
programacin evolutiva es prcticamente una variacin de los algoritmos genticos,
donde lo que cambia es la representacin de los individuos. En el caso de la PE los
individuos son ternas (tripletas) cuyos valores representan estados de un autmata
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.

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.

21 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

Modelo Matemtico de una Red Neuronal:


Perceptrn
1) Modelo de una Neurona perceptrn Simple:

X1 W1
X2 W2 Y
X0 W3

2) Representacin de un compuerta lgica 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) 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 X 0 = -1

W2 = -1,2

W0 = -0,4

22 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

23 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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=10 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

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=00 Y=1

24 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

IV Iteracion:
Y = W1X1 + W2X2 + W0X0
Y = (1,2)(-1) + (0,8)(-1) + (-0,4)(-1)
Y = -1,6 < 0 Y=-1

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:

25 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

26 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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:

27 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

Estado Valor

Activo 1

Inactivo 0

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:

01 1

Una muestra de una tabla de entrenamiento seria la siguiente:

28 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

29 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

30 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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\

31 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

- 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:

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

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

Peso sinptico Valor

W11 1

W21 2

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.

32 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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

Neurona de Sntoma 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.

A partir de estos datos, 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. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

Los pesos sinpticos generados son:

Peso sinptico Valor Sntoma asociado

W11 2 Dolor de cabeza

W21 2 Fiebre

W31 0 Tos

W41 0 Dolor 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.

34 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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 neuronal:

Consideremos 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:

35 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
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 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.

36 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

- 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):
o W1 = W1 + C = 0 + 1 = 1

o W2 = W2 + C = 0 + 1 = 1

o W0 = W0 + C = 0 + 1 = 1

37 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

Y se continuara de esta manera hasta terminar el entrenamiento, en cuyo caso


obtendramos los siguientes pesos sinpticos ajustados:

Peso sinptico Valor

W1 1

W2 2

W0 -2

- Modelo del Perceptrn:


Este modelo de red simple, seria 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).

38 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

39 Ing. Lizbeth Dora Briones Pereyra


Universidad Nacional del Santa
Facultad de Ingeniera
Manual de Bioinformtica
E. A. P Ingeniera de Sistemas e Informtica
Unidad I

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.

40 Ing. Lizbeth Dora Briones Pereyra

You might also like