. Variantes de  Backpropagation
Técnicas Heurísticas y de optimización Numérica
Técnicas de Acelerar el algoritmo de Retropropagación. Técnicas Heurísticas Momento Razón de aprendizaje variable Técnicas de optimización numérica Algoritmo de gradiente conjugado Algoritmo de Levenberg-Marquardt
SDBP Método del Gradiente  Descendente
Características del algoritmo  de Retropropagación. El mejor avance en RNA Permite entrenar redes multicapa Aproximación de un algoritmo de Gradiente Descendente SDBP es una generalización de LMS SDBP es equivalente LMS para red lineal monocapa SDBP Se utiliza entre 80% a 85%
La superficie de error de una red monocapa lineal tiene un solo mínimo  y una curvatura constante La superficie de error en una multicapa puede tener varios mínimos locales y la curvatura puede variar ampliamente en diferentes regiones.
Error cuadrático  vs.  w 1 1,1  y  w 2 1,1 w 1 1,1 w 2 1,1 w 1 1,1 w 2 1,1
Ejemplo de Convergencia w 1 1,1 w 2 1,1
Inconvenientes del  algoritmo Básico (SDBP) Algoritmo de entrenamiento muy lento Tiempo de entrenamiento grande (días e incluso  semanas) La razón de aprendizaje es pequeña. 0.05  <    <  0.25  (  max =1)
Razón de aprendizaje  muy grande w 1 1,1 w 2 1,1
Recomendaciones para iniciar  los parámetros del SDBP 1.- No ajustar los parámetros iniciales a cero. 2.- no ajustar los parámetros iniciales a valores grandes. 3.- Escoger valores  iniciales aleatorios pequeños. 4.- Probar con diferentes valores iniciales hasta alcanzar un mínimo global o un error mínimo.
Alternativas para mejorar la convergencia del algoritmo SDBP Incrementar la velocidad de aprendizaje en superficies planas y disminuirla conforme la pendiente aumente. Suavizar la trayectoria de convergencia (a través de un filtro)
Ejemplos BP Método del Gradiente   Descendente
Ejemplo: 1 Aplique el algoritmo de Gradiente Descendente  a la siguiente función. Los Valores iniciales son: A) Realice 5 iteraciones. B) Dibuje la superficie de error en 2D. C) Grafique los punto obtenidos.
MOBP Método del Momento
Técnicas Heurísticas Método del Momento Basado en suavizar las oscilaciones en la trayectoria hacia la convergencia al usar un filtro pasabajas. Al incrementar el momento (  ) las oscilaciones de la salida filtrada se reducen.
El Momento Filtro Ejemplo
Algoritmo de Retropropagación  de Gradiente Descendente (SDBP) Retropropagación con Momento (MOBP)
Método del  Momento  (MOBP) w 1 1,1 w 2 1,1
Ventajas del método  del Momento (MOBP) Permite una razón de aprendizaje mayor Se acelera la convergencia cuando la trayectoria se este moviendo en una dirección constante. Tiende a hacer la la trayectoria continua en la misma dirección.
LVBP Razón de Aprendizaje Variable
Razón de Aprendizaje  Variable (LVBP) Incrementa la velocidad de convergencia al aumentar la velocidad de aprendizaje en superficies planas y diminuye esta razón cuando la pendiente aumenta.
Reglas del algoritmo  VLBP (1) 1.- Si el error cuadrático se incrementa mayor a un porcentaje establecido (1% a 5%) después de haber actualizado W; entonces se descarta la actualización;   se multiplica por  0 <    <  1     se ajusta a cero (si se utiliza el momento).
Reglas de algoritmo  VLBP (2) 2.- si el error cuadrático disminuye después de haber actualizado W, entonces la actualización es aceptada.   es multiplicada por un factor     >1. Si    había sido ajusta a cero, este regresa a su valor original.
Reglas de Algoritmo  VLBP Si el error cuadrático se incrementa en un valor menor a    , entonces la actualización de W se acepta pero    no cambia. Si    había sido ajusta a cero, este regresa a su valor original. Valores típicos:    = 1.05   = 0.7   =4%
Cuando la trayectoria viaja en línea recta,    y el tamaño del paso tienden a incrementarse con una disminución del error constante. Cuando la trayectoria llega a un valle angosto disminuye    rápidamente.
w 1 1,1 w 2 1,1 Ejemplo
Variantes del Algoritmo  VLBP Delta-bar-delta  (R. A Jacobs) Algoritmo de tolerancia SuperSAB (T. Tollenaere) Quickprop  (S.E. Fahlman)
Ejemplos BP Método del Momento  (  ) y    variable
Ejemplo: 1 Aplique el algoritmo de Razón de Aprendizaje Variable y Momento  a la siguiente función. Valores iniciales: A) Realice 5 iteraciones. B) Dibuje la superficie de error en 2D. C) Grafique los punto obtenidos.
Inconvenientes de los Métodos Heurísticos Requiere de ajustar muchos parámetros (  ,   ,   ) algunos pueden tener hasta 6 parámetros; a diferencia de SDBP que solo requiere   . Pueden fallar en la convergencia donde el algoritmo SDBP encuentra solución.
Técnicas de Optimización Numérica El Gradiente conjugado (CGBP) Levenberg-Marquardt (LMBP)
CGBP Algoritmo del Gradiente  Conjugado
Algoritmo de Gradiente Conjugado (CGBP) CGBP converge a un mínimo de una función cuadrática en un numero finito de iteraciones. El procedimiento general para localizar un mínimo de una función en una dirección requiere: Localizar el intervalo donde se encuentra Reducir el intervalo
Algoritmo de *** Gradiente ***  Conjugado
1. La primera dirección de búsqueda es el gradiente descendente 2. Tomar un paso y escoger una razón de aprendizaje para  minimizar la función a lo largo de la dirección búsqueda.
3. Seleccione la siguiente  dirección de búsqueda de acuerdo a: Donde:
Si el algoritmo no ha convergido regrese al paso 2.
Ejemplos BP Método del Gradiente  Conjugado
Ejemplo: 1 Aplique el algoritmo de Gradiente Conjugado  a la siguiente función. Los valores iniciales son: A) Realice 2 iteraciones. B) Dibuje la superficie de error en 2D. C) Grafique los punto obtenidos.
Inconvenientes del algoritmo  de Gradiente Conjugado. El algoritmo GC nos puede aplicar directamente al entrenamiento de RNA, dado que el índice de desempeño de las mismas no es cuadrático. No se puede usar   k  para minimizar la función a lo largo de una línea. No se alcanzara un mínimo exacto en un numero finito de iteraciones.
Para localizar un mínimo de una función en una dirección especificada se requiere: a) Localización del intervalo. b) Reducción del intervalo. El propósito del paso de localización del intervalo es encontrar un intervalo inicial que contenga un mínimo local.
El paso de la reducción del intervalo, reduce el tamaño del intervalo hasta que el mínimo es localizado en la precisión deseada. Para lo anterior se propuso: “El método de búsqueda de la Sección de Oro”
A) Localización del Intervalo Búsqueda de la sección de oro
B) Reducción del  Intervalo
Búsqueda de la  sección de oro  =0.618 Set c 1  =  a 1  + (1-  )( b 1 - a 1 ),  F c = F ( c 1 ) d 1  =  b 1  - (1-  )( b 1 - a 1 ),  F d = F ( d 1 ) For  k =1,2, ... repeat If  F c   <  F d  then Set   a k +1  =  a k  ;  b k +1  =  d k  ;  d k +1  =  c k   c  k +1  =  a  k +1  + (1-  )( b  k +1  - a  k +1  )   F d =  F c ;  F c = F ( c  k +1  ) else Set   a k +1  =  c k  ;  b k +1  =  b k  ;  c k +1  =  d k   d  k +1  =  b  k +1  - (1-  )( b  k +1  - a  k +1  )   F c =  F d ;  F d = F ( d  k +1  ) end end until  b k +1  -  a k +1  <  tol
Ejemplo: 1 Realice una iteración del algoritmo de Gradiente Conjugado para la función: Para la minimización lineal use la localización del intervalo  mediante la evaluación de la función F(x); y para la reducción del intervalo por medio de Búsqueda de la Sección de Oro.
Algoritmo de gradiente Conjugado w 1 1,1 w 2 1,1 w 1 1,1 w 2 1,1 Pasos Intermedios Trayectoria Completa
LMBP Método de Levenberg  Marquardt
Método de Newton Si el índice de desempeño es una suma del cuadrado de la función: Entonces el  j -esimo elemento del  gradiente es
Forma de la Matriz El gradiente se puede escribir en forma de matriz: Donde  J  es la matriz Jacobiana: J x   v 1 x    x 1  - - - - - - - - - - - - - - - - v 1 x    x 2  - - - - - - - - - - - - - - - -  v 1 x    x n  - - - - - - - - - - - - - - - - v 2 x    x 1  - - - - - - - - - - - - - - - - v 2 x    x 2  - - - - - - - - - - - - - - - -  v 2 x    x n  - - - - - - - - - - - - - - - -    v N x    x 1  - - - - - - - - - - - - - - - - - v N x    x 2  - - - - - - - - - - - - - - - - -  v N x    x n  - - - - - - - - - - - - - - - - - =
Hessiano
Método de  Gauss-Newton   Aproximar la matriz Hessiana  como: El método de Newton se transforma: x k J T x k   J x k     1 – J T x k   v x k   – =
Algoritmo:  Levenberg-Marquardt 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
Ajuste de   k Conforme   k  0, LM se transforma en Gauss-Newton . Conforme   k  , LM se transforma en Gradiente  Descendente con razón de aprendizaje pequeña .
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.
Aplicación a las  Redes Multicapa El índice de desempeño para la red multicapa es: El vector de error es: El  vector parámetro es: Las dimensiones de los dos vectores son:
Matriz Jacobiana J x   e 1 1   w 1 1  1  - - - - - - - - - - - - - - e 1 1   w 1 2  1  - - - - - - - - - - - - - -  e 1 1   w S 1 R  1  - - - - - - - - - - - - - - - - e 1 1   b 1 1  - - - - - - - - - - - -  e 2 1   w 1 1  1  - - - - - - - - - - - - - - e 2 1   w 1 2  1  - - - - - - - - - - - - - -  e 2 1   w S 1 R  1  - - - - - - - - - - - - - - - - e 2 1   b 1 1  - - - - - - - - - - - -      e S M 1   w 1 1  1  - - - - - - - - - - - - - - - e S M 1   w 1 2  1  - - - - - - - - - - - - - - -  e e S M 1   w S 1 R  1  - - - - - - - - - - - - - - - - e e S M 1   b 1 1  - - - - - - - - - - - - - - - -  e 1 2   w 1 1  1  - - - - - - - - - - - - - - e 1 2   w 1 2  1  - - - - - - - - - - - - - -  e 1 2   w S 1 R  1  - - - - - - - - - - - - - - - - e 1 2   b 1 1  - - - - - - - - - - - -      =
Calculo del Jacobiano SDBP calcula terminos como: Para el  Jacobiano se necesita calcular terminos como: Usando la regla de la cadena: Donde la sensibilidad Se calcula usando  backpropagation.
Sensibilidad de  Marquardt Si se define una sensibilidad de Marquardt : Se puede calcular la Jacobiana como sigue: Pesos W Umbral B
Calculo de las  Sensibilidades Backpropagation Iniciación S ˜ m S ˜ 1 m S ˜ 2 m  S ˜ Q m =
Algoritmo LMBP 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. Calcular la matriz Jacobiana. Después de inicializar, calcule la sensibilidades con el algoritmo de retropropagación. Aumente la matrices en las sensibilidades de Marquardt. Calcule los elementos de la matriz Jacobiana.
Solucione para obtener el cambio en los pesos. Recalcule la suma del error cuadrático con los nuevos pesos.  Si esta nueva suma de cuadrados es mas pequeña, que el calculado en el paso 1, entonces divida   k  en   actualice los pesos y regrese al paso 1. Si la suma de los cuadrados no es reducida, entonces multiplique   k  por    y regrese al paso 3.
Ejemplo de LMBP  w 1 1,1 w 2 1,1
Trayectoria del LMBP w 1 1,1 w 2 1,1
Ejemplos BP Método de Levenberg  Marquardt
Ejemplo: 1 Encuentre la matriz Jacobina para el primer paso del método de Levenberg Marquardt. Vea la figura siguiente.
Los pares entrada / salida son: Los paramentos iniciales son:
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  LMBP
Simulación en  Matlab / NNT
trainbpx Entrena redes multicapa con retropropagación rápida. Se puede usar para redes de una,dos o tres capas. Ejemplo use la funcion trainbpx para una red de dos capas. [W1,b1,W2,b2,epochs,tr]  = trainbpx (W1,b1,’tansig’, W2,b2,’purelin’,p,t,tp) Método del Momento  y Aprendizaje Variable
Valores por omisión para tp tp= [disp-freq =  25  max-epoch=  100  err-goal=  0.02 lr=  0.01 momentum=  0.9 lr-inc=  1.05 lr-dec=  0.7 err-ratio=  1.04  ]
%EJEMPLO: OR EXCLUSIVA clear;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]= trainbpx(w1,b1, 'tansig' ,w2,b2, 'purelin' ,P,T)
[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
trainlm Entrena 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
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;
Gradiente mínimo=0.0001; Valor inicial de    =0.001; Multiplicador para Inc.   =10 Multiplicador para dec.    =0.1; Máximo valor de    =1E10
%EJEMPLO: OR EXCLUSIVA clear;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)
[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
Dudas ???
Hasta la próxima !!!

Variantes de BACKPROPAGATION

  • 1.
    . Variantes de Backpropagation
  • 2.
    Técnicas Heurísticas yde optimización Numérica
  • 3.
    Técnicas de Acelerarel algoritmo de Retropropagación. Técnicas Heurísticas Momento Razón de aprendizaje variable Técnicas de optimización numérica Algoritmo de gradiente conjugado Algoritmo de Levenberg-Marquardt
  • 4.
    SDBP Método delGradiente Descendente
  • 5.
    Características del algoritmo de Retropropagación. El mejor avance en RNA Permite entrenar redes multicapa Aproximación de un algoritmo de Gradiente Descendente SDBP es una generalización de LMS SDBP es equivalente LMS para red lineal monocapa SDBP Se utiliza entre 80% a 85%
  • 6.
    La superficie deerror de una red monocapa lineal tiene un solo mínimo y una curvatura constante La superficie de error en una multicapa puede tener varios mínimos locales y la curvatura puede variar ampliamente en diferentes regiones.
  • 7.
    Error cuadrático vs. w 1 1,1 y w 2 1,1 w 1 1,1 w 2 1,1 w 1 1,1 w 2 1,1
  • 8.
    Ejemplo de Convergenciaw 1 1,1 w 2 1,1
  • 9.
    Inconvenientes del algoritmo Básico (SDBP) Algoritmo de entrenamiento muy lento Tiempo de entrenamiento grande (días e incluso semanas) La razón de aprendizaje es pequeña. 0.05 <  < 0.25 (  max =1)
  • 10.
    Razón de aprendizaje muy grande w 1 1,1 w 2 1,1
  • 11.
    Recomendaciones para iniciar los parámetros del SDBP 1.- No ajustar los parámetros iniciales a cero. 2.- no ajustar los parámetros iniciales a valores grandes. 3.- Escoger valores iniciales aleatorios pequeños. 4.- Probar con diferentes valores iniciales hasta alcanzar un mínimo global o un error mínimo.
  • 12.
    Alternativas para mejorarla convergencia del algoritmo SDBP Incrementar la velocidad de aprendizaje en superficies planas y disminuirla conforme la pendiente aumente. Suavizar la trayectoria de convergencia (a través de un filtro)
  • 13.
    Ejemplos BP Métododel Gradiente  Descendente
  • 14.
    Ejemplo: 1 Apliqueel algoritmo de Gradiente Descendente a la siguiente función. Los Valores iniciales son: A) Realice 5 iteraciones. B) Dibuje la superficie de error en 2D. C) Grafique los punto obtenidos.
  • 15.
  • 16.
    Técnicas Heurísticas Métododel Momento Basado en suavizar las oscilaciones en la trayectoria hacia la convergencia al usar un filtro pasabajas. Al incrementar el momento (  ) las oscilaciones de la salida filtrada se reducen.
  • 17.
  • 18.
    Algoritmo de Retropropagación de Gradiente Descendente (SDBP) Retropropagación con Momento (MOBP)
  • 19.
    Método del Momento (MOBP) w 1 1,1 w 2 1,1
  • 20.
    Ventajas del método del Momento (MOBP) Permite una razón de aprendizaje mayor Se acelera la convergencia cuando la trayectoria se este moviendo en una dirección constante. Tiende a hacer la la trayectoria continua en la misma dirección.
  • 21.
    LVBP Razón deAprendizaje Variable
  • 22.
    Razón de Aprendizaje Variable (LVBP) Incrementa la velocidad de convergencia al aumentar la velocidad de aprendizaje en superficies planas y diminuye esta razón cuando la pendiente aumenta.
  • 23.
    Reglas del algoritmo VLBP (1) 1.- Si el error cuadrático se incrementa mayor a un porcentaje establecido (1% a 5%) después de haber actualizado W; entonces se descarta la actualización;  se multiplica por 0 <  < 1  se ajusta a cero (si se utiliza el momento).
  • 24.
    Reglas de algoritmo VLBP (2) 2.- si el error cuadrático disminuye después de haber actualizado W, entonces la actualización es aceptada.  es multiplicada por un factor  >1. Si  había sido ajusta a cero, este regresa a su valor original.
  • 25.
    Reglas de Algoritmo VLBP Si el error cuadrático se incrementa en un valor menor a   , entonces la actualización de W se acepta pero  no cambia. Si  había sido ajusta a cero, este regresa a su valor original. Valores típicos:  = 1.05  = 0.7  =4%
  • 26.
    Cuando la trayectoriaviaja en línea recta,  y el tamaño del paso tienden a incrementarse con una disminución del error constante. Cuando la trayectoria llega a un valle angosto disminuye  rápidamente.
  • 27.
    w 1 1,1w 2 1,1 Ejemplo
  • 28.
    Variantes del Algoritmo VLBP Delta-bar-delta (R. A Jacobs) Algoritmo de tolerancia SuperSAB (T. Tollenaere) Quickprop (S.E. Fahlman)
  • 29.
    Ejemplos BP Métododel Momento (  ) y   variable
  • 30.
    Ejemplo: 1 Apliqueel algoritmo de Razón de Aprendizaje Variable y Momento a la siguiente función. Valores iniciales: A) Realice 5 iteraciones. B) Dibuje la superficie de error en 2D. C) Grafique los punto obtenidos.
  • 31.
    Inconvenientes de losMétodos Heurísticos Requiere de ajustar muchos parámetros (  ,  ,  ) algunos pueden tener hasta 6 parámetros; a diferencia de SDBP que solo requiere  . Pueden fallar en la convergencia donde el algoritmo SDBP encuentra solución.
  • 32.
    Técnicas de OptimizaciónNumérica El Gradiente conjugado (CGBP) Levenberg-Marquardt (LMBP)
  • 33.
    CGBP Algoritmo delGradiente Conjugado
  • 34.
    Algoritmo de GradienteConjugado (CGBP) CGBP converge a un mínimo de una función cuadrática en un numero finito de iteraciones. El procedimiento general para localizar un mínimo de una función en una dirección requiere: Localizar el intervalo donde se encuentra Reducir el intervalo
  • 35.
    Algoritmo de ***Gradiente *** Conjugado
  • 36.
    1. La primeradirección de búsqueda es el gradiente descendente 2. Tomar un paso y escoger una razón de aprendizaje para minimizar la función a lo largo de la dirección búsqueda.
  • 37.
    3. Seleccione lasiguiente dirección de búsqueda de acuerdo a: Donde:
  • 38.
    Si el algoritmono ha convergido regrese al paso 2.
  • 39.
    Ejemplos BP Métododel Gradiente Conjugado
  • 40.
    Ejemplo: 1 Apliqueel algoritmo de Gradiente Conjugado a la siguiente función. Los valores iniciales son: A) Realice 2 iteraciones. B) Dibuje la superficie de error en 2D. C) Grafique los punto obtenidos.
  • 41.
    Inconvenientes del algoritmo de Gradiente Conjugado. El algoritmo GC nos puede aplicar directamente al entrenamiento de RNA, dado que el índice de desempeño de las mismas no es cuadrático. No se puede usar  k para minimizar la función a lo largo de una línea. No se alcanzara un mínimo exacto en un numero finito de iteraciones.
  • 42.
    Para localizar unmínimo de una función en una dirección especificada se requiere: a) Localización del intervalo. b) Reducción del intervalo. El propósito del paso de localización del intervalo es encontrar un intervalo inicial que contenga un mínimo local.
  • 43.
    El paso dela reducción del intervalo, reduce el tamaño del intervalo hasta que el mínimo es localizado en la precisión deseada. Para lo anterior se propuso: “El método de búsqueda de la Sección de Oro”
  • 44.
    A) Localización delIntervalo Búsqueda de la sección de oro
  • 45.
  • 46.
    Búsqueda de la sección de oro  =0.618 Set c 1 = a 1 + (1-  )( b 1 - a 1 ), F c = F ( c 1 ) d 1 = b 1 - (1-  )( b 1 - a 1 ), F d = F ( d 1 ) For k =1,2, ... repeat If F c < F d then Set a k +1 = a k ; b k +1 = d k ; d k +1 = c k c k +1 = a k +1 + (1-  )( b k +1 - a k +1 ) F d = F c ; F c = F ( c k +1 ) else Set a k +1 = c k ; b k +1 = b k ; c k +1 = d k d k +1 = b k +1 - (1-  )( b k +1 - a k +1 ) F c = F d ; F d = F ( d k +1 ) end end until b k +1 - a k +1 < tol
  • 47.
    Ejemplo: 1 Realiceuna iteración del algoritmo de Gradiente Conjugado para la función: Para la minimización lineal use la localización del intervalo mediante la evaluación de la función F(x); y para la reducción del intervalo por medio de Búsqueda de la Sección de Oro.
  • 48.
    Algoritmo de gradienteConjugado w 1 1,1 w 2 1,1 w 1 1,1 w 2 1,1 Pasos Intermedios Trayectoria Completa
  • 49.
    LMBP Método deLevenberg Marquardt
  • 50.
    Método de NewtonSi el índice de desempeño es una suma del cuadrado de la función: Entonces el j -esimo elemento del gradiente es
  • 51.
    Forma de laMatriz El gradiente se puede escribir en forma de matriz: Donde J es la matriz Jacobiana: J x   v 1 x    x 1  - - - - - - - - - - - - - - - - v 1 x    x 2  - - - - - - - - - - - - - - - -  v 1 x    x n  - - - - - - - - - - - - - - - - v 2 x    x 1  - - - - - - - - - - - - - - - - v 2 x    x 2  - - - - - - - - - - - - - - - -  v 2 x    x n  - - - - - - - - - - - - - - - -    v N x    x 1  - - - - - - - - - - - - - - - - - v N x    x 2  - - - - - - - - - - - - - - - - -  v N x    x n  - - - - - - - - - - - - - - - - - =
  • 52.
  • 53.
    Método de Gauss-Newton Aproximar la matriz Hessiana como: El método de Newton se transforma: x k J T x k   J x k     1 – J T x k   v x k   – =
  • 54.
    Algoritmo: Levenberg-MarquardtGauss-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
  • 55.
    Ajuste de  k Conforme  k  0, LM se transforma en Gauss-Newton . Conforme  k  , LM se transforma en Gradiente Descendente con razón de aprendizaje pequeña .
  • 56.
    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.
  • 57.
    Aplicación a las Redes Multicapa El índice de desempeño para la red multicapa es: El vector de error es: El vector parámetro es: Las dimensiones de los dos vectores son:
  • 58.
    Matriz Jacobiana Jx   e 1 1   w 1 1  1  - - - - - - - - - - - - - - e 1 1   w 1 2  1  - - - - - - - - - - - - - -  e 1 1   w S 1 R  1  - - - - - - - - - - - - - - - - e 1 1   b 1 1  - - - - - - - - - - - -  e 2 1   w 1 1  1  - - - - - - - - - - - - - - e 2 1   w 1 2  1  - - - - - - - - - - - - - -  e 2 1   w S 1 R  1  - - - - - - - - - - - - - - - - e 2 1   b 1 1  - - - - - - - - - - - -      e S M 1   w 1 1  1  - - - - - - - - - - - - - - - e S M 1   w 1 2  1  - - - - - - - - - - - - - - -  e e S M 1   w S 1 R  1  - - - - - - - - - - - - - - - - e e S M 1   b 1 1  - - - - - - - - - - - - - - - -  e 1 2   w 1 1  1  - - - - - - - - - - - - - - e 1 2   w 1 2  1  - - - - - - - - - - - - - -  e 1 2   w S 1 R  1  - - - - - - - - - - - - - - - - e 1 2   b 1 1  - - - - - - - - - - - -      =
  • 59.
    Calculo del JacobianoSDBP calcula terminos como: Para el Jacobiano se necesita calcular terminos como: Usando la regla de la cadena: Donde la sensibilidad Se calcula usando backpropagation.
  • 60.
    Sensibilidad de Marquardt Si se define una sensibilidad de Marquardt : Se puede calcular la Jacobiana como sigue: Pesos W Umbral B
  • 61.
    Calculo de las Sensibilidades Backpropagation Iniciación S ˜ m S ˜ 1 m S ˜ 2 m  S ˜ Q m =
  • 62.
    Algoritmo LMBP Presentartodas 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. Calcular la matriz Jacobiana. Después de inicializar, calcule la sensibilidades con el algoritmo de retropropagación. Aumente la matrices en las sensibilidades de Marquardt. Calcule los elementos de la matriz Jacobiana.
  • 63.
    Solucione para obtenerel cambio en los pesos. Recalcule la suma del error cuadrático con los nuevos pesos. Si esta nueva suma de cuadrados es mas pequeña, que el calculado en el paso 1, entonces divida  k en  actualice los pesos y regrese al paso 1. Si la suma de los cuadrados no es reducida, entonces multiplique  k por  y regrese al paso 3.
  • 64.
    Ejemplo de LMBP w 1 1,1 w 2 1,1
  • 65.
    Trayectoria del LMBPw 1 1,1 w 2 1,1
  • 66.
    Ejemplos BP Métodode Levenberg Marquardt
  • 67.
    Ejemplo: 1 Encuentrela matriz Jacobina para el primer paso del método de Levenberg Marquardt. Vea la figura siguiente.
  • 68.
    Los pares entrada/ salida son: Los paramentos iniciales son:
  • 69.
    El LMBP esel 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 LMBP
  • 70.
    Simulación en Matlab / NNT
  • 71.
    trainbpx Entrena redesmulticapa con retropropagación rápida. Se puede usar para redes de una,dos o tres capas. Ejemplo use la funcion trainbpx para una red de dos capas. [W1,b1,W2,b2,epochs,tr] = trainbpx (W1,b1,’tansig’, W2,b2,’purelin’,p,t,tp) Método del Momento y Aprendizaje Variable
  • 72.
    Valores por omisiónpara tp tp= [disp-freq = 25 max-epoch= 100 err-goal= 0.02 lr= 0.01 momentum= 0.9 lr-inc= 1.05 lr-dec= 0.7 err-ratio= 1.04 ]
  • 73.
    %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]= trainbpx(w1,b1, 'tansig' ,w2,b2, 'purelin' ,P,T)
  • 74.
    [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
  • 75.
    trainlm Entrena redesfeed 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
  • 76.
    Ejemplo use lafuncion 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;
  • 77.
    Gradiente mínimo=0.0001; Valorinicial de  =0.001; Multiplicador para Inc.  =10 Multiplicador para dec.  =0.1; Máximo valor de  =1E10
  • 78.
    %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)
  • 79.
    [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
  • 80.
  • 81.