85
Computacion inteligente El perceptron

Computacion inteligente El perceptron. Nov 2005 2 Agenda History Perceptron structure Perceptron as a two-class classifier The Perceptron as a

Embed Size (px)

Citation preview

Page 1: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Computacion inteligente

El perceptron

Page 2: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 3: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Historia

Page 4: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 5: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 6: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

6Perceptron elemental de Rosenblatt El problema consiste simplemente en

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

Page 7: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 8: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Estructura del perceptron

Page 9: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

9

Estructura del perceptron

Page 10: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 11: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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(

Page 12: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 13: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 14: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

El perceptron como un

clasificador de dos clases

Page 15: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 16: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 17: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

17Una frontera de decision en el perceptron

x1

x2

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

Page 18: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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)

Page 19: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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)

Page 20: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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)

Page 21: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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)

Page 22: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

22

Ejemplo numerico

La frontera de decision con

1 2 1 0p p

1

2

1

1

1

w

w

b

Page 23: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 24: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 25: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 26: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

El perceptron como un operador

logico

Page 27: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 28: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 29: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 30: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 31: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 32: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Aprendizaje en el perceptron

Page 33: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 34: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 35: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 36: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 37: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

39

Aprendizaje supervisado

new oldw w w

Los pesos se ajustan de acuerdo al error

Page 38: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 39: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 40: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 41: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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}

Page 42: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 43: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 44: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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).

Page 45: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 46: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 47: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Teorema de la convergencia del

perceptron

Page 48: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 49: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 50: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 51: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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:

Page 52: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 53: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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:

Page 54: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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:

Page 55: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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:

Page 56: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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:

Page 57: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

59

Teorema de la convergencia Entonces

21w k Qk

22

21ka

Qk w kw

2

21ka

Q w

Prueba:

Page 58: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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:

Page 59: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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*.

Page 60: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Ejemplos

Page 61: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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]

Page 62: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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?

Page 63: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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.

Page 64: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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?

Page 65: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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!

Page 66: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Limitacion del perceptron

Page 67: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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.

Page 68: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

70

Limitaciones Problemas no linealmente separables

Trate de dibujar una linea recta entre vectores de dos clases

Page 69: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 70: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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.

Page 71: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 72: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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()

Page 73: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 74: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 75: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 76: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 77: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

Nov 2005

79

El problema XOR resuelto Conclusion:

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

Page 78: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

El perceptron: ejemplo en MATLAB

Page 79: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 80: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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.

Page 81: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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).

Page 82: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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

Page 83: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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;

Page 84: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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.

Page 85: Computacion inteligente El perceptron. Nov 2005 2 Agenda  History  Perceptron structure  Perceptron as a two-class classifier  The Perceptron as a

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.