redes neuronales con levenberg-marquardt lmbp

Post on 14-Jun-2015

3.753 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Noviembre 2002 ESCOM IPN 1

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

= =

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

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

=

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

=

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:

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

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

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.

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

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

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

=

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.

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

= = = = =

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

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

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

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

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

Noviembre 2002 ESCOM IPN 18

Ejemplo de LMBPEjemplo de LMBP

-5 0 5 10 15-5

0

5

10

15

w11,1

w21,1

Noviembre 2002 ESCOM IPN 19

Trayectoria del Trayectoria del LMBPLMBP

-5 0 5 10 15-5

0

5

10

15

w11,1

w21,1

Noviembre 2002 ESCOM IPN 20

Ejemplos Ejemplos Método de Método de

Levenberg- Levenberg- MarquardtMarquardt

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

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

Noviembre 2002 ESCOM IPN 23

Solución

14816

1144)(xJ

Noviembre 2002 ESCOM IPN 24

Algoritmo de Levenberg-Marquardt

)()()1( kWkWkW mmm

eJIJJkW TTm 1)(

eJkWkW Tmm

1

)()1(

eJIJJkWkW TTmm 1)()1(

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

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

Noviembre 2002 ESCOM IPN 27

Simulación en

Matlab / NNT

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

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;

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

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)

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

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

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

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

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

Noviembre 2002 ESCOM IPN 37

Dudas ???

Noviembre 2002 ESCOM IPN 38

Hasta la próxima !!!

top related