redes neuronales con Levenberg-Marquardt lmbp
Transcript of redes neuronales con Levenberg-Marquardt lmbp
![Page 1: redes neuronales con Levenberg-Marquardt lmbp](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/1.jpg)
Noviembre 2002 ESCOM IPN 1
LMBP
![Page 2: redes neuronales con Levenberg-Marquardt lmbp](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/2.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/4.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/5.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/6.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/11.jpg)
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:
F̂
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/12.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/13.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/14.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/15.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/16.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/17.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/18.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/19.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/20.jpg)
Noviembre 2002 ESCOM IPN 20
Ejemplos Ejemplos Método de Método de
Levenberg- Levenberg- MarquardtMarquardt
![Page 21: redes neuronales con Levenberg-Marquardt lmbp](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/21.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/22.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/23.jpg)
Noviembre 2002 ESCOM IPN 23
Solución
14816
1144)(xJ
![Page 24: redes neuronales con Levenberg-Marquardt lmbp](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/24.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/25.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/26.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/27.jpg)
Noviembre 2002 ESCOM IPN 27
Simulación en
Matlab / NNT
![Page 28: redes neuronales con Levenberg-Marquardt lmbp](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/28.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/29.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/30.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/31.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/32.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/33.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/34.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/35.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/36.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/37.jpg)
Noviembre 2002 ESCOM IPN 37
Dudas ???
![Page 38: redes neuronales con Levenberg-Marquardt lmbp](https://reader030.fdocuments.co/reader030/viewer/2022020921/557cbdfbd8b42a59078b48a1/html5/thumbnails/38.jpg)
Noviembre 2002 ESCOM IPN 38
Hasta la próxima !!!