Tema2-PerceptronAdaline

download Tema2-PerceptronAdaline

of 15

Transcript of Tema2-PerceptronAdaline

Perceptron y Adaline

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Perceptron simple Sistema capaz de realizar tareas de clasificacin de forma automtica

A partir de un nmero de ejemplos etiquetados, el sistema determina la ecuacin del hiperplano discrimininante

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Arquitectura Red monocapa con una o ms neuronas de salida conectadas a todas las entradasx1 w1 y w2 x2 1 1, si y= - 1, siRedes de Neuronas. Perceptron y Adaline

w1 x1 + w2 x2 + > 0 w1x1 + w2 x2 + 0 Jos M Valls 2007

Arquitectura El perceptron equivale a un hiperplano de dimensin n-1 capaz de separar las clases Si la salida del perceptron es +1, la entrada pertenecer a una clase (estar situada a un lado del hiperplano) Si la salida es -1, la entrada pertenecer a la clase contraria (estar situada al otro lado del hiperplano)

La ecuacin del hiperplano es:

w1 x1 + w 2 x 2 + = 0x2

En dos dimensiones es una recta

x2 =

w1 x1 w2 w2Punto de corte con el eje de ordenadas Jos M Valls 2007

x1

Pendiente de la rectaRedes de Neuronas. Perceptron y Adaline

Arquitectura En general, para n dimensiones:w1 x1 + w 2 x 2 + .... + w n x n + = 0x1 x2 .. xn 1 w1 w2 y

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Proceso Los datos son puntos en un espacio multidimensional Se dispone de un conjunto de observaciones (puntos) de los que se sabe su categora o clase Hay que determinar la ecuacion del hiperplano que deja a un lado los ejemplos de un tipo y a otro los del otro La ecuacion del hiperplano se deduce a partir de los ejemplos Ejemplos: Puntos de Hiperplano:

n : ( x1 , x2 ,...xn )

w1x1 + w2 x2 + ....+ wn xn + = 0

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Aprendizaje Proceso iterativo supervisado Modicacion de los parmetros de la red (pesos y umbral), hasta encontrar el hiperplano discriminante Numero finito de iteraciones Dado: Conjunto de ejemplos de entrenamiento etiquetados (clase A o B) y distribuidos n en un espacio multidimensional Ejemplos: patrn p:

x p = ( x1p , x2p ,....xnp )

Salida deseada para p:

d (x p )

d ( x p ) = 1, si x p A; d ( x p ) = 1, si x p BEncontrar hiperplano discriminante que separa las clases A y B

w1x1 + w2 x2 + ....+ wn xn + = 0Encontrar los parmetrosRedes de Neuronas. Perceptron y Adaline

w1, w2 ,....wn , Jos M Valls 2007

Algoritmo de Aprendizaje Se dispone de un conjunto de ejemplos de entrenamiento; cada uno de ellos ser un vector de entrada y una salida: ( , d ( )), d ( ) = {1,1} Empezar con valores aleatorios para los pesos y el umbral Seleccionar un vector de entrada del conjunto de ejemplos de entrenamiento Si y d ( ) la red da una respuesta incorrecta. Modicar wi de acuerdo a:

1. 2. 3.

wi = xi d ( ) = d ( )4. Si no se ha cumplido el criterio de finalizacin, volver a 2

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Ejemplo: funcin AND

1 2 3 4

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin AND Valores iniciales:

Isasi 2002

Isasi 2002

1 2

Patron (-1,-1|-1) (+1,-1|-1)

Salida f(-1 + (-1) + 0.5)=f(-1.5)=-1 f(1 + (-1) + 0.5)=f(0.5)=+1

Clasifica Bien [-1=d(X)] Mal [+1 d(X)]

Hay que ajustar pesosRedes de Neuronas. Perceptron y Adaline Jos M Valls 2007

Funcin AND2

0

2

- 0.5

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin AND3 Patron (-1,+1|-1) Salida f(0 + 2 - 0.5)=f(1.5)=1 Clasifica Mal [1 d(X)]

Hay que ajustar pesos

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin AND3

- 1.5

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin AND4 Patron (+1,+1|+1) Salida f(1 + 1 - 1.5)=f(0.5)=1 Clasifica Bien [1= d(X)]

Ya se ha completado un ciclo. Hay que completar otro ciclo sin que se realicen ajustes: Patron (-1,-1|-1) (+1,-1|-1) (-1,+1|-1) (+1,+1|+1) Salida f(-1 + (-1) - 1.5)=f(-3.5)=-1 f(1 + (-1) - 1.5) =f(-1.5)=-1 f(-1 + 1 - 1.5) =f(-1.5)=-1 f(1 + 1 - 1.5) =f(0.5)=+1 Clasifica Bien [-1=d(X)] Bien [-1=d(X)] Bien [-1=d(X)] Bien [+1=d(X)]

1 2 3 4

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin ANDResultado final:

- 1.5

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Adaline: ADAptive LInear NEuron El perceptrn realiza tareas de clasificacin salida binaria Si las salidas fueran nmeros reales, estaramos ante un problema de regresin(Applet de regresin: http://www.math.csusb.edu/faculty/stanton/m262/regress/regress.html)

Aproximar una funcin cualquiera F(x) definida por un conjunto de datos de entrada y su salida real correspondiente Los ejemplos de entrenamiento son conjuntos de valores: (vector de entrada, salida real)

r r r P = {( x 1 , y1 ), ( x 2 , y 2 ),....( x m , y m )}ri ri r i Habr que buscar la funcin F (x ) tal que F ( x ) = y , x P

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Adaline: ADAptive LInear NEuron Desarrollado en 1960 por Widrow y Hoff Estructura prcticamente idntica al perceptron, pero es un mecanismo fsico capaz de realizar aprendizaje Elemento combinador adaptativo lineal, que recibe todas las entradas, las suma ponderadamente, y produce una salida x1 x2 .. xnRedes de Neuronas. Perceptron y Adaline

w1 w2 1 Jos M Valls 2007

y

Adaline La diferencia con el perceptron es la manera de utilizar la salida en la regla de aprendizaje El perceptron utiliza la salida de la funcion umbral (binaria) para el aprendizaje. Slo se tiene en cuenta si se ha equivocado o no. En Adaline se utiliza directamente la salida de la red (real) teniendo en cuenta cunto se ha equivocado. Se utiliza la diferencia entre el valor real esperado d y la salida producida por la red y.Para un patrn de entrada xp, se tendr en cuenta el error producido (dp-yp)

El objetivo es obtener una red tal que yp=dp para todos los patrones pRedes de Neuronas. Perceptron y Adaline Jos M Valls 2007

Adaline Ser imposible conseguir una salida exacta porque y es una funcin lineal, pero se minimizar el error cometido para todos los patrones de entrenamiento Hay que elegir una medida de dicho error, p.ej.el error cuadrtico La regla de aprendizaje ser la REGLA DELTAy

x2 x1Redes de Neuronas. Perceptron y Adaline Jos M Valls 2007

Regla Delta Los patrones de entrenamiento estan constituidos por pares de r valores ( x , d ) que son el vector de entrada y su salida deseada La regla Delta utiliza la diferencia entre la salida producida para cada patron (p) y la deseada (d p y p ) Se calcula una funcion de error para todo el conjunto de patrones:

Error global

Error cuadrtico por patrn

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Regla Delta La regla Delta busca el conjunto de pesos que minimiza la funcion de error Se har mediante un proceso iterativo donde se van presentando los patrones uno a uno y se van modificando los parmetros de la red mediante la regla del descenso del gradiente La idea es realizar un cambio en cada peso proporcional a la derivada del error, medida en el patron actual, respecto del peso:

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Regla Delta

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Regla Delta Aplicando la regla de la cadena queda:

1 p (d y p ) 2 2 y p = w1 x1 + w1 x1 + ...w j x j + .... + Ep = 1 2 (d p y p ) (1) = (d p y p ) 2

y p = xj w j

p wj = (d p y p ) x jRedes de Neuronas. Perceptron y Adaline Jos M Valls 2007

Algoritmo de aprendizaje1. 2. 3. 4. Inicializar los pesos de forma aleatoria Introducir un patrn de entrada Calcular la salida, compararla con la deseada y obtener la diferencia: (dp - yp) Para todos los pesos, multiplicar dicha diferencia por la entrada correspondiente y ponderarla por la tasa de aprendizaje

p wj = (d p y p ) x j5. 6. Modicar el peso sumando al valor antiguo la cantidad obtenida en 4)

wp = wjp1 + p wj jSi no se ha cumplido el criterio de convergencia, regresar a 2), si se han acabado todos los patrones empezar de nuevo a introducir patrones Jos M Valls 2007

Redes de Neuronas. Perceptron y Adaline

Perceptron vs. AdalineEn Perceptron la salida es binaria, en Adaline es real En Adaline existe una medida de cunto se ha equivocado la red, en Perceptron slo de si se ha equivocado o no En Adaline hay una razn de aprendizaje para regular lo que va a afectar cada equivocacion a la modicacion de los pesos. Es siempre un valor entre 0 y 1 para ponderar el aprendizaje

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Ejemplo 1: Decodificador binario-decimalAproximar con Adaline la funcin que realiza la decodificacin binario-decimal Vamos a utilizar como tasa de aprendizaje 0.3 y los siguientes valores de pesos:w1=0.84 w2=0.39 w3=0.78x1 0 0 0 1 1 1 1 x2 0 1 1 0 0 1 1 x3 1 0 1 0 1 0 1 d 1 2 3 4 5 6 7

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Problemas no linelamente separables: XOR

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Problema XOR

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Problema XOR

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007