computacion inteligente el perceptron. nov 2005 2 agenda history perceptron structure perceptron...

Post on 23-Jan-2016

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Computacion inteligente

El perceptron

Nov 2005

2

Agenda History Perceptron structure Perceptron as a two-class classifier The Perceptron as a Logic Operator Perceptron Learning Perceptron Convergence Theorem Examples Perceptron Limitation

Historia

Nov 2005

4

Historia 1943 El perceptron fue derivado del modelo de una neurona biologica del cerebro por Mc Culloch & Pitts

En principio las redes neuronales artificiales podrian computar cualquier funcion aritmetica o logica.

La red de McCulloch y Pitts no podian aprender.

1949 Hebb propone una ley de aprendizaje que explicaba como una red de neuronas aprendia

Nov 2005

5

Historia 1957 Rosenblatt desarrolla el Perceptron, una red neuronal en hardware para reconocimiento de caracteres

Rosenblatt diseño el perceptron con vista a explicar y modelar las habilidades de reconocimientos de patrones de los sistemas visuales biologicos

1958 Rosenblatt se acredita con el algorimo de aprendizaje del perceptron

Nov 2005

6Perceptron elemental de Rosenblatt El problema consiste simplemente en

determinar si el patron de entrada es una “p” o no

Nov 2005

7

Historia 1969 Minsky & Papert - limitacion del perceptron

El famoso problema de la “XOR” Muerte de las ANNs

1974-1986 Diferentes personas resuelven los problemas del perceptron:

Algoritmos para entrenar perceptrones multicapa feedforward

Back-propagation del error (Rumelhart et al 1986) Re-emergen las ANNs

Estructura del perceptron

Nov 2005

9

Estructura del perceptron

Nov 2005

10

Estructura del perceptron Patrones de entrada representados por el

vector x

wi es un peso modificable asociado con la señal

de entrada xi

La suma pesada de las entradas se aplica al hard limiter, con un valor umbral b

El umbral b = w0 puede verse como un peso entre la unidad de entrada y una señal ficticia de valor x0 = 1

Nov 2005

11

Estructura del perceptron La suma pesada de las entradas se aplica al

hard limiter, el cual produce una salida igual a

+1 si su entrada es positiva,

-1 si es negativa.

El hard limiter es, entonces

otherwise 0

0x if 1)x(step

otherwise 1

0x if 1)xsgn(

Nov 2005

12

Estructura del perceptron En general, el hard limiter puede ser

sgn(x): la funcion signo, o, hardlims(x) step(x): la funcion paso, or, hardlim(x)

otherwise 0

0x if 1)x(step

otherwise 1

0x if 1)xsgn(

Matlab toolbox

Nov 2005

13Modelo matematico del perceptron

Salida de la neurona

Forma vectorial

1

n

i ii

a hardlims w x b

Ta hardlims w xb incluida

El perceptron como un

clasificador de dos clases

Nov 2005

15El perceptron como un clasificador de dos clases

El proposito del perceptron es clasificar las entradas, x1, x2, . . ., xn, en una de dos clases, digamos A1 y A2.

Los patrones de entrada pertenecen a una de dos clases.

Esto solo puede suceder cuando ellos son linealmente separables

Nov 2005

16El perceptron con dos entradas

La frontera de decision esta determinada por

1 1 2 2 0w x w x b

0Tw x

Nov 2005

17Una frontera de decision en el perceptron

x1

x2

w = (w1, w2, b) = (1, -1, 0)

Nov 2005

18Una frontera de decision en el perceptron

x1

x2 wT. x = 0

=> 1. x1 - 1. x2 + 0.1 = 0

=> x1 - x2 = 0

=> x1 = x2

w = (w1, w2, b) = (1, -1, 0)

Nov 2005

19Una frontera de decision en el perceptron

wT. x = 0

=> 1. x1 - 1. x2 + 0.1 = 0

=> x1 - x2 = 0

=> x1 = x2

x1

x2

Esta es la ecuacion para la frontera de decision

w = (w1, w2, b) = (1, -1, 0)

Nov 2005

20Una frontera de decision en el perceptron

wT. x = 0

x1

x2

wT. x < 0 => x1 - x2 < 0

=> x1 < x2

Esta es la ecuacion para la region de decision region -1

w = (w1, w2, b) = (1, -1, 0)

Nov 2005

21Una frontera de decision en el perceptron

wT. x = 0

x1

x2

wT. x > 0 => x1 - x2 > 0

=> x1 > x2

Esta es la ecuacion para la region de decision region +1

w = (w1, w2, b) = (1, -1, 0)

Nov 2005

22

Ejemplo numerico

La frontera de decision con

1 2 1 0p p

1

2

1

1

1

w

w

b

Nov 2005

23El perceptron con tres entradas

La frontera de decision esta determinada por

1 1 2 2 3 3 0w x w x w x b

0Tw x

Nov 2005

24El perceptron con n entradas

En el caso de un perceptron elemental, el espacio n-dimensional esta dividido en dos regiones de decision por un hiperplano.

El hiperplano esta definido por la funcion:

1

0n

i ii

w x b

Nov 2005

25Ejemplo: La imagen de un “3”

-1 -1 -1 -1 -1 -1 -1 -1

-1 -1 +1

+1

+1

+1

-1 -1

-1 -1 -1 -1 -1 +1

-1 -1

-1 -1 -1 +1

+1

+1

-1 -1

-1 -1 -1 -1 -1 +1

-1 -1

-1 -1 -1 -1 - 1 +1

-1 -1

-1 -1 +1

+1

+1

+1

-1 -1

-1 -1 -1 -1 -1 -1 -1 -1

Ejercicio: Construya las entradas para el perceptron

El perceptron como un operador

logico

Nov 2005

27

El perceptron como un operador logico El perceptron como una AND logica

3b

2

2w

x1

x2

1

1

0 1 1 1 01

0 1 0 0

000

x & yyx

outputinputs

Tabla de verdad de la AND

Nov 2005

28El perceptron como una AND

1 1 1 01

0 1 0 0

000

x & yyx

outputinputs

Truth Table for Logical AND

2x+2y-31 -3

y +2

x +2 if sum < 0 : 0

else : 1

en

trad

as

peso

s

suma salida

Nov 2005

29The Perceptron as a Logic Operator The Perceptron as a Logic OR

1b

2

2w

x 1

x 2

1

1

0 1 1 1 01

0 1 0 0

110

x | yyx

outputinputs

Tabla de verdad de la AND

Nov 2005

30

El perceptron como una OR

1 1 1 01

0 1 0 0

110

x | yyx

outputinputs

Tabla de verdad de la OR

2x+2y-11 -1

y +2

x +2 if sum < 0 : 0

else : 1

en

trad

a

peso

s

suma salida

Nov 2005

31

El perceptron como un operador logico Ejercicio

Demuestre que una neurona perceptron con los siguientes pesos y polarizacion implementa una compuerta OR

1

2b 1

1w

Aprendizaje en el perceptron

Nov 2005

34Aprendizaje en las NNs artificiales Por regla de aprendizaje entendemos un

procedimiento para modificar los pesos de una red.

El proposito de la regla de aprendizaje es entrenar la red para que ejecute una tarea.

Este procedimiento se denomina tambien algoritmo de entrenamiento

Nov 2005

36

Aprendizaje supervisado A la regla de aprendizaje se le proporciona

un conjunto de ejemplos (el conjunto de entrenamiento) de la conducta apropiada de la red

xk : Entrada a la red

tk : Salida correcta (target)

1 1 2 2, , , , , ,N Nx t x t x t

Nov 2005

37

Aprendizaje supervisado Las entradas se aplican a la red, las

salidas de la red se comparan con la salidas correctas (targets)

y(k) : Salida de la red

t(k) : Salida correcta (target)

e k t k y k

Nov 2005

38

Aprendizaje supervisado La regla de aprendizaje se usa para ajustar

los pesos de la red para mover las salidas de la red hacia las salidas correctas (targets).

wnew: Pesos actualizados wold: Pesos iniciales

new oldw w w Los pesos se ajustan de acuerdo al error

Nov 2005

39

Aprendizaje supervisado

new oldw w w

Los pesos se ajustan de acuerdo al error

Nov 2005

40Entrenamiento del perceptron ¿Como se puede entrenar una perceptron

para una tarea de clasificacion?

Tratamos de hallar los valores de los pesos de tal manera que los ejemplos de entrenamiento sean clasificados correctamente.

Geometricamente, tratamos de hallar un hiper-plano que separe los ejemplos en dos clases

Nov 2005

41Entrenamiento del perceptron Rosenblatt (1958) propone un algoritmo de

aprendizaje para las redes neuronales artificiales

Comenzar con un conjunto de entrenamiento (ejemplos de entradas y salidas deseadas correspondientes)

Entrenar la red para que reconozca los ejemplos en el conjunto de entrenamiento (ajustando los pesos)

Una vez entrenada, la red puede ser aplicada a ejemplos nuevos

Nov 2005

42Algoritmo de aprendizaje del perceptron1. Inicializar los pesos con valores aleatorios.

2. Iterar por el conjunto de entrenamiento, comparando la salida de la red con la salida deseada para cada ejemplo.

3. Si todos los ejemplos son clasificados correctamente, PARAR.

4. Si no, actualizar los pesos para cada ejemplo incorrecto:

Si salida = -1, pero deberia ser 1

Si salida = 1 pero deberia ser -1

5. Volver al PASO 2

Nov 2005

43

Variables y parametros Conjunto de entrenamiento S de ejemplos {x,t}

x es el vector de entrada

t la salida deseada

Ejemplo: La AND

S = {(0,0),0}, {(0,1),0}, {(1,0),0}, {(1,1),1}

Nov 2005

44

Variables y parametros Variables y parametros en la iteracion k del algoritmo de

aprendizaje:

vector de entrada: x(k) = [+1, x1(k), x2(k), …, xm(k)]T

Vector de pesos: w(k) = [b(k), w1(k), w2(k), …, wm(k)]T

polarizacion: b(k)

respuesta de la red: y(k)

respuesta deseada: t(k)

Velocidad de aprendizaje: > 0

Nov 2005

45Regla de aprendizaje del perceptron Si en la iteracion k, la salida de la red es y(k) y la salida

deseada es t(k), entonces el error esta dado por:

donde k = 1, 2, 3, . . .

La iteracion k se refiere aqui al k-esimo ejemplo de entrenamiento presentado al perceptron.

e k t k y k

Nov 2005

46Regla de aprendizaje del perceptron Regla de aprendizaje del perceptron

1w k w k e k x k

e k t k y k

Si el error, e(k), es positivo, se necesita incrementar la salida del perceptron y(k), pero si es negativo, se necesita decrementar y(k).

Nov 2005

47

Algoritmo de entrenamiento Paso 1: Inicializacion

Seleccionar los pesos iniciales w1, w2,…, wm y la polarizacion b con numeros aleatorios.

Paso 2: Activacion

Presentar las entradas al perceptron x1(k), x2(k),…, xm(k).

Calcular la salida de la red en la iteracion k = 1

1

sgn m

i ii

y k x k w k b

Nov 2005

48

Algoritmo de entrenamiento Paso 3: Actualizacion de los pesos

Actualizar los pesos del perceptron

Paso 4: Iteracion

Incrementar k en uno, volver al Paso 2 y repetir el proceso hasta la convergencia.

1w k w k e k x k

e k t k y k

Teorema de la convergencia del

perceptron

Nov 2005

50

Teorema de la convergencia

El algoritmo de aprendizaje siempre encontrara los pesos que clasifiquen las entradas, si tales pesos existen.

Razon clave para el interes en el perceptron

x1

x2

0

01

1

1

0

1

Minsky & Papert demostraron que tales pesos existen si y solamente si el problema es linealmente separable

Nov 2005

51

Teorema de la convergencia Teorema

Suponga que las clases C1, C2 son linealmente separables.

Entonces, el algoritmo del perceptron aplicado a C1C2 termina con exito despues de un numero finito de iteraciones.

Esto es:

Existe un numero entero N tal que para todo k ≥ N, el error e(k) = 0, y entonces

1w k w k

Nov 2005

52

Teorema de la convergencia

Prueba:

Por simplicidad asumimos

w(1) = 0, = 1.

Y el contador de iteraciones k cuenta solamente los pasos en los que se corrige el vector de pesos

Nov 2005

53

Teorema de la convergencia Entonces

2 1 1 1

3 2 2 2

1

w w e x

w w e x

w k w k e k x k

1 1 1 2 2w k e x e x e k x k

Prueba:

Nov 2005

54

Teorema de la convergencia

Ya que C1 y C2 son linealmente separables entonces existe w* tal que clasifica correctamente a todos los vectores de entrada, x C.

Sea

1

1k

T T

j

w w k e j w x j

1

2

0

0

T

T

x C w x

x C w x

Prueba:

1

2

1

1

C

C

Nov 2005

55

Teorema de la convergencia

Ya que todos los vectores de entrada x(j) han sido clasificados incorrectamente,

es estrictamente positivo.

Te j w x j

Si

Entonces e(j)>0

0Tw x j

Si

Entonces e(j)<0

0Tw x j

e k t k y k

Prueba:

Nov 2005

56

Teorema de la convergencia Tenemos entonces

1

1 0k

T T

j

w w k e j w x j

1Tw w k ka

min T

ja e j w x j

Prueba:

Nov 2005

57

Teorema de la convergencia Por la desigualdad de Cauchy-Schwarz

2

2

2

11

Tw w kw k

w

22

21

kaw k

w

Prueba:

Nov 2005

58

Teorema de la convergencia Consideremos ahora otro camino:

2 21w j w j Q

2 2 21 2 Tw j w j e j x j e j w j x j

2max

jQ e j x j

0Te j w j x j

Los vectores x(j) son clasificados incorrectamente

Prueba:

Nov 2005

59

Teorema de la convergencia Entonces

21w k Qk

22

21ka

Qk w kw

2

21ka

Q w

Prueba:

Nov 2005

60

Teorema de la convergencia

Por lo tanto k no puede ser mayor que kmax tal que:

Entonces el algoritmo termina con exito al menos en kmax iteraciones

2

max 2

Q wk

a

Prueba:

Nov 2005

61

observaciones El algorimo converge a la clasificacion

correcta

si los datos de entrenamiento son linealmente separables

y la velocidad de aprendizaje es lo suficientemente pequeña

La Soluion w* no es unica, ya que si w*Tx =0 define un hiper-plano, tambien lo hace w*’ = αw*.

Ejemplos

Nov 2005

63

Aprendizaje del perceptron

t=1t=-1

w=[0.25 –0.1 0.5]x2 = 0.2 x1 – 0.5

o=1

o=-1

(x,t)=([-1,-1],1)o=sgn(0.25+0.1-0.5) =-1

w=[0.2 –0.2 –0.2]

(x,t)=([2,1],-1)o=sgn(0.45-0.6+0.3) =1

w=[-0.2 –0.4 –0.2]

(x,t)=([1,1],1)o=sgn(0.25-0.7+0.1) =-1

w=[0.2 0.2 0.2]

Nov 2005

64

Otro ejemplo

-1 -1 -1 -1 -1 -1 -1 -1

-1 -1 +1

+1

+1

+1

-1 -1

-1 -1 -1 -1 -1 +1

-1 -1

-1 -1 -1 +1

+1

+1

-1 -1

-1 -1 -1 -1 -1 +1

-1 -1

-1 -1 -1 -1 - 1 +1

-1 -1

-1 -1 +1

+1

+1

+1

-1 -1

-1 -1 -1 -1 -1 -1 -1 -1

¿Como entrenar al perceptron para reconocer este 3?

Nov 2005

65

Otro ejemplo ¿Como entrenar al perceptron para reconocer

este 3?

Asignar –1 a los pesos con valores de entrada que son iguales a

–1, +1 a los pesos con valores de entrada que son iguales a

+1, y –63 a la polarizacion.

La salida del perceptron sera 1 cuando se le presente un tres “perfecto”, y al menos –1 para cualquier otro patron.

Nov 2005

66

Otro ejemplo

-1 -1 -1 -1 -1 -1 -1 -1

-1 -1 +1

+1

+1

+1

-1 -1

-1 -1 -1 -1 -1 +1

-1 -1

-1 -1 -1 +1

+1

+1

-1 -1

-1 +1

-1 -1 -1 +1

-1 -1

-1 -1 -1 -1 - 1 +1

-1 -1

-1 -1 +1

+1

+1

+1

-1 -1

-1 -1 -1 -1 -1 -1 -1 -1

¿Que pasa si el 3 a ser reconocido es ligeramente diferente?

Nov 2005

67

Otro ejemplo ¿Que pasa si el 3 a ser reconocido es ligeramente

diferente?

El 3 original con un bit corrupto produce una suma igual a –1.

Si la polarizacion se hace igual a –61 entonces tambien este 3 corrupto sera reconocido, asi como todos los patrones con un bit corrupto.

El sistema es capaz de generalizar al considerar solo un ejemplo de patron corrupto!

Limitacion del perceptron

Nov 2005

69

Limitaciones

Se garantiza la convergencia de la regla de aprendizaje del perceptron a una solucion en un numero finito de pasos, siempre que exista una solucion.

Las dos clases deben ser linealmente separables.

Nov 2005

70

Limitaciones Problemas no linealmente separables

Trate de dibujar una linea recta entre vectores de dos clases

Nov 2005

71El problema de la OR exclusiva (XOR) Proposito: Clasificar un vector binario de

entrada

X Y Clase

Par deseado i/o 1 0 0 0

Par deseado i/o 2 0 1 1

Par deseado i/o 3 1 0 1

Par deseado i/o 4 1 1 0

En la clase 0 si el vector tiene un numero par de 1’s o 0’s,

En la clase 1 en caso contrario

Nov 2005

72

Objecion de Minsky-Papert

i 2

i 1

1

?

La simple operacion de la OR exclusive

(XOR)no puede ser resuelta usando un perceptron

lineal con polarizacion.

Por lo tanto,

probablemente problemas mas importantes no

pueden ser resueltos con el perceptron

lineal.

Nov 2005

73

El problema XOR resuelto El problema de la XOR puede ser resuelto

usando un perceptron de dos capas

neurona 2

neurona 3

neurona 1

x2

x1

Nov 2005

74

El problema XOR resuelto El problema de la XOR puede ser resuelto

usando un perceptron de dos capas

1

1

11

1-2

-1

0.50.5

-1

1.5-1

f()

f()

f()

Nov 2005

75

1 2 1

1 2 1

31

23

02

Neurona 1.

x x y

x x y

x2

O

1

x1

1

1 1.5-1

f()

x1 x2 y1

1 1 1

1 0 0

0 1 0

0 0 0

Nov 2005

76

1 2 2

1 2 2

0.5 1

0.5 0

Neurona 2.

x x y

x x y

x2

O

1

x11

1

0.5

f()

x1 x2 y2

1 1 1

1 0 1

0 1 1

0 0 0

Nov 2005

77

El problema XOR resuelto

1

-2

-1

0.5

f()y1

y2

y3

1 2 3

1 2 3

2 0.5 1

2 0.5 0

Neurona 3.

y y y

y y y

y1 y2 y3

1 1 0

1 0 0

0 1 1

0 0 0

Nov 2005

78y1 y2 y3

1 1 0

1 0 0

0 1 1

0 0 0

x1 x2 y1

1 1 1

1 0 0

0 1 0

0 0 0

x1 x2 y2

1 1 1

1 0 1

0 1 1

0 0 0

x2

O1

x1

x2

O

1

x1

La neurona 3 realiza la operación XOR.

x2

O

1 x1

1 OO

O

1

Neurona 1 Neurona 2

1 2 3

1 2 3

2 0.5 1

2 0.5 0

Neurona 3.

y y y

y y y

Nov 2005

79

El problema XOR resuelto Conclusion:

Por medio de estructuras multicapas es posible clasificar problemas que no son linealmente separables

El perceptron: ejemplo en MATLAB

Nov 2005

81

Ejemplo en MATLAB PART 1: Generation of the training and

validation sets

X = 2*rand(p-1,2*N)-1;% Una matriz (p − 1) × 2N de numeros aleatorios uniformemente distribuidos en el intervalo [−1, +1]

nn = randperm(2*N);

nn = nn(1:N);

X(:,nn) = sin(X(:,nn));

% Se “colorean” las columnas de la matriz X indicadas por nn

X = [X; ones(1,2*N)]; % Al final de cada vector de entrada se agrega un 1 para implementar la polarizacion

Nov 2005

82

Ejemplo en MATLAB PARTE 1: Generacion de los conjuntos de

entrenamiento y validacion

wht = 3*rand(1,p)-1;

wht = wht/norm(wht);

% Este es un vector unitario ortogonal al plano de separacion aumentado. Es tambien el vector de pesos a encontrar (target).

D = (wht*X >= 0); % La clasficacion para cada punto del espacio de entrada con respecto al numero de la clase, 0 or 1.

Nov 2005

83

Ejemplo en MATLAB PARTE 2: Visualisacion de los patrones de

entrada-salida.

pr = [1, 3]; Xp = X(pr, :);

wp = wht([pr p]); % projeccion del vector de pesos

c0 = find(D==0); c1 = find(D==1);

plot(Xp(1,c0),Xp(2,c0),’o’, Xp(1,c1),Xp(2,c1),’x’)

% El espacio de entrada es de dimension p, por lo tanto dificil de visualizar. Entonce, se dibujan proyecciones de los patrones de entrada en un plano 2D, digamos el plano (x1 − x3).

Nov 2005

84

Ejemplo en MATLAB PARTE 3: Aprendizaje

C = 50;

E = [C+1, zeros(1,C)];

WW = zeros(C*N,p);

c = 1 ;

cw = 0 ;

% Maximo numero de epocas de entrenamiento

% Inicializacion del vector de la suma total de errores al cuadrado en una epoca.

% La matriz WW almacenara los vectores de pesos wh.

% c es un contador de epocas

% cw contador de actualizaciones de pesos total

Nov 2005

85

Ejemplo en MATLAB: Aprendizaje

while (E(c)>1)|(c==1)

c = c+1 ;

% El lazo interno prueba todos los ejemplos de entrenamiento.

for n = 1:N

eps = D(n) - ((wh*X(:,n)) >= 0); % e(n) = d(n) − y(n)

wh = wh + eta*eps*X(:,n)’; % La ley de aprendizaje

cw = cw + 1;

WW(cw,:)=wh/norm(wh); % El vector de pesos normalizado se almacena en WW para graficar el desempeño

E(c) = E(c) + abs(eps); % |e| = e^2

end;

Nov 2005

86

Fuentes Martin Hagan, Neural Network Design Demonstrations. PWS

Publishing Company. 1994 Heikki Koivo, Neuro-Fuzzy Computing in Automation, course

material. Control Engineering Laboratory. Helsinki University of Technology. Spring 2002.

Jeen-Shing Wang, Course: Introduction to Neural Networks. Lecture notes. Department of Electrical Engineering. National Cheng Kung University. Fall, 2005

Wen Yu, Advanced Fuzzy neural networks. Lecture notes. Departamento de Control Automatico. CINVESTAV-IPN. 2005

Andrew P. Paplinski, CSE5301 Neuro-Fuzzy Computing (Neural Networks and Fuzzy Systems). Lecture Notes. Monash University, Australia. 1 June 2005.

Nov 2005

87

Sources J-Shing Roger Jang, Chuen-Tsai Sun and Eiji Mizutani, Slides

for Ch. 5 of “Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence”, First Edition, Prentice Hall, 1997.

Djamel Bouchaffra. Soft Computing. Course materials. Oakland University. Fall 2005

Lucidi delle lezioni, Soft Computing. Materiale Didattico. Dipartimento di Elettronica e Informazione. Politecnico di Milano. 2004

Handbook of Neural Computation. release 97/1. IOP Publishing Ltd and Oxford University Press. 1997

A. S. Hodel, Neural Networks, notes of ELEC 6240 course. Dept. ECE, Auburn University. November 19, 2003.

top related