You are on page 1of 10

Ao de la promocin de la industria responsable y el compromiso climtico

UNIVERSIDAD NACIONAL DE UCAYALI


Facultad de Ingeniera de Sistemas e Ingeniera Civil
Escuela Profesional de Ingeniera de Sistemas

Algoritmos Neuronales y Genticos

Integrantes:
Amado Ramirez, Carlos Santiago
Cueto Villanueva, Carlos Ferdie
Curso:

Inteligencia Artificial y Sistemas Expertos

Docente:

Ing. Milton Miguel Pirro Lozano

Ciclo:

Ao:

2014

Pucallpa - Per

Algoritmos neuronales
Adaline y madaline
Introduccin e Historia
Desde hace miles de aos se ha estudiado el cerebro humano con el fin de modelar su
funcionamiento, pero fue con el avance de la electrnica que esta idea tom fuerza.
El primer paso se dio en 1943 con el neurofisilogo Warren McCulloch y el matemtico
Walter Pitts quienes escribieron un documento en el cual explicaban el posible
funcionamiento de las neuronas e hicieron un modelo simple de una red neuronal con
circuitos elctricos.
En 1949, Donald Hebb apoya el concepto de neurona y su funcionamiento escribiendo
un libro titulado The Organization of Behavior en el cual comenta la actividad
existente en las neuronas cada vez que son usadas.
En la dcada de 1950, con el avance de las computadoras, se hizo posible simular una
red neuronal. Nathanial Rochester, de los laboratorios de investigacin de la IBM, dio el
primer paso en la simulacin de la red neuronal, pero desafortunadamente fracaso.
Posteriormente se hicieron otras simulaciones ya con xito.
En 1959, Bernard Widrow y Marcian Hoff de la universidad de Stanford desarrollaron
un modelo llamado ADALINE y MADALINE. ADALINE proviene de ADAptive
LINear Element y MADALINE de Multiple ADAptive LINear Element (Many
Adalines).
ADALINE fue desarrollado para el reconocimiento de patrones binarios, por ejemplo
predecir el siguiente bit en una lnea telefnica. En la figura 1 podemos observar la
representacin de una ADALINE y su analoga con una Neurona.

ADALINE funciona tomando la suma de los pesos de las entradas y produce una salida
con 0 o 1 dependiendo si pasa o no un umbral, esto haciendo analoga al

funcionamiento de una neurona que se dispara si la actividad total procedente de las


conexiones con las otras neuronas sobrepasa un nivel.
Varias ADALINE pueden ser organizadas en capas de tal manera que se obtengan
grandes arquitecturas formando una red MADALINE la cual produce funciones ms
complicadas.
MADALINE fue la primera red neuronal aplicada a un problema real, se us como un
filtro para eliminar el eco en las lneas telefnicas.
En los aos siguientes el neuro-bilogo Frank Rosenblatt comenz a trabajar con el
perceptrn. Se encontr que una simple capa de perceptrones era suficiente para
clasificar un conjunto de valores continuos en una de dos clases.
Desafortunadamente el perceptrn estaba limitado y fue probado por Marvin Minsky y
Seymour Papert durante los aos de desilusin en el libro Perceptrons.
Durante los prximos 20 aos se dej atrs el estudio de las redes neuronales y fue hasta
1982 con John Hopfield que se retom el inters en la materia. Hopfield present un
documento a la Academia Nacional de Ciencias en el cual a travs de anlisis
matemtico mostraba como las redes neuronales funcionan y para que podran servir.
ADALINE
ADALINE que por sus siglas en ingls significa ADAptive LINear Element es un
dispositivo que consta de un solo elemento de procesamiento, por lo que tcnicamente
no es una red. Sin embargo es un elemento muy importante, ya que de l se derivan
redes ms complejas. En la siguiente figura se muestran los elementos de una
ADALINE.

ADAptive LINear Element


Una ADALINE consiste de un ALC (Adaptive Linear Combiner) y un cuantizador
(funcin bipolar de salida). Se alimenta con un vector de entrada (valores observados) y
con una entrada constante igual a 1 denominada sesgo (bias). Posteriormente se efecta
una suma ponderada de los valores de entrada con sus pesos asociados; si el resultado es
positivo, la salida del ADALINE es 1, en caso contrario es 0 (o -1). En consecuencia
ADALINE slo resuelve adecuadamente problemas binarios linealmente separables.

Algoritmo de Entrenamiento
El entrenamiento del ADALINE est basado en la regla LMS (Least Mean Square) que
busca minimizar el error cuadrtico medio por medio de la regla delta.
Dado un vector de entrada (x0, ..., xn) donde x0 =1, el correspondiente valor de pesos
(w0, ..., wn) y el valor deseado de salida d, el error cuadrtico es el siguiente:
n

E d (t ) Wi (t ) X i (t )
i 1

El objetivo del mtodo es minimizar dicho error mediante la modificacin del vector de
pesos (w0, ..., wn
w de tal forma que nos acerquemos al error mnimo
en la direccin del gradiente negativo, es decir, lo ms rpidamente posible.
El procedimiento de derivacin se presenta a continuacin:

E d (t ) 2d (t ) Wi (t )X i (t ) Wk (t )X k (t )
i 1
k 1

n
E

2d (t ) Wk (t )X k (t ) X i (t )
Wi
k 1

Por lo que el error local ser reducido ms rpidamente si se ajustan los pesos de
acuerdo a la regla delta:
n

W1 (t 1) d (t ) Wk (t ) X k (t ) X i (t )
k 1

El algoritmo de entrenamiento se presenta a continuacin:


1. Inicializar pesos (w1, ..., wn) y threshold (w0)
2. Presentar vector de entrada (x1,...,xn) y la salida deseada d(t)
3. Calcular la salida

y(t ) Fh wi (t ) * xi (t ) Donde h(a) = 1 s a>0 y


F
i 0

= -1 s a<=0
4. Adaptar los pesos
n

wi (t 1) wi (t ) * d (t ) wk (t ) * xk (t ) * xi (t )
k 0

es la tasa de aprendizaje

5. Repetir los pasos 2 a 4 hasta que las salidas reales y las deseadas sean iguales para
todos los vectores del conjunto de entrenamiento

Siguiendo este mtodo se garantiza que, para un conjunto de entrenamiento adecuado,


despus de un nmero finito de iteraciones el error se reduce a niveles aceptables. El
nmero de iteraciones necesarias y el nivel de error deseado depende de cada problema
particular.
MADALINE (Multiple ADAptive LINear Element)
Fue una de las primeras redes neuronales multicapa entrenable con mltiples elementos
adaptivos.
Esta estructura fue diseada despus de ADALINE, para ir ms all de la solucin de
problemas linealmente separables.

Consta de una capa de ADALINES y una funcin de mayora cuya respuesta binaria
depende de las respuestas de las ADALINES.
El algoritmo de entrenamiento es el siguiente.
1. Inicializar pesos (w1, ..., wn) y threshold (w0)
2. Presentar vector de entrada (x1,...,xn) y la salida deseada dk(t)
3. Calcular la salida

yk (t ) Fh wki (t ) * xi (t )
i 0

Donde Fh(a) = 1 si a>0 y


= -1 si a<=0
Yk (t) es la salida del Adaline k

4. Determinar la salida del Madaline


M (t)=Fmayora (yk(t))
5. Determinar el error y actualizar los pesos
Si M (t) = salida deseada no se actualizan
de otro modo, los elementos Adaline compiten y se actualiza el ganador, es decir al
ADALINE con salida errnea ms cercana a cero en su salida original (y).
n

wci (t 1) wci (t ) * d (t ) wcl (t ) * xl (t ) * xi (t )


l 0

es la tasa de aprendizaje. c representa al Adaline ganador

6. Repetir los pasos 2 a 5 hasta que las salidas reales y las deseadas sean iguales para
todos los vectores del conjunto de entrenamiento
Ntese que se utiliza la misma regla delta que en el entrenamiento de ADELINES, ya
que los pesos modificados corresponden a estas ltimas.
El inconveniente de la MADALINE es que el proceso de entrenamiento es muy lento
pues se modifican una sola ADALINE en cada iteracin

Algoritmos Genticos y Redes Neuronales


Una red neuronal es el intento de poder realizar una simulacin computacional del
comportamiento de partes del cerebro humano mediante la rplica en pequea escala de
los patrones que ste desempea para la formacin de resultados a partir de los sucesos
percibidos. El cerebro consta de unidades llamadas neuronas, las cuales estn
conectadas entre si formando una red (de ah la denominacin " red neuronal ").
Concretamente, se trata de poder analizar y reproducir el mecanismo de aprendizaje de
sucesos que poseen los animales ms evolucionados.
La red simula grupos de neuronas, llamados " capas " las cuales estn relacionadas unas
con otras. Los datos se introducen en la primera capa , llamada "capa de entradas" Cada
capa transfiere la informacin a sus vecinas, teniendo un peso o ponderacin para los
valores , lo que va modificando los mismos en su paso a travs de la red.

Cuando los datos llegan a la ltima de las capas , llamada " capa de salida " el valor
resultante es tomado como el resultado de la red. La red puede ser entrenada para
diversos usos, entre ellos como mecanismo de optimizacin. En este sentido, se puede
expresar que seran un modelo alternativo competitivo con los algoritmos genticos, si
se las programara para este fin. En rigor de verdades, la literatura sugiere que se podran
hacer modelos mixtos o hbridos en donde se combinen las ventajas de las redes
neuronales y los algoritmos genticos, aunque hay muy poco material disponible en este
campo. Tal vez esto se deba al hecho que los GA y el estudio de las redes forman dos
ramas o escuelas separadas dentro de la inteligencia artificial, por lo que existe una
preferencia en los investigadores en perfeccionar alguno de los dos modelos antes que
tratar de unirlos.

El algoritmo gentico simple


El Algoritmo Gentico Simple, tambin denominado Cannico, se representa en la
Figura de abajo. Como se ver a continuacin, se necesita una codificacin o
representacin del problema, que resulte adecuada al mismo. Adems se requiere una
funcin de ajuste adaptacin al problema, la cual asigna un nmero real a cada
posible solucin codificada. Durante la ejecucin del algoritmo, los padres deben ser
seleccionados para la reproduccin, a continuacin dichos padres seleccionados se
cruzarn generando dos hijos, sobre cada uno de los cuales actuar un operador de
mutacin. El resultado de la combinacin de las anteriores funciones ser un conjunto
de individuos (posibles soluciones al problema), los cuales en la evolucin del
Algoritmo Gentico formarn parte de la siguiente poblacin.

Codificacin
Se supone que los individuos (posibles soluciones del problema), pueden
representarse como un conjunto de parmetros (que denominaremos penes), los
cuales agrupados forman una ristra de valores (a menudo referida como cromosoma).
Si bien el alfabeto utilizado para representar los individuos no debe necesariamente
estar constituido por el (0, l), buena parte de la teora en la que se fundamentan los
Algoritmos Genticos utiliza dicho alfabeto. En trminos biolgicos, el conjunto de
parmetros representando un cromosoma particular se denomina fenotipo. El
fenotipo contiene la informacin requerida para construir un organismo, el cual se
refiere como genotipo. Los mismos trminos se utilizan en el campo de los Algoritmos
Genticos. La adaptacin al problema de un individuo depende de la evaluacin del
genotipo. Esta ltima puede inferirse a partir del fenotipo, es decir puede ser
computada a partir del cromosoma, usando la funcin de evaluacin. La funcin de
adaptacin debe ser diseada para cada problema de manera especfica. Dado un
cromosoma particular, la funcin de adaptacin le asigna un nmero real, que se
supone refleja el nivel de adaptacin al problema del individuo representado por el
cromosoma.
Durante la fase reproductiva se seleccionan los individuos de la poblacin para
cruzarse y producir descendientes, que constituirn, una vez. mutados, la siguiente
generacin de individuos.

La seleccin de padres se efecta al azar usando un procedimiento que favorezca a los


individuos mejor adaptados, ya que a cada individuo se le asigna una probabilidad de
ser seleccionado que es proporcional a su funcin de adaptacin. Este procedimiento
se dice que est basado en la ruleta sesgada. Segn dicho esquema, los individuos bien
adaptados se escogern probablemente varias veces por generacin, mientras que, los
pobremente adaptados al problema, no se escogern ms que de vez en cuando.
Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando
habitualmente los operadores de cruce y mutacin. Las formas bsicas de dichos
operadores se describen a continuacin.
El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas
en una posicin escogida al azar, para producir dos subristras iniciales y dos subristras
finales. Despus se intercambian las subristras finales, producindose dos nuevos
cromosomas completos (vase la Figura 2).

Ambos descendientes heredan genes de cada uno de los padres. Este operador se
conoce como operador de cruce basado en un punto. Habitualmente el operador de
cruce no se aplica a todos los pares de individuos que han sido seleccionados para
emparejarse, sino que se aplica de manera aleatoria, normalmente con una
probabilidad comprendida entre 0.5 y 1.0. En el caso en que el operador de cruce no
se aplique, la descendencia se obtiene simplemente duplicando los padres.
El operador de mutacin se aplica a cada hijo de manera individual, y consiste en la
alteracin aleatoria (normalmente con probabilidad pequea) de cada gen
componente del cromosoma.
La Figura 3 muestra la mutacin del quinto gen del cromosoma. S bien puede en
principio pensarse que el operador de cruce es ms importante que el operador de

mutacin, ya que proporciona una exploracin rpida del espacio de bsqueda, ste
ltimo asegura que ningn punto del espacio de bsqueda tenga probabilidad cero de
ser examinado, y es de capital importancia para asegurar la convergencia de los
Algoritmos Genticos.

Para criterios prcticos, es muy til la definicin de convergencia introducida en este


campo por De Jong en su tesis doctoral. Si el Algoritmo Gentico ha sido
correctamente implementado, la poblacin evolucionar a lo largo de las generaciones
sucesivas de tal manera que la adaptacin media extendida a todos los individuos de la
poblacin, as como la adaptacin del mejor individuo se irn incrementando hacia el
ptimo global.
El concepto de convergencia est relacionado con la progresin hacia la uniformidad:
un gen ha convergido cuando al menos el 95 % de los individuos de la poblacin
comparten el mismo valor para dicho gen. Se dice que la poblacin converge cuando
todos los genes han convergido. Se puede generalizar dicha definicin al caso en que al
menos un poco de los individuos de la poblacin hayan convergido.
La Figura 4 muestra como vara la adaptacin media y la mejor adaptacin en un
Algoritmo Gentico Simple tpico.

You might also like