Vous êtes sur la page 1sur 15

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 entradas
x1 w1 y w2 x2 1 1, si y= - 1, si
Redes 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 + = 0
x2

En dos dimensiones es una recta

x2 =

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

x1

Pendiente de la recta
Redes de Neuronas. Perceptron y Adaline

Arquitectura En general, para n dimensiones:


w1 x1 + w 2 x 2 + .... + w n x n + = 0
x1 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 B
Encontrar hiperplano discriminante que separa las clases A y B

w1x1 + w2 x2 + ....+ wn xn + = 0
Encontrar los parmetros
Redes 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 pesos


Redes de Neuronas. Perceptron y Adaline Jos M Valls 2007

Funcin AND
2

- 0.5

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin AND
3 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 AND
3

- 1.5

Isasi 2002

Redes de Neuronas. Perceptron y Adaline

Jos M Valls 2007

Funcin AND
4 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 AND
Resultado 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 .. xn
Redes de Neuronas. Perceptron y Adaline

w1 w2 1
Jos M Valls 2007

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 p
Redes 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 DELTA
y

x2 x1
Redes 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 j
Redes de Neuronas. Perceptron y Adaline Jos M Valls 2007

Algoritmo de aprendizaje
1. 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 j
5. 6. Modicar el peso sumando al valor antiguo la cantidad obtenida en 4)

wp = wjp1 + p wj j
Si 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. Adaline


En 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-decimal


Aproximar 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.78
x1 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