Está en la página 1de 16

Algoritmos genticos y redes neuronales

Algoritmos genticos El Perceptrn Descenso por gradiente y regla delta Redes multicapa Retropropagacin

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 1

Modelos basados en la naturaleza (binicos)

Ontognesis Modelos neurocibernticos Filognesis Modelos evolucionistas Al n y al cabo, no hay tantas tcnicas informticas que hayan demostrado su valor a lo largo de 3.000 millones de aos de pruebas de campo (Forsyth, 1986)

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 2

La evolucin como modelo Primeras ideas: Generacin de mutaciones al azar sobre el cdigo binario de programas (Frieldberg, 1958) Actualmente, nfasis en otros mecanismos genticos, p. ej., entrecruzamiento de genes (crossover) Computacin evolucionista:
reproduccin mutaciones

poblacin de individuos competicin por recursos seleccin combinacin de adaptados

Algoritmos genticos:
individuos = cadenas de bits Programacin gentica: individuos = rboles sintcticos de los programas
Aprendizaje: Algoritmos genticos y redes neuronales transp. 3

UPM

c 2008 DIT-ETSIT-UPM

Optimizacin con algoritmos genticos Problema: encontrar el mximo/mnimo de f (x1, . . . xn) Poblacin: valores de (x1, . . . xn) en binario (cromosomas) Operadores genticos:

Mutacin (cambio de un bit con probabilidad pequea) Seleccin de las parejas reproductoras (probabilidad
proporcional al valor de la funcin)

Entrecruzamiento de los genomas de cada pareja


Nueva generacion: los hijos sustituyen a los individuos menos adaptados Convergencia: cuando hay muchos valores iguales La mutacin sirve para resolver el problema de los mximos/mnimos locales
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 4

Induccin de reglas con algoritmos genticos


Problema: encontrar las mejores reglas para una BC Poblacin: la BC, con una medida de la bondad de cada regla Operadores genticos: sobre la codicacin binaria de las reglas, o bien en el nivel simblico:

Mutacin:

Entrecruzamiento (crossover): Inversin:


La medida de bondad o fuerza depende de la aplicacin: Clasicacin: fallo o acierto Prediccin: cercana al valor Control: resultado de la accin de control

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 5

Ejemplo de entrecruzamiento en binario

Reglas padres: [A1=valor11][A2=valor12] [R=R1] [A1=valor21][A2=valor22] [R=R2] Codicacin: A1 A2 R 111 001 00 010 101 11
11100100 01010111

Aplicacin:
mscara: 00011110 11110110 01000101

Reglas hijas: [A1=valor11][A2=valor22] [R=R3] [A1=valor21][A2=valor12] [R=R4]

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 6

Sistema GABIL (DeJong et al., 1993) Poblacin: {reglas de orden 0+} Evaluacin de reglas: f (r) = porcentaje de ejemplos correctamente clasicados por r En cada generacin, p reglas (constante)

a una fraccin t se le aplica entrecruzamiento y se sustituyen pos los hijos

a una fraccin m (muy pequea) se le aplica mutacin


Resultados: sobre 12 problemas sintticos, GABIL: 92,1 % ID3, AQ, C4.5. . . : 91,2 % 96,6 %
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 7

Operadores genticos en GABIL

Seleccin aleatoria de (1 t) p reglas de la poblacin actual para aadir a la siguiente, con probabilidad:

P(ri) =

f (ri) p j=1 f (r j )

Entrecruzamiento entre t p/2 pares de reglas de la poblacin actual (seleccionadas con la misma funcin), aadiendo el resultado a la siguiente Mutacin de m p reglas (con probabilidad uniforme) de la poblacin resultante

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 8

GABIL: algoritmo

Inicio: P = {p reglas al azar} Calcular f (ri), i = 1 . . . p Mientras (m x f (ri) < umbral) a

/ PS = 0 PS = selecc(P,t) PS = PS entrecruzamiento(P,t) PS = mutac(PS , m) P = PS calcular f (ri)


Devolver r tal que f (r) es mxima

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 9

Neurona formal (McCulloch y Pitts, 1943)

e 1 e n i 1 i m

s=1 si ( ej U) y ( i k = 0)
e, i, s binarias U (umbral) entero

El modelo simula: Sinapsis excitadoras e inhibidoras Umbral de excitacin Sumacin espacial

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 10

Neuronas formales y lgica de proposiciones


x 1 x 2 x3 1 x 1 x 2 x 3 1 x x x 1 2 3 x 1 x 2 x3 x1 x 2 x3 x 1 x 2 x3 x1 x 2 x1 x 2 1 1 1 x x +x x 1 2 1 2

x x x 1 2 3

x x x 1 2 3

x +x +x 1 2 3

x x x 1 2 3

McCulloch, W. and Pitts, W. (1943): A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 7:115 - 133.

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 11

El Perceptron (Rosenblatt, 1958: 1943 + 15)


x 1 w1 wn xn x0 =1 w0 y= w x i i s = 1 si y > 0 s = 1 si y <= 0

Conjunto de entrenamiento: E = { x1, x2, . . . xn, r }

xi [1, 1]; wi [0, 1]; r {1, 1}


Regla de entrenamiento basada en castigo de los wi culpables: Si s = 1 y r = 1 aumentar los wi correspondientes a xi > 0 y reducir los correspondientes a xi < 0 Si s = 1 y r = 1 reducir los wi correspondientes a xi > 0 y aumentar los correspondientes a xi < 0
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 12

Algoritmo del Perceptron


x 1 x0 =1 w0 y= w x i i

w1 wn

s = 1 si y > 0 s = 1 si y <= 0

xn

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 13

Convergencia del Perceptron


x 1

x n algoritmo de aprendizaje

extraccion de caracteristicas (features)

Condicin de convergencia: separabilidad lineal en el espacio (x1, x2, . . . xn) Minsky y Papert (1969)
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 14

Descenso (o ascenso) por gradiente: principio Mtodo clsico para optimizacin: hill climbing Neurona lineal: s(x) = y(x) = w x Error de una hiptesis, w :
E

E(w) =

(e: ndice de ejemplos)

1 (re se)2; re, se [0, 1] 2 e

w 2

w 1

Idea: acercarse al mnimo mediante incrementos de w proporcionales al gradiente de E

E= 1 (re w1 x1e w2 x2e)2 2 e

E =

E E . . . wn w0

: direccin de mximo crecimiento de E

w = K E
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 15

Descenso por gradiente: adaptacin de pesos

E(w) =

1 (re se)2; 2 e

E =

E E w0 . . . wn

w = K E

Como se = w xe,

E 1 = (re se)2 = (re se) xie wi 2 e wi e wi = K (re se) xie


e

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 16

Descenso por gradiente: algoritmo

es xie: valor de la entrada i para el ejemplo e

Comparar con el algoritmo del Perceptron

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 17

Descenso incremental o regla delta

Variante del algoritmo del gradiente (Widrow y Hoff, 1960: adalines):


1 No funcin error global, sino por ejemplo: Ee(w) = 2 (re se)2

Iteracin sobre los ejemplos, modicando wi para cada uno Algoritmo (igual al del Perceptron, pero re, se [0, 1]):

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 18

Diferencias entre Perceptron, Gradiente y Regla Delta

Delta aproxima Gradiente para K sucientemente pequeo, y requiere menos computacin Si hay varios mnimos (funciones no lineales), Delta mejor que Gradiente para evitar mnimos locales Perceptron usa el error (discreto) a la salida del umbral; Gradiente/Delta, el error (continuo) de la combinacin lineal de entradas Perceptron converge tras un nmero nito de iteraciones a una hiptesis (w) que clasica perfectamente los ejemplos siempre que stos sean linealmente separables Gradiente/Delta convergen asintticamente a una hiptesis de mnimo error (local) aunque los ejemplos no sean linealmente separables (Demostraciones en Hertz et al., 1991)
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 19

UPM

Redes multicapa: MLP

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 20

La separabilidad en las redes multicapa segn Minsky

Perceptron y otras funciones de activacin con una sola capa: limitacin por la condicin de separabilidad lineal Se pueden conseguir supercies no lineales con una red de varias capas? Para funciones lgicas, s (ejemplo tpico: ORX) Pero no con el algoritmo del gradiente ni la regla delta: la red seguira siendo lineal Con funciones de activacin no lineales? (como el Perceptron) Nuestra opinin personal es que la extensin es estril (Minsky y Papert, 1969: 1958 + 11)

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 21

Separabilidad en las redes multicapa

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 22

El entrenamiento de redes multicapa Problema para el diseo de una estrategia de aprendizaje: asignacin de mrito (credit assignment) Mrito (o culpa, o responsabilidad) de un peso (wi j ): E medida de su contribucin al error global ( w )
ij

Dicultad con el Perceptron: la funcin de activacin no es diferenciable Se necesita una neurona con funcin de activacin

no lineal, para conseguir supercies no lineales E diferenciable, para poder calcular wi j = K wi j

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 23

Neurona no lineal y diferenciable


x x0j =-1 w 1j 1j w 0j y= j w nj x nj w x ij ij s(y j) = 1 -y 1+e j

("net ") j

Con esta funcin sigmoidal (o logstica),


E wi j Ee y j E E = y j wijj = y j xi j y

ds dy

= s(y) (1 s(y))

Si se conoce r j para un ejemplo e,

1 = y j ( 2 (r j s j)2) = (r j s j) y jj = (r j s j ) s j (1 s j )

wi j = K j xi j , con j = (r j s j ) s j (1 s j )
Pero r j slo se conoce en la capa de salida
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 24

Notacin para redes multicapa

xi j : entrada a la neurona j procedente de la i


(para la capa de entrada, entradas a la red) wi j : peso de la conexin de la neurona i a la j j : factor de error de la neurona j e: ndice sobre los ejemplos l : ndice sobre las neuronas de salida h, r: ndices sobre neuronas ocultas Con varias neuronas de salida, error de una hiptesis w: Gradiente: E(w) =

1 (rle sle)2 2 e l 1 (rle sle)2 2 l


transp. 25

Regla delta: Ee(w) =


UPM
c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

Ajuste de pesos en redes multicapa


E Considerando Regla Delta, wi j = K w e = K j xi j , con
ij

j = Ee y j
Para la funcin de activacin sigmoidal resulta: En neuronas de salida: l = sl (1 sl ) (rl sl ) En neuronas de la capa anterior a la de salida, como no se conoce rh se estima el mrito en funcin de la contribucin de las siguientes: h = sh (1 sh) l (whl l ) En neuronas de la capa c, igual:

h = sh (1 sh)

r: capa c+1

(whr r )

algoritmo de retropropagacin, 1985 (1969 + 16)


UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 26

Algoritmo de retropropagacin: adelante



UPM
c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 27

Algoritmo de retropropagacin: errores de salida


En el caso de una sola capa, hemos terminado (falta cerrar el bucle de ejemplos y la condicin de terminacin) En el caso de varias capas falta lo ms interesante: propagar hacia atrs los errores, modicando los pesos convenientemente

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 28

Algoritmo de retropropagacin: atrs


Atribuido generalmente a Rumelhart, Hinton y Williams (1985) Idea original de Werbos (1974) redescubierta por Parker (1982) (Widrow, Proc. IEEE, Sep. 1990)
UPM
c 2008 DIT-ETSIT-UPM Aprendizaje: Algoritmos genticos y redes neuronales transp. 29

Aplicaciones de retropropagacin: ejemplo Una capa oculta: supercies convexas Dos capas ocultas: supercies arbitrarias Ejemplo: reconocimiento de 10 sonidos vocales en el contexto h_d (Huang y Lippmann, 1988)
4000
head

heed
hid

had head hid

2000 F2 (Hz)

1000
F 2

heard whod hood

hud hod

whod

500 0 500

hawed
1000 F1 (Hz) 1400

hood

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 30

Software para redes neuronales

SNNS (Stuttgart Neural Network Simulator) Simulador y GUI para Unix (portado tambn a Windows) Incluye muchos algoritmos, adems de retropropagacin: conterprop, quickprop, Rprop...


JavaNNS Sucesor de SNNS, multiplataforma

UPM

c 2008 DIT-ETSIT-UPM

Aprendizaje: Algoritmos genticos y redes neuronales

transp. 31

También podría gustarte