La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Computacion inteligente

Presentaciones similares


Presentación del tema: "Computacion inteligente"— Transcripción de la presentación:

1 Computacion inteligente
13/04/2017 Computacion inteligente El perceptron

2 Agenda History Perceptron structure
13/04/2017 Agenda History Perceptron structure Perceptron as a two-class classifier The Perceptron as a Logic Operator Perceptron Learning Perceptron Convergence Theorem Examples Perceptron Limitation Nov 2005

3 13/04/2017 Historia

4 Historia 1943 El perceptron fue derivado del modelo de una
13/04/2017 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 W. S. McCullough and W. Pitts. A logical calculus of the ideas of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5:115{133, 1943 McCullough & Pitts: (1943): use of NN as computational tool D. O. Hebb. The Organization of Behavior: A Neuropsychological Theory. Wiley, New York, st rule for self-organized learning Nov 2005

5 Historia 1957 Rosenblatt desarrolla el Perceptron, una red
13/04/2017 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 F. Rosenblatt. The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65:386{408, 1958 for perceptron (learning with a teacher) Nov 2005

6 Perceptron elemental de Rosenblatt
13/04/2017 Perceptron 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
13/04/2017 Historia 1969 Minsky & Papert - limitacion del perceptron El famoso problema de la “XOR” Muerte de las ANNs 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 M. Minksy and S. Papert. Perceptrons: An Introduction to Computational Geometry. MIT Press, 1969. B. Widrow and M. E. Ho, Jr. Adaptive switching circuits. In IRE WESCON Convention Record, pages 96{104 Widrow-Ho delta rule (least mean square) Nov 2005

8 Estructura del perceptron
13/04/2017 Estructura del perceptron

9 Estructura del perceptron
13/04/2017 Estructura del perceptron Nov 2005

10 Estructura del perceptron
13/04/2017 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
13/04/2017 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 Nov 2005

12 Estructura del perceptron
13/04/2017 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) Matlab toolbox Nov 2005

13 Modelo matematico del perceptron
13/04/2017 Modelo matematico del perceptron Salida de la neurona Forma vectorial b incluida Nov 2005

14 El perceptron como un clasificador de dos clases
13/04/2017 El perceptron como un clasificador de dos clases

15 El perceptron como un clasificador de dos clases
13/04/2017 El 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

16 El perceptron con dos entradas
13/04/2017 El perceptron con dos entradas La frontera de decision esta determinada por Nov 2005

17 Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) x1 x2 Nov 2005

18 Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) wT. x = 0 => 1. x x = 0 => x1 - x2 = 0 => x1 = x2 x1 x2 Nov 2005

19 Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) wT. x = 0 => 1. x x = 0 => x1 - x2 = 0 => x1 = x2 x1 x2 Esta es la ecuacion para la frontera de decision Nov 2005

20 Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron Esta es la ecuacion para la region de decision region -1 w = (w1, w2, b) = (1, -1, 0) wT. x = 0 x1 x2 wT. x < 0 => x1 - x2 < 0 => x1 < x2 Nov 2005

21 Una frontera de decision en el perceptron
13/04/2017 Una frontera de decision en el perceptron w = (w1, w2, b) = (1, -1, 0) wT. x = 0 x1 x2 wT. x > 0 => x1 - x2 > 0 => x1 > x2 Esta es la ecuacion para la region de decision region +1 Nov 2005

22 13/04/2017 Ejemplo numerico La frontera de decision con Nov 2005

23 El perceptron con tres entradas
13/04/2017 El perceptron con tres entradas La frontera de decision esta determinada por Nov 2005

24 El perceptron con n entradas
13/04/2017 El 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: Nov 2005

25 Ejemplo: La imagen de un “3”
13/04/2017 Ejemplo: La imagen de un “3” -1 +1 - 1 Ejercicio: Construya las entradas para el perceptron Nov 2005

26 El perceptron como un operador logico
13/04/2017 El perceptron como un operador logico

27 El perceptron como un operador logico
13/04/2017 El perceptron como un operador logico El perceptron como una AND logica x 1 2 1 x & y y x output inputs Tabla de verdad de la AND Nov 2005

28 El perceptron como una AND
13/04/2017 El perceptron como una AND 1 x & y y x output inputs Truth Table for Logical AND 2x+2y-3 y x if sum < 0 : 0 else : 1 entradas pesos suma salida Nov 2005

29 The Perceptron as a Logic Operator
13/04/2017 The Perceptron as a Logic Operator The Perceptron as a Logic OR x 1 2 1 x | y y x output inputs Tabla de verdad de la AND Nov 2005

30 El perceptron como una OR
13/04/2017 El perceptron como una OR 1 x | y y x output inputs Tabla de verdad de la OR 2x+2y-1 y x if sum < 0 : 0 else : 1 entrada pesos suma salida Nov 2005

31 El perceptron como un operador logico
13/04/2017 El perceptron como un operador logico Ejercicio Demuestre que una neurona perceptron con los siguientes pesos y polarizacion implementa una compuerta OR Nov 2005

32 Aprendizaje en el perceptron
13/04/2017 Aprendizaje en el perceptron

33 Aprendizaje en las NNs naturales
13/04/2017 Aprendizaje en las NNs naturales Al nivel neuronal el aprendizaje ocurre por Cambio en los pesos sinapticos, Eliminacion de algunas sinapsis, y construccion de nuevas. Este procedimiento es llamado la regla de aprendizaje Nov 2005

34 Aprendizaje en las NNs artificiales
13/04/2017 Aprendizaje 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

35 Paradigmas de aprendizaje
13/04/2017 Paradigmas de aprendizaje Aprendizaje supervisado Aprendizaje no supervisado Aprendizaje por reforzamiento Classificacion Control Aproximacion de funciones Memorias Asociativas Clustering Nov 2005

36 Aprendizaje supervisado
13/04/2017 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) Nov 2005

37 Aprendizaje supervisado
13/04/2017 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) Nov 2005

38 Aprendizaje supervisado
13/04/2017 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 Los pesos se ajustan de acuerdo al error Nov 2005

39 Aprendizaje supervisado
13/04/2017 Aprendizaje supervisado Los pesos se ajustan de acuerdo al error Nov 2005

40 Entrenamiento del perceptron
13/04/2017 Entrenamiento 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

41 Entrenamiento del perceptron
13/04/2017 Entrenamiento 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

42 Algoritmo de aprendizaje del perceptron
13/04/2017 Algoritmo de aprendizaje del perceptron Inicializar los pesos con valores aleatorios. Iterar por el conjunto de entrenamiento, comparando la salida de la red con la salida deseada para cada ejemplo. Si todos los ejemplos son clasificados correctamente, PARAR. Si no, actualizar los pesos para cada ejemplo incorrecto: Si salida = -1, pero deberia ser 1 Si salida = 1 pero deberia ser -1 Volver al PASO 2 Nov 2005

43 Variables y parametros
13/04/2017 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
13/04/2017 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

45 Regla de aprendizaje del perceptron
13/04/2017 Regla 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. Nov 2005

46 Regla de aprendizaje del perceptron
13/04/2017 Regla de aprendizaje del perceptron Regla de aprendizaje del perceptron 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
13/04/2017 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 Nov 2005

48 Algoritmo de entrenamiento
13/04/2017 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. Nov 2005

49 Teorema de la convergencia del perceptron
13/04/2017 Teorema de la convergencia del perceptron

50 Teorema de la convergencia
13/04/2017 Teorema de la convergencia El algoritmo de aprendizaje siempre encontrara los pesos que clasifiquen las entradas, si tales pesos existen. Minsky & Papert demostraron que tales pesos existen si y solamente si el problema es linealmente separable Razon clave para el interes en el perceptron Nov 2005

51 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Teorema Suponga que las clases C1, C2 son linealmente separables. Entonces, el algoritmo del perceptron aplicado a C1C2 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 Nov 2005

52 Teorema de la convergencia
13/04/2017 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
13/04/2017 Teorema de la convergencia Prueba: Entonces Nov 2005

54 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Ya que C1 y C2 son linealmente separables entonces existe w* tal que clasifica correctamente a todos los vectores de entrada,  x  C. Sea Nov 2005

55 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Ya que todos los vectores de entrada x(j) han sido clasificados incorrectamente, es estrictamente positivo. Si Entonces e(j)>0 Si Entonces e(j)<0 Nov 2005

56 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Tenemos entonces Nov 2005

57 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Por la desigualdad de Cauchy-Schwarz Nov 2005

58 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Consideremos ahora otro camino: Los vectores x(j) son clasificados incorrectamente Nov 2005

59 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Entonces Nov 2005

60 Teorema de la convergencia
13/04/2017 Teorema de la convergencia Prueba: Por lo tanto k no puede ser mayor que kmax tal que: Entonces el algoritmo termina con exito al menos en kmax iteraciones Nov 2005

61 observaciones El algorimo converge a la clasificacion correcta
13/04/2017 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*. Nov 2005

62 13/04/2017 Ejemplos

63 Aprendizaje del perceptron
13/04/2017 Aprendizaje del perceptron t=-1 t=1 o=1 (x,t)=([2,1],-1) o=sgn( ) =1 w=[0.25 – ] x2 = 0.2 x1 – 0.5 o=-1 w=[0.2 –0.2 –0.2] (x,t)=([-1,-1],1) o=sgn( ) =-1 (x,t)=([1,1],1) o=sgn( ) =-1 w=[ ] w=[-0.2 –0.4 –0.2] Nov 2005

64 Otro ejemplo ¿Como entrenar al perceptron para reconocer este 3? -1 +1
13/04/2017 Otro ejemplo ¿Como entrenar al perceptron para reconocer este 3? -1 +1 - 1 Nov 2005

65 Otro ejemplo ¿Como entrenar al perceptron para reconocer este 3?
13/04/2017 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 ¿Que pasa si el 3 a ser reconocido es ligeramente diferente?
13/04/2017 Otro ejemplo ¿Que pasa si el 3 a ser reconocido es ligeramente diferente? -1 +1 - 1 Nov 2005

67 13/04/2017 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! Nov 2005

68 Limitacion del perceptron
13/04/2017 Limitacion del perceptron

69 13/04/2017 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
13/04/2017 Limitaciones Problemas no linealmente separables Trate de dibujar una linea recta entre vectores de dos clases Nov 2005

71 El problema de la OR exclusiva (XOR)
13/04/2017 El problema de la OR exclusiva (XOR) Proposito: Clasificar un vector binario de entrada En la clase 0 si el vector tiene un numero par de 1’s o 0’s, En la clase 1 en caso contrario X Y Clase Par deseado i/o 1 Par deseado i/o 2 1 Par deseado i/o 3 Par deseado i/o 4 Nov 2005

72 Objecion de Minsky-Papert
13/04/2017 Objecion de Minsky-Papert 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. i 2 i 1 1 ? Nov 2005

73 El problema XOR resuelto
13/04/2017 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
13/04/2017 El problema XOR resuelto El problema de la XOR puede ser resuelto usando un perceptron de dos capas 1 -2 -1 0.5 1.5 f() Nov 2005

75 13/04/2017 x2 O 1 x1 1 1.5 -1 f() Nov 2005

76 13/04/2017 x2 O 1 x1 1 0.5 f() Nov 2005

77 El problema XOR resuelto
13/04/2017 El problema XOR resuelto 1 -2 -1 0.5 f() y1 y2 y3 Nov 2005

78 La neurona 3 realiza la operación XOR.
13/04/2017 Neurona 1 Neurona 2 x2 O 1 x1 x2 O 1 x1 x2 O 1 x1 La neurona 3 realiza la operación XOR. Nov 2005

79 El problema XOR resuelto
13/04/2017 El problema XOR resuelto Conclusion: Por medio de estructuras multicapas es posible clasificar problemas que no son linealmente separables Nov 2005

80 El perceptron: ejemplo en MATLAB
13/04/2017 El perceptron: ejemplo en MATLAB

81 Ejemplo en MATLAB PART 1: Generation of the training and validation sets % Una matriz (p − 1) × 2N de numeros aleatorios uniformemente distribuidos en el intervalo [−1, +1] X = 2*rand(p-1,2*N)-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 % Al final de cada vector de entrada se agrega un 1 para implementar la polarizacion X = [X; ones(1,2*N)]; Nov 2005

82 Ejemplo en MATLAB PARTE 1: Generacion de los conjuntos de entrenamiento y validacion % Este es un vector unitario ortogonal al plano de separacion aumentado. Es tambien el vector de pesos a encontrar (target). wht = 3*rand(1,p)-1; wht = wht/norm(wht); % La clasficacion para cada punto del espacio de entrada con respecto al numero de la clase, 0 or 1. D = (wht*X >= 0); Nov 2005

83 Ejemplo en MATLAB PARTE 2: Visualisacion de los patrones de entrada-salida. % 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). 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’) 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 13/04/2017 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 13/04/2017 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. Nov 2005


Descargar ppt "Computacion inteligente"

Presentaciones similares


Anuncios Google