38
Noviembre 2002 ESCOM IPN 1 LMBP

redes neuronales con Levenberg-Marquardt lmbp

  • Upload
    escom

  • View
    3.753

  • Download
    1

Embed Size (px)

Citation preview

Page 1: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 1

LMBP

Page 2: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 2

Método de NewtonMétodo de Newtonxk 1+ xk Ak

1– gk–=

Ak F x 2x xk=

gk F x x xk=

Si el índice de desempeño es una suma del cuadrado de la función:

F x v i2 x

i 1=

N

vT x v x = =

Entonces el j-esimo elemento del gradiente es

F x jF x x j

--------------- 2 vi x vi x x j

---------------

i 1=

N

= =

Page 3: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 3

Forma de la Matriz

F x 2JTx v x =

El gradiente se puede escribir en forma de matriz:

Donde J es la matriz Jacobiana:

J x

v1 x x1

----------------v1 x x2

---------------- v1 x xn

----------------

v2 x x1

----------------v2 x x2

---------------- v2 x xn

----------------

vN x x1

-----------------vN x x2

-----------------vN x xn

-----------------

=

Page 4: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 4

Hessiano

F x 2 k j2F x xk x j

------------------ 2vi x x k

---------------vi x x j

--------------- vi x

2v i x xk x j

------------------+

i 1=

N

= =

F x 2 2JT x J x 2S x +=

S x vi x v i x 2

i 1=

N

=

Page 5: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 5

Método de Método de Gauss-NewtonGauss-Newton

F x 2 2JTx J x

xk 1+ xk 2JT xk J xk 1–2JT xk v xk –=

xk JT xk J xk 1–JT xk v xk –=

Aproximar la matriz Hessiana como:

El método de Newton se transforma:

Page 6: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 6

Algoritmo: Algoritmo: Levenberg-MarquardtLevenberg-Marquardt

H JTJ=

G H I+=

1 2 n z1 z2 zn

Gz i H I+ zi Hzi zi+ izi zi+ i + z i= = = =

Gauss-Newton aproxima el Hesiano por:

Esta matriz puede ser singular, pero puede ser invertible como sigue:

Si los eigenvalores y eigenvectores de H son:

entonces Eigenvalues of G

xk 1+ x k JT x k J x k kI+ 1–JT xk v xk –=

Page 7: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 7

Ajuste de k

Conforme Conforme kk0, LM se transforma0, LM se transforma

en Gauss-Newtonen Gauss-Newton..

x k 1+ xk JT xk J xk 1–JT x k v xk –=

Conforme Conforme kk, LM se transforma en Gradiente , LM se transforma en Gradiente

Descendente con razón de aprendizaje pequeñaDescendente con razón de aprendizaje pequeña.

x k 1+ xk1k-----JT xk v xk – x k

12k--------- F x –=

Page 8: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 8

Por lo tanto, comience con un valor pequeño de k para usar Gauss Newton y velocidad

Convergencia. Si un paso no permite una pequeña F(x), entonces repetir el paso con un parámetro k mayor, hasta que F(x) sea decrementada. F(x) debe decrementarse eventualmente, puesto que habremos tomado un muy pequeño paso en la dirección del Gradiente Descendente.

Page 9: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 9

Aplicación a las Redes Multicapa

F x tq aq– Ttq aq–

q 1=

Q

eqTeq

q 1=

Q

e j q 2

j 1=

SM

q 1=

Q

vi 2

i 1=

N

= = = =

El índice de desempeño para la red multicapa es:

El vector de error es:

El vector parámetro es:

vT

v1 v2 vN e1 1 e2 1 eSM

1e1 2 e

SMQ

= =

xT x1 x2 xn w1 11w1 2

1 wS

1R

1b1

1 bS

11

w1 12 b

SMM= =

N Q SM=

Las dimensiones de los dos vectores son:

n S1R 1+ S

2S

11+ S

MSM 1–

1+ + + +=

Page 10: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 10

Matriz JacobinaMatriz Jacobina

J x

e1 1

w1 11

--------------e1 1

w1 21

-------------- e1 1

wS

1R

1----------------

e1 1

b11

------------

e2 1

w1 11

--------------

e2 1

w1 21

--------------

e2 1

wS

1R

1----------------

e2 1

b11

------------

eSM

1

w1 11

---------------eSM

1

w1 21

---------------eeSM

1

wS

1R

1----------------

eeSM

1

b11

----------------

e1 2

w1 11

--------------

e1 2

w1 21

--------------

e1 2

wS

1R

1----------------

e1 2

b11

------------

=

Page 11: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 11

Calculo del JacobinoCalculo del Jacobino

F̂ x x l

---------------eqTeqx l

-----------------=

SDBP calcula terminos como:

J h lvhxl

--------e k qxl

------------= =

Para el Jacobiano se necesita calcular términos como:

w i jm

------------F̂

nim

---------

nim

wi jm

------------=

sim F̂

nim

---------

Usando la regla de la cadena:

Donde la sensibilidad

Se calcula usando backpropagation.

Page 12: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 12

Sensibilidad de Sensibilidad de MarquardtMarquardt

Si se define una sensibilidad de Marquardt :

s̃i hm vh

ni qm

------------ek q

ni qm

------------= h q 1– SM k+=

Se puede calcular la Jacobiana como sigue:

J h lvh

x l--------

ek q

wi jm

------------ek q

ni qm

------------ni qm

w i jm

------------ s̃i hm ni q

m

wi jm

------------ s̃i hm

a j qm 1–

= = = = =

Pesos W

Umbral B

J h lvhxl

--------ek q

bim

------------

e k q

ni qm

------------ni qm

bim

------------ s̃i hm ni q

m

bim

------------ s̃i hm

= = = = =

Page 13: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 13

Calculo de las Calculo de las SensibilidadesSensibilidades

s̃i hM vh

ni qM

------------ek q

ni qM

------------tk q ak q

M–

ni qM

--------------------------------ak qM

ni qM

------------–= = = =

s̃i hM

fÝMni qM – for i k=

0 for i k

=

S̃qM

FÝMnqM –=

S̃qm

FÝmnqm

( ) Wm 1+ TS̃qm 1+

= S̃m

S̃1mS̃2m S̃Q

m=

Backpropagation

Iniciación

Page 14: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 14

Algoritmo LMBPAlgoritmo LMBP

Paso 1. Presentar todas las entradas a la red y calcular la salidas correspondiente

y los errores.

Calcular la suma de los errores cuadráticos en todas las entradas, F(x).

pa 0

1,,1,01111 MmbaWfa mmmmm Mqqq ate

Page 15: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 15

Paso 2. Calcular la matriz Jacobina.

Inicializar con

Calcule la sensibilidades con las relaciones recurrentes.

Q

qqq

Tqq atatxF

1

)()()(

)(xJ

1~1.~ ))(( mq

mmq

mmq SWnFS

)(.~ Mq

mMq nFS

Page 16: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 16

Aumente la matrices en las sensibilidades de Marquardt.

Calcule los elementos de la matriz Jacobina.

Solucione para obtener

mQmmmq SSSS ~~

2~

1~ |||

1~,

~,,

mqj

mhilh aSJ m

hilh SJ ~,,

)()()()(1

kkT

kkT

k xvxJIxJxJx

kx

kx

Page 17: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 17

Paso 4. Recalcule la suma del error cuadrático usando. Si esta nueva suma de cuadrados es

mas pequeña, que el calculado en el paso 1, entonces divida

actualice y regrese al paso 1. Si la suma de los cuadrados no es

reducida, entonces multiplique k por y regrese al paso 3.

kk xx

kkk xxx 1

Page 18: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 18

Ejemplo de LMBPEjemplo de LMBP

-5 0 5 10 15-5

0

5

10

15

w11,1

w21,1

Page 19: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 19

Trayectoria del Trayectoria del LMBPLMBP

-5 0 5 10 15-5

0

5

10

15

w11,1

w21,1

Page 20: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 20

Ejemplos Ejemplos Método de Método de

Levenberg- Levenberg- MarquardtMarquardt

Page 21: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 21

Ejemplo: 1Encuentre la matriz Jacobina para

el primer paso del método de Levenberg Marquardt. Vea la figura siguiente.

1111 bpWfa 2222 baWfa

21 nnf nnf 2

Page 22: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 22

Los pares entrada / salida son:

Los paramentos iniciales son:

11 11 TP 22 22 TP

01 11 bW

12 22 bW

01.010

Page 23: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 23

Solución

14816

1144)(xJ

Page 24: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 24

Algoritmo de Levenberg-Marquardt

)()()1( kWkWkW mmm

eJIJJkW TTm 1)(

eJkWkW Tmm

1

)()1(

eJIJJkWkW TTmm 1)()1(

Page 25: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 25

Donde: Es la matriz Jacobina.

Es el parámetro Mu con valor de 0.01

Es el parámetro Nu con valor de 10, 5

Es una matriz identidad.

Es el error.

J

e

I

Page 26: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 26

El LMBP es el algoritmo mas rápido que se ha probado para entrenar redes neuronales multicapa de tamaño moderado.

Su principal inconveniente es los requerimientos de memoria; si la red tiene mas de unos cuantos cientos de parámetros el algoritmo se vuelve impráctico.

Conclusiones del Conclusiones del

LMBPLMBP

Page 27: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 27

Simulación en

Matlab / NNT

Page 28: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 28

trainlmEntrena redes feed forward con el

algoritmo de Levenberg Marquardt.Se puede usar para entrenar redes

de 0, 1 y 2 capas ocultas.Este algoritmo es mucho mas rápido

que el de gradiente descendente tal como trainbp o trainbpx; sin embargo requiere de mas memoria.

Método de Levenverg-Marquart

Page 29: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 29

Ejemplo use la funcion trainlm para una red de dos capas.

[W1,b1,W2,b2,epochs,tr] = trainlm (W1,b1,’tansig’, W2,b2,’purelin’,P,T,tp)

Parámetros opcionales para tp=Frecuencia de muestreo = 25;# Máximo de épocas= 1000;Sumatoria del error cuadrático=0.02;

Page 30: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 30

Gradiente mínimo=0.0001;Valor inicial de =0.001;Multiplicador para Inc. =10Multiplicador para dec. =0.1;Máximo valor de =1E10

Page 31: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 31

%EJEMPLO: OR EXCLUSIVAclear;echo on;clc;NNTWARN OFF; P = [0 0 1 1 ;0 1 0 1]; T = [0 1 1 0 ];

[w1,b1,w2,b2]=initff(P,2,'tansig',1,'purelin')

[w1, b1,w2,b2,epochs]= trainlm(w1,b1,'tansig',w2,b2,'purelin',P,T)

Page 32: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 32

[a1,a2]=simuff(P,w1,b1,'tansig',w2,b2,'purelin')

pause %Pulse una tecla para graficar la solución

plotpv(P,T);plotpc(w1,b1);plotpc(w2,b2);echo off

Page 33: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 33

trainlmEs una funcion que entrena redes

multicapa con retropropagación, actualizando W y b de acuerdo a la optimizacion de Levenberg-Marquardt.

Sintaxis[net, tr] = trainlm (net, P,T,A,Q,Ts,VV)

New: Algoritmo de BP con

Levenberg Marquardt

Page 34: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 34

Donde:net = Define la red neuronalnet = netff([0 5 ], [3 1] ,{´tansig´,

´logsig´}, trainlm)P patrones de entradaT valores objetivoAi Condiciones inicialesQ Tamaño del loteTs Tamaño del pasoVV Matriz vacía o vectores de validación

Page 35: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 35

Valores por omisiónValores por omisión

net.trainParam.epochs= 10net.trainParam.goal= 0net. trainParam.lr= 0.01net.trainParam.max_fail= 5net.trainParam.mem_reduc= 1

Page 36: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 36

Valores por omisión (2)Valores por omisión (2)

net.trainParam.min_grad= 1e-10net. trainParam.show= 25net. trainParam.time= inf

Page 37: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 37

Dudas ???

Page 38: redes neuronales con Levenberg-Marquardt lmbp

Noviembre 2002 ESCOM IPN 38

Hasta la próxima !!!