02 - neurona artificial

44
CLASE MODELO-PRUEBA Nº1 UNIFIM GISCIA NEURONA ARTIFICIAL 1 Rumbo al INTERCON 2011

Upload: daniel-barrera

Post on 27-Jun-2015

225 views

Category:

Documents


1 download

DESCRIPTION

Clases Modelo para nuestras pruebas

TRANSCRIPT

Page 1: 02 - Neurona Artificial

CLASE MODELO-PRUEBA Nº1

UNIFIM GISCIA

NEURONA ARTIFICIAL

1

Rumbo al INTERCON 2011

Page 2: 02 - Neurona Artificial

INTRODUCCIÓN

La idea de esta clase es que ustedes investiguen los términos que no entiendan, hagan las preguntas a este blog y traten de entender la utilidad de esta clase, dependiendo de los comentarios que se reciban, se terminara con la entrega final del curso de INTELIGENCIA ARTIFICIAL que comprende varios ppts.

2

Page 3: 02 - Neurona Artificial

3

Similitudes entre una neurona biológica y una artificial

Las entradas Xi representan las señales que provienen de otras neuronas y que son capturadas por las dendritas

Los pesos Wi son la intensidad de la sinápsis que conecta dos neuronas; tanto Xi como Wi son valores reales.

es la función umbral que la neurona debe sobrepasar para activarse; este proceso ocurre biológicamente en el cuerpo de la célula.

Page 4: 02 - Neurona Artificial

4

Neurona Artificial

Las señales de entrada a una neurona artificial X1, X2,.., Xn son variables continuas en lugar de pulsos discretos, como se presentan en una neurona biológica.

Cada señal de entrada pasa a través de una ganancia o peso, llamado peso sináptico o fortaleza de la conexión cuya función es análoga a la de la función sináptica de la neurona biológica. Los pesos pueden ser positivos (excitatorios), o negativos (inhibitorios).

El nodo sumatorio acumula todas las señales de entradas multiplicadas por los pesos o ponderadas y las pasa a la salida a través de una función umbral o función de transferencia.

La entrada neta a cada unidad puede escribirse de la siguiente manera:

WXwxnetan

iiij

1

Page 5: 02 - Neurona Artificial

5

Neurona Artificial

Cada entrada es multiplicada por el peso de arco correspondiente.

Cada neurona calcula su entrada neta como:

n

iiij wxneta

1

El valor de salida (único) se obtiene como )(netafy

Page 6: 02 - Neurona Artificial

6

Funciones de Transferencia

Esta función crea neuronas que clasifican las entradas en dos categorías diferentes.

Hardlim (limitador fuerte)

Page 7: 02 - Neurona Artificial

7

Funciones de Transferencia

Esta función crea neuronas que clasifican las entradas en dos categorías diferentes.

Hardlims (limitador fuerte simétrico)

Page 8: 02 - Neurona Artificial

8

Funciones de Transferencia

A diferencia de las anteriores, esta función no es acotada.

Purelin (Lineal)

Page 9: 02 - Neurona Artificial

9

Funciones de Transferencia

Es acotada y derivable

Logsig (Sigmoide)

Page 10: 02 - Neurona Artificial

10

Arquitecturas formadas por un único EP

Comenzaremos trabajando con arquitecturas simples formadas por un único elemento de procesamiento.

La neurona trabaja como una función discriminante lineal.

Page 11: 02 - Neurona Artificial

11

Perceptrón

netasi

netasiy

0

1

Page 12: 02 - Neurona Artificial

12

Ejemplo

Verifique si la siguiente red neuronal se comporta como la función lógica AND

Page 13: 02 - Neurona Artificial

13

AND

Graficar la función discriminante (recta)

2211 wxwx

5.121 xx

Page 14: 02 - Neurona Artificial

14

Entrenamiento del perceptrón

Se busca una estrategia iterativa que permita adaptar los valores de las conexiones a medida que se presentan los datos de entrada.

Ver que el estímulo de entrada se corresponde con el producto interior de los vectors X y W.

Page 15: 02 - Neurona Artificial

15

Producto interior

Calcular v . w

Page 16: 02 - Neurona Artificial

16

Signo del producto interior

Page 17: 02 - Neurona Artificial

17

Vector de proyección

Page 18: 02 - Neurona Artificial

18

Uso del vector de proyección

XW .

||WX w

XW .

||WX w

XW .

||WX w

Page 19: 02 - Neurona Artificial

19

Entrenamiento del Perceptrón

Inicializar los pesos de las conexiones con valores random (vector W)

Mientras no se clasifiquen todos los patrones correctamente

Ingresar un patrón a la red.

Si fue clasificado incorrectamente

Si esperaba obtener W.X > y no lo logró, “acerque” el vector W al vector X.

Si esperaba obtener W.X < y no lo logró, “aleje” el vector W al vector X.

Aprendizaje supervisado

Page 20: 02 - Neurona Artificial

20

Ajuste del vector de pesos Si W.X < no es el valor esperado entonces acercar W a X de la siguiente forma

w’ = w + x

es un valor real perteneciente a (0,1]

Si W.X > no es el valor esperado entonces aleje W a X de la siguiente forma

w’ = w - x

Page 21: 02 - Neurona Artificial

21

Ajuste del vector de pesos

Recordemos que la salida del perceptrón es

En general, si llamamos t al valor esperado y al valor obtenido

wnuevo = w + (t - y) x

XWsi

XWsiy

.0

.1

t = 1y = 0t = 0y = 1

Page 22: 02 - Neurona Artificial

22

Entrenamiento del Perceptrón

Seleccionar el valor de y

Inicializar los pesos de las conexiones con valores random (vector W)

Mientras no se clasifiquen todos los patrones correctamente

Ingresar un patrón a la red.

Si fue clasificado incorrectamente

Wnuevo = W + (t - y) x

Page 23: 02 - Neurona Artificial

23

Ejemplo 1

Entrenar un perceptrón para que se comporte como la función lógica AND.

Utilice = 0.3

= 1.5

W1 = 0

W2 = 0.25 Ej1_AND.m

Page 24: 02 - Neurona Artificial

24

------------------------------------------------------------- 0.30 0.55 0 0.30 0.55 0.30 0.55 0 0.30 0.55 0.30 0.55 0 0.30 0.55 0.30 0.55 0 0.60 0.85

Si Y T, W1new= W1 + 0.3 (T-Y) X1

W2new= W2 + 0.3 (T-Y) X2

El proceso se repite hasta comprobar que todos los patrones son clasificados correctamente

Si Y = T, W no se actualiza

Wnew= W + (T-Y) XAND X1 X2 T W1 W2 Y W1new W2new ------------------------------------------------------------- 0 0 0 0.00 0.25 0 0.00 0.25 1 0 0 0 1 0 1 1 1

0.00 0.25 0 0.00 0.25 0.00 0.25 0 0.00 0.25 0.00 0.25 0 0.30 0.55 ------------------------------------------------------------- 0 0 0 1 0 0 0 1 0 1 1 1 ------------------------------------------------------------- 0 0 0 0.60 0.85 0 0.60 0.85 1 0 0 0.60 0.85 0 0.60 0.85 0 1 0 0.60 0.85 0 0.60 0.85 1 1 1 0.60 0.85 0 0.90 1.15 ------------------------------------------------------------- 0 0 0 0.90 1.15 0 0.90 1.15 1 0 0 0.90 1.15 0 0.90 1.15 0 1 0 0.90 1.15 0 0.90 1.15 1 1 1 0.90 1.15 1 0.90 1.15

Page 25: 02 - Neurona Artificial

25

Perceptrón

00

01

netasi

netasiy

Page 26: 02 - Neurona Artificial

26

Ejemplo 2

Entrenar un perceptrón para que se comporte como la función lógica AND.

Utilice = 0.3

W0 = 0

W1 = 0

W2 = 0.25 Ej2_AND.m

Page 27: 02 - Neurona Artificial

Ejemplo 2 X0 X1 X2 T W0 W1 W2 Salida NewW0 NewW1 NewW2 ------------------------------------------------------------------------------------ 1 0 0 0 0.00 0.00 0.25 1 -0.30 0.00 0.25 1 1 0 0 -0.30 0.00 0.25 0 -0.30 0.00 0.25 1 0 1 0 -0.30 0.00 0.25 0 -0.30 0.00 0.25 1 1 1 1 -0.30 0.00 0.25 0 0.00 0.30 0.55 ------------------------------------------------------------------------------------ 1 0 0 0 0.00 0.30 0.55 1 -0.30 0.30 0.55 1 1 0 0 -0.30 0.30 0.55 1 -0.60 0.00 0.55 1 0 1 0 -0.60 0.00 0.55 0 -0.60 0.00 0.55 1 1 1 1 -0.60 0.00 0.55 0 -0.30 0.30 0.85 ------------------------------------------------------------------------------------ 1 0 0 0 -0.30 0.30 0.85 0 -0.30 0.30 0.85 1 1 0 0 -0.30 0.30 0.85 1 -0.60 0.00 0.85 1 0 1 0 -0.60 0.00 0.85 1 -0.90 0.00 0.55 1 1 1 1 -0.90 0.00 0.55 0 -0.60 0.30 0.85 ------------------------------------------------------------------------------------ 1 0 0 0 -0.60 0.30 0.85 0 -0.60 0.30 0.85 1 1 0 0 -0.60 0.30 0.85 0 -0.60 0.30 0.85 1 0 1 0 -0.60 0.30 0.85 1 -0.90 0.30 0.55 1 1 1 1 -0.90 0.30 0.55 0 -0.60 0.60 0.85 ------------------------------------------------------------------------------------ 1 0 0 0 -0.60 0.60 0.85 0 -0.60 0.60 0.85 1 1 0 0 -0.60 0.60 0.85 1 -0.90 0.30 0.85 1 0 1 0 -0.90 0.30 0.85 0 -0.90 0.30 0.85 1 1 1 1 -0.90 0.30 0.85 1 -0.90 0.30 0.85 ------------------------------------------------------------------------------------ 1 0 0 0 -0.90 0.30 0.85 0 -0.90 0.30 0.85 1 1 0 0 -0.90 0.30 0.85 0 -0.90 0.30 0.85 1 0 1 0 -0.90 0.30 0.85 0 -0.90 0.30 0.85 1 1 1 1 -0.90 0.30 0.85 1 -0.90 0.30 0.85

Page 28: 02 - Neurona Artificial

28

Ejemplo 2

Page 29: 02 - Neurona Artificial

29

Demo de MatLab

Page 30: 02 - Neurona Artificial

30

Neurona ArtificialRepresentación de MatLab

la nueva entrada b es una ganancia que refuerza la salida del sumador n, la cual es la salida neta de la red.

Page 31: 02 - Neurona Artificial

31

Plotpv

Grafica los patrones de entrada y la salida esperada (binaria).

Sintaxis: plotpv(p,t)donde P es una matriz de RxQ cuyas columnas están

formada por los vectores de entrada (R<=3). T es una matriz de SxQ con la salida binaria

esperada ( S<=3)

Page 32: 02 - Neurona Artificial

32

Plotpv

Ejemplo

p = [ 0 0 1 1;

0 1 0 1];

t = [0 0 0 1];

plotpv(p,t)

Page 33: 02 - Neurona Artificial

33

Plotpv

Grafica los patrones de entrada y la salida esperada (binaria).

Sintaxis: plotpv(p,t,v)

donde

V indica los límites del gráfico de la forma [x_min x_max y_min y_max]

Page 34: 02 - Neurona Artificial

34

Plotpv

Ejemplop=[2.5 3 1.2 1;

1 -3.4 2.1 -2];

t=[1 0 1 0];

v=[-1 5 -5 5];

plotpv(p,t,v)

Page 35: 02 - Neurona Artificial

35

Plotpc

Grafica la superficie discriminante.

Sintaxis: plotpc(W,b)donde W es la matriz de pesos de SxR (R<=3). B es el vector bias de Sx1

Page 36: 02 - Neurona Artificial

36

Plotpc

Ejemploaxis([-1 5 -5 5])W=[0.625 0.25];b=-0,50;h = plotpc(W,b);

pause %presione una teclaW=[-0.125 1.10];b=-0,50;h = plotpc(W,b,h);

Page 37: 02 - Neurona Artificial

37

Plotpv

X = [ 1 2 2.7 2 3 5.5 7 7 8;

0.5 2.3 1 5 3.5 7 6 2 1];

T = [0 0 0 0 0 1 1 1 1;

0 0 0 1 1 1 1 0 0];

plotpv(X,T)

Page 38: 02 - Neurona Artificial

38

Plotpc

W = [ 14.7003 -4.5863; -12.3377 19.0720];

b = [-45.2174;

-22.4758];

plotpc(W,b)

14.7003 p1 - 4.4863 p2 -45.2174 =0

-12.3377 p1 +19.072 p2 -22.4758 =0

Page 39: 02 - Neurona Artificial

39

EP Genérico

Page 40: 02 - Neurona Artificial

40

Red Neuronal

La habilidad de procesamiento de la red está almacenada en el peso de sus conexiones

Los pesos se obtienen a partir de un proceso de adaptación (aprendizaje) a los datos de entrada.

Page 41: 02 - Neurona Artificial

41

Redes multicapa

Ver que el perceptrón no puede resolver el problema del XOR porque no es linealmente separable.

Page 42: 02 - Neurona Artificial

42

XOR usando mas de un perceptrón

w11=1 w12=1; w21=1 w22=1; w31=1 w32=-1.5

b1=-0.5 b2=-1.5 b3=-0.5

AND p1+p2-1.5=0

OR p1+p2-0.5=0

Page 43: 02 - Neurona Artificial

43

Ejercicio 1Sobre una cinta transportadora circulan naranjas y melones. Se busca obtener un clasificador de frutas que facilite su almacenamiento. Para cada fruta se conoce su diámetro, en centímetros y su intensidad de color naranja, medida entre 0 y 255.

Ejemplos:Naranjas = { (10,200), (8,150), (7,170),

(15,250)}Melón = {(20,30), (26,30), (24,32), (19,31)}

Entrenar un perceptrón que permita resolver el problema. Utilice como W inicial (0,0,0) e ingrese los patrones en forma alternada (tomar uno de cada conjunto).

Page 44: 02 - Neurona Artificial

44

Ejercicio 2Una agencia de modelos publicó los resultados de la última selección de postulantes. En ella se habían presentado seis mujeres. Cada una de ellas ha sido caracterizada sólo por su peso y altura. El resultado fue el siguiente:

Aceptadas = {(52,1.79), (53,1.81), (55,1.75)}Rechazadas ={(65,1.70), (68,1.65),(58,1.71)}

A) Represente el criterio de selección a través de una RN formada por un único perceptrón.

B) Cuál sería la respuesta del perceptrón de a) si se presentaran estas postulantes:

{(56,1.73), (70,1.60), (45,1.80)}