UNIDAD VI Redes de propagación hacia delante  y aprendizaje supervisado 6.2 RED ADALINE 6.2.1 Adaline simple. 6.2.2 Algoritmo  LMS .
Introducción A finales de los  50’s  bernard widrow  empezaba a trabajar en redes neuronales, en el tiempo en el que frank rosenblatt desarrollo la regla de aprendizaje del perceptron.
En 1960 Widrow  y su asesorado Marcian Hoff, presentaron la red ADALINE (adaptive linear neuron), y una regla de aprendizaje la cual denominaron algoritmo LMS (least mean square). Introducción
La red ADALINE  es muy similar al perceptron, excepto que su función de transferencia es linear, en vez de escalón. Tanto el ADALINE como el perceptron sufren de la misma limitación: solo pueden resolver problemas linealmente separables. Introducción
El algoritmo LMS  es más poderoso que la regla de aprendizaje del perceptron. La regla del perceptron garantiza la convergencia a una solución que categoriza correctamente el patrón de entrenamiento, pero la red resultante puede ser sensible al ruido ya que frecuentemente el modelo cae cerca de la frontera de decisión. Diferencias Entre La Regla Del Perceptron Y El Algoritmo LMS
Diferencias entre . . . El algoritmo  LMS  minimiza el error medio cuadratico,  y por consiguiente trata de mover la frontera de decisión tan lejos como sea posible del modelo de entrenamiento. El algoritmo LMS  ha encontrado muchos más usos que la regla de aprendizaje del perceptron. En esencia en el  área  del procesamiento digital de señales.
Diferencias entre . . . PERCEPTRON ADALINE Función de Transferencia ESCALON LINEAL Resolución de problemas Linealmente Separables Linealmente Separables Comportamiento con respecto al RUIDO Sensible al Ruido Minimiza el Ruido Algoritmo de aprendizaje Regla de aprendizaje Del Perceptron LMS
6.2.1 Red  ADALINE a p u r e l i n W p b +   W p b + = = a i p u r e l i n n i   p u r e l i n w T i p b i +   w T i p b i + = = =  w i w i 1  w i 2  w i R  =
ADALINE de dos entradas a p u r e l i n n   p u r e l i n w T 1 p b +   w T 1 p b + = = = a w T 1 p b + w 1 1  p 1 w 1 2  p 2 b + + = =
6.2.2 Mínimo Error Cuadrático p 1 t 1 { , } p 2 t 2 { , }  p Q t Q { , }    Conjunto Entrenamiento: p q t q Entrada: Objetivo: x w 1 b = z p 1 = a w T 1 p b + = a x T z = F x   E e 2   = E t a –   2   E t x T z –   2   = = Notación: Mean Square Error: Donde:  E  es un valor esperado
Ecuaciones Importantes en el Algoritmo LMS W k 1 +   W k   2  e k   p T k   + = b k 1 +   b k   2  e k   + = En forma de Matriz: Donde:    es el parámetro de aprendizaje máximo w i k 1 +   w i k   2  e i k   p k   + = b i k 1 +   b i k   2  e i k   + =
Condiciones para la Estabilidad e i g I 2  R –     1 2   i – 1  = Resumiendo, las condiciones de estabilidad son:  i 0  Ya que , 1 2   i – 1  .  1   i para toda  i  0  1  m a x    (donde   i  es un  eigenvalor  de  R ) 1 2   i – 1 – 
MATLAB Neural Network Toolbox
Modelo de una neurona lineal en MATLAB p(1) p(2) p(3) p(R) W(1,1) W(1,R) 1 b n a  a = purelin(w*p+b) a = w*p+b 0 0 1 -1 a a b/w b/w p n a = purelin(n)
INICIALIZACIÓN Y DISEÑO La función  initlin  es usada para inicializar los pesos y los bias de la capa lineal con valores positivos y negativos. [W,b]=initlin(P,T) Las redes lineales pueden ser diseñadas directamente si se conocen sus vectores de entrada y objetivo por medio de la función  solvelin,  la cual encuentra los valores de los pesos y el bias sin necesidad de entrenamiento . [W,b]=solvelin(P,T); W=solvelin(P,T);
Regla de Aprendizaje en ADALINE · ADALINE utiliza un aprendizaje OFF LINE con supervisión.  · Este aprendizaje es la llamada  Regla de Widrow-Hoff  ( Regla Delta  o  Regla del Mínimo Error Cuadrático Medio   LMS Least Mean Square)
Regla de Widrow-Hoff Consiste en hallar el vector de pesos W deseado, único, que deberá asociar cada vector de entrada con su correspondiente valor de salida correcto o deseado. La regla minimiza el  error cuadrático medio  definido como: donde: es la función de error R R R a t       p R R R p 1 2 2 1  
Esta función de error está definida en el espacio de pesos multidimensional para un conjunto de entradas, y la regla de Widrow-Hoff busca el punto de este  espacio donde se encuentra el mínimo global.   Con función de activación lineal  Con función de activación sigmoidal
Se utiliza el método de gradiente decreciente para saber en qué dirección se encuentra el mínimo global de dicha superficie. Las modificaciones que se realizan a los pesos son proporcionales al gradiente decreciente de la función de error, por lo que cada nuevo punto calculado está más próximo al punto mínimo.             j R j w lr w 2 
a) ADALINE     b) PERCEPTRÓN
La regla de Widrow-Hoff es implementada realizando cambios a los pesos en la dirección opuesta en la que el error está incrementando y absorbiendo la constante -2 en  lr . En forma de matriz:  Transformando a la expresión del bias (considerando que el bias son pesos con entradas de 1): ) ( ) ( ) , ( j p j e lr j i W     T Ep lr W    E lr b   
Algoritmo de aprendizaje en ADALINE 1.   Se aplica un vector o patrón de entrada  P R  en las entradas del ADALINE. 2.   Se obtiene la salida lineal a R  = WP R  y se calcula la diferencia con respecto a la salida deseada: E R  =T R -a R 3.   Se actualizan los pesos: W( t+1 ) = W(t) + lrE R P R 4.   Se repiten los pasos 1 al 3 con todos los vectores de entrada. 5.   Si el error cuadrático  medio  es un valor reducido aceptable, termina el proceso de aprendizaje, sino, se repite otra vez desde el paso 1 con todos los patrones.    p R R R p 1 2 2 1  
ENTRENAMIENTO ADALINE Ya se explicó la regla de aprendizaje usada para las redes neuronales Adaline, conocida como de Widrow-Hoff, que se aplica sobre un patrón de entrada determinado El entrenamiento de la red consiste en la aplicación consecutiva de la regla de aprendizaje para un patrón completo de entrenamiento
ENTRENAMIENTO ADALINE El entrenamiento comprende la aplicación de la regla de Widrow-Hoff  (determinación  de las diferencias en los pesos), actualización de los pesos y determinación del error. Este proceso se realiza por medio de la aplicación de la entrada a la red, para un patrón completo de entrenamiento, o un vector de entrada
ENTRENAMIENTO ADALINE Por medio de Matlab, se puede realizar el entrenamiento por medio de learnwh, realizando las funciones siguientes: A = simulin (P,W,b) E = T - A [dW,db] = learnwh (P,E,lr) W = W + dW b = b + dW
En  MATLAB:     E = T - A;     [ dW, db ] = learnwh( P, E, lr ) lr  es la  tasa de aprendizaje . Si es grande, el aprendizaje es rápido, pero si es demasiado grande, el aprendizaje es inestable y puede incrementarse el error.   lr = maxlinlr( P );   % si no se utiliza bias   lr = maxlinlr( P, ‘bias’ );   %si se utiliza bias   W = W + dW;   b = b + db;
ENTRENAMIENTO ADALINE Sin embargo, si se procede por medio de las funciones anteriores, es necesario realizar un número de repeticiones suficiente para hacer que el error calculado sea igual a cero a través de la aplicación de la regla W-H para un patrón completo de entrenamiento
ENTRENAMIENTO ADALINE En Matlab, se puede realizar el proceso de entrenamiento de una capa de red lineal adaline por medio de la función trainwh(): Esta función aplica repetidamente entradas a la red lineal, calcula el error en base al vector objetivo, y asigna pesos y umbrales
ENTRENAMIENTO ADALINE La sintaxis de la función es: tp = [disp_frec max_epoch err_goal lr  ] [W,b,ep,tr] = trainwh(W,b,P,T,tp) tp es un parámetro que indica la frecuencia de progreso en el entrenamiento, el máximo de repeticiones, el error mínimo permisible y la tasa de aprendizaje (ver Aprendizaje) y puede contener valores nulos o NAN. La función regresa los pesos W, los umbrales b, el número de repeticiones usado ep y un registro del error de entrenamiento tr
Ejercicio:  1 1.0  2 0.0  3 2.0 =  =  = R E p p T   1 2 - - - p 1 p 1 T 1 2 - - - p 2 p 2 T + = = R 1 2 - - - 1 – 1 1 – 1 – 1 1 – 1 2 - - - 1 1 1 – 1 1 1 – + 1 0 0 0 1 1 – 0 1 – 1 = =  1  m a x - - - - - - - - - - - -  1 2.0 - - - - - - - 0.5 = = p 1 1 – 1 1 – t 1  1 – = =           p 2 1 1 1 – t 2  1 = =           Plátano Manzana
Iteración: 1 e 0   t 0   a 0   t 1 a 0   1 – 0 1 – = – = – = – = W 1   W 0   2  e 0   p T 0   + = W 1   0 0 0 2 0.2   1 –   1 – 1 1 – T 0.4 0.4 – 0.4 = + = a 0   W 0   p 0   W 0   p 1 0 0 0 1 – 1 1 – 0 = = = = Plátano
Iteración:  2 Manzana a 1   W 1   p 1   W 1   p 2 0.4 0.4 – 0.4 1 1 1 – 0.4 – = = = = e 1   t 1   a 1   t 2 a 1   1 0.4 –   1.4 = – = – = – = W 2   0.4 0.4 – 0.4 2 0.2   1.4   1 1 1 – T 0.96 0.16 0.16 – = + =
Iteración:  3 e 2   t 2   a 2   t 1 a 2   1 – 0.64 –   0.36 – = – = – = – = W 3   W 2   2  e 2   p T 2   + 1.1040 0.0160 0.0160 – = = W    1 0 0 = a 2   W 2   p 2   W 2   p 1 0.96 0.16 0.16 – 1 – 1 1 – 0.64 – = = = =

Red Neuronal Adaline

  • 1.
    UNIDAD VI Redesde propagación hacia delante y aprendizaje supervisado 6.2 RED ADALINE 6.2.1 Adaline simple. 6.2.2 Algoritmo LMS .
  • 2.
    Introducción A finalesde los 50’s bernard widrow empezaba a trabajar en redes neuronales, en el tiempo en el que frank rosenblatt desarrollo la regla de aprendizaje del perceptron.
  • 3.
    En 1960 Widrow y su asesorado Marcian Hoff, presentaron la red ADALINE (adaptive linear neuron), y una regla de aprendizaje la cual denominaron algoritmo LMS (least mean square). Introducción
  • 4.
    La red ADALINE es muy similar al perceptron, excepto que su función de transferencia es linear, en vez de escalón. Tanto el ADALINE como el perceptron sufren de la misma limitación: solo pueden resolver problemas linealmente separables. Introducción
  • 5.
    El algoritmo LMS es más poderoso que la regla de aprendizaje del perceptron. La regla del perceptron garantiza la convergencia a una solución que categoriza correctamente el patrón de entrenamiento, pero la red resultante puede ser sensible al ruido ya que frecuentemente el modelo cae cerca de la frontera de decisión. Diferencias Entre La Regla Del Perceptron Y El Algoritmo LMS
  • 6.
    Diferencias entre .. . El algoritmo LMS minimiza el error medio cuadratico, y por consiguiente trata de mover la frontera de decisión tan lejos como sea posible del modelo de entrenamiento. El algoritmo LMS ha encontrado muchos más usos que la regla de aprendizaje del perceptron. En esencia en el área del procesamiento digital de señales.
  • 7.
    Diferencias entre .. . PERCEPTRON ADALINE Función de Transferencia ESCALON LINEAL Resolución de problemas Linealmente Separables Linealmente Separables Comportamiento con respecto al RUIDO Sensible al Ruido Minimiza el Ruido Algoritmo de aprendizaje Regla de aprendizaje Del Perceptron LMS
  • 8.
    6.2.1 Red ADALINE a p u r e l i n W p b +   W p b + = = a i p u r e l i n n i   p u r e l i n w T i p b i +   w T i p b i + = = =  w i w i 1  w i 2  w i R  =
  • 9.
    ADALINE de dosentradas a p u r e l i n n   p u r e l i n w T 1 p b +   w T 1 p b + = = = a w T 1 p b + w 1 1  p 1 w 1 2  p 2 b + + = =
  • 10.
    6.2.2 Mínimo ErrorCuadrático p 1 t 1 { , } p 2 t 2 { , }  p Q t Q { , }    Conjunto Entrenamiento: p q t q Entrada: Objetivo: x w 1 b = z p 1 = a w T 1 p b + = a x T z = F x   E e 2   = E t a –   2   E t x T z –   2   = = Notación: Mean Square Error: Donde: E es un valor esperado
  • 11.
    Ecuaciones Importantes enel Algoritmo LMS W k 1 +   W k   2  e k   p T k   + = b k 1 +   b k   2  e k   + = En forma de Matriz: Donde:  es el parámetro de aprendizaje máximo w i k 1 +   w i k   2  e i k   p k   + = b i k 1 +   b i k   2  e i k   + =
  • 12.
    Condiciones para laEstabilidad e i g I 2  R –     1 2   i – 1  = Resumiendo, las condiciones de estabilidad son:  i 0  Ya que , 1 2   i – 1  .  1   i para toda i  0  1  m a x    (donde  i es un eigenvalor de R ) 1 2   i – 1 – 
  • 13.
  • 14.
    Modelo de unaneurona lineal en MATLAB p(1) p(2) p(3) p(R) W(1,1) W(1,R) 1 b n a  a = purelin(w*p+b) a = w*p+b 0 0 1 -1 a a b/w b/w p n a = purelin(n)
  • 15.
    INICIALIZACIÓN Y DISEÑOLa función initlin es usada para inicializar los pesos y los bias de la capa lineal con valores positivos y negativos. [W,b]=initlin(P,T) Las redes lineales pueden ser diseñadas directamente si se conocen sus vectores de entrada y objetivo por medio de la función solvelin, la cual encuentra los valores de los pesos y el bias sin necesidad de entrenamiento . [W,b]=solvelin(P,T); W=solvelin(P,T);
  • 16.
    Regla de Aprendizajeen ADALINE · ADALINE utiliza un aprendizaje OFF LINE con supervisión. · Este aprendizaje es la llamada Regla de Widrow-Hoff ( Regla Delta o Regla del Mínimo Error Cuadrático Medio LMS Least Mean Square)
  • 17.
    Regla de Widrow-HoffConsiste en hallar el vector de pesos W deseado, único, que deberá asociar cada vector de entrada con su correspondiente valor de salida correcto o deseado. La regla minimiza el error cuadrático medio definido como: donde: es la función de error R R R a t       p R R R p 1 2 2 1  
  • 18.
    Esta función deerror está definida en el espacio de pesos multidimensional para un conjunto de entradas, y la regla de Widrow-Hoff busca el punto de este espacio donde se encuentra el mínimo global. Con función de activación lineal Con función de activación sigmoidal
  • 19.
    Se utiliza elmétodo de gradiente decreciente para saber en qué dirección se encuentra el mínimo global de dicha superficie. Las modificaciones que se realizan a los pesos son proporcionales al gradiente decreciente de la función de error, por lo que cada nuevo punto calculado está más próximo al punto mínimo.             j R j w lr w 2 
  • 20.
    a) ADALINE b) PERCEPTRÓN
  • 21.
    La regla deWidrow-Hoff es implementada realizando cambios a los pesos en la dirección opuesta en la que el error está incrementando y absorbiendo la constante -2 en lr . En forma de matriz: Transformando a la expresión del bias (considerando que el bias son pesos con entradas de 1): ) ( ) ( ) , ( j p j e lr j i W     T Ep lr W    E lr b   
  • 22.
    Algoritmo de aprendizajeen ADALINE 1. Se aplica un vector o patrón de entrada P R en las entradas del ADALINE. 2. Se obtiene la salida lineal a R = WP R y se calcula la diferencia con respecto a la salida deseada: E R =T R -a R 3. Se actualizan los pesos: W( t+1 ) = W(t) + lrE R P R 4. Se repiten los pasos 1 al 3 con todos los vectores de entrada. 5. Si el error cuadrático medio es un valor reducido aceptable, termina el proceso de aprendizaje, sino, se repite otra vez desde el paso 1 con todos los patrones.    p R R R p 1 2 2 1  
  • 23.
    ENTRENAMIENTO ADALINE Yase explicó la regla de aprendizaje usada para las redes neuronales Adaline, conocida como de Widrow-Hoff, que se aplica sobre un patrón de entrada determinado El entrenamiento de la red consiste en la aplicación consecutiva de la regla de aprendizaje para un patrón completo de entrenamiento
  • 24.
    ENTRENAMIENTO ADALINE Elentrenamiento comprende la aplicación de la regla de Widrow-Hoff (determinación de las diferencias en los pesos), actualización de los pesos y determinación del error. Este proceso se realiza por medio de la aplicación de la entrada a la red, para un patrón completo de entrenamiento, o un vector de entrada
  • 25.
    ENTRENAMIENTO ADALINE Pormedio de Matlab, se puede realizar el entrenamiento por medio de learnwh, realizando las funciones siguientes: A = simulin (P,W,b) E = T - A [dW,db] = learnwh (P,E,lr) W = W + dW b = b + dW
  • 26.
    En MATLAB: E = T - A; [ dW, db ] = learnwh( P, E, lr ) lr es la tasa de aprendizaje . Si es grande, el aprendizaje es rápido, pero si es demasiado grande, el aprendizaje es inestable y puede incrementarse el error. lr = maxlinlr( P ); % si no se utiliza bias lr = maxlinlr( P, ‘bias’ ); %si se utiliza bias W = W + dW; b = b + db;
  • 27.
    ENTRENAMIENTO ADALINE Sinembargo, si se procede por medio de las funciones anteriores, es necesario realizar un número de repeticiones suficiente para hacer que el error calculado sea igual a cero a través de la aplicación de la regla W-H para un patrón completo de entrenamiento
  • 28.
    ENTRENAMIENTO ADALINE EnMatlab, se puede realizar el proceso de entrenamiento de una capa de red lineal adaline por medio de la función trainwh(): Esta función aplica repetidamente entradas a la red lineal, calcula el error en base al vector objetivo, y asigna pesos y umbrales
  • 29.
    ENTRENAMIENTO ADALINE Lasintaxis de la función es: tp = [disp_frec max_epoch err_goal lr ] [W,b,ep,tr] = trainwh(W,b,P,T,tp) tp es un parámetro que indica la frecuencia de progreso en el entrenamiento, el máximo de repeticiones, el error mínimo permisible y la tasa de aprendizaje (ver Aprendizaje) y puede contener valores nulos o NAN. La función regresa los pesos W, los umbrales b, el número de repeticiones usado ep y un registro del error de entrenamiento tr
  • 30.
    Ejercicio:  11.0  2 0.0  3 2.0 =  =  = R E p p T   1 2 - - - p 1 p 1 T 1 2 - - - p 2 p 2 T + = = R 1 2 - - - 1 – 1 1 – 1 – 1 1 – 1 2 - - - 1 1 1 – 1 1 1 – + 1 0 0 0 1 1 – 0 1 – 1 = =  1  m a x - - - - - - - - - - - -  1 2.0 - - - - - - - 0.5 = = p 1 1 – 1 1 – t 1  1 – = =           p 2 1 1 1 – t 2  1 = =           Plátano Manzana
  • 31.
    Iteración: 1 e0   t 0   a 0   t 1 a 0   1 – 0 1 – = – = – = – = W 1   W 0   2  e 0   p T 0   + = W 1   0 0 0 2 0.2   1 –   1 – 1 1 – T 0.4 0.4 – 0.4 = + = a 0   W 0   p 0   W 0   p 1 0 0 0 1 – 1 1 – 0 = = = = Plátano
  • 32.
    Iteración: 2Manzana a 1   W 1   p 1   W 1   p 2 0.4 0.4 – 0.4 1 1 1 – 0.4 – = = = = e 1   t 1   a 1   t 2 a 1   1 0.4 –   1.4 = – = – = – = W 2   0.4 0.4 – 0.4 2 0.2   1.4   1 1 1 – T 0.96 0.16 0.16 – = + =
  • 33.
    Iteración: 3e 2   t 2   a 2   t 1 a 2   1 – 0.64 –   0.36 – = – = – = – = W 3   W 2   2  e 2   p T 2   + 1.1040 0.0160 0.0160 – = = W    1 0 0 = a 2   W 2   p 2   W 2   p 1 0.96 0.16 0.16 – 1 – 1 1 – 0.64 – = = = =