Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica....

29
Análisis de Datos Perceptrón multicapa Profesor: Dr. Wilfrido Gómez Flores 1

Transcript of Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica....

Page 1: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Análisis de Datos Perceptrón multicapa

Profesor: Dr. Wilfrido Gómez Flores

1

Page 2: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Introducción• De acuerdo con el consejo de la IEEE Neural Networks de 1996, inteligencia

artificial (IA) es el estudio de cómo hacer que las computadoras hagan cosas que los humanos hacemos mejor hasta ahora.

• Inteligencia computacional es una rama de la IA que estudia mecanismos adaptativos inspirados en la naturaleza para habilitar comportamiento inteligente en ambientes complejos y cambiantes.

2Paradigmas de inteligencia computacional

Redes neuronales artificiales

Computación evolutiva

Sistemas inmunes

artificiales

Sistemas difusos

Inteligencia de enjambre

Modelos probabilísticos

Modela el sistema inmune humano

Modela la selección natural

Modela el comportamiento social de organismos

Modela los sistemas neuronales biológicos

Modela la interacción de los organismos con

el ambiente

Page 3: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Neurona biológica• La neurona es una célula nerviosa cuya función es recolectar y

procesar señales eléctricas.

• Las neuronas presentan una morfología típica: un cuerpo celular llamado soma, prolongaciones cortas que transmiten impulsos hacia el soma denominadas dendritas y una prolongación larga llamado axón que conduce impulsos desde el soma hacia otras neuronas u órganos.

3

SomaNúcleo

Dendrita

AxónMielina

Terminal del axón

Modelo didáctico de una neurona biológica.

Page 4: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• El cerebro humano posee aproximadamente 1012 neuronas conectadas por aproximadamente 1014 sinapsis.

• La sinapsis es el enlace electro-químico para la transmisión del impulso nervioso entre neuronas.

• Las redes neuronales en el cerebro forman un sistema de procesamiento paralelo de información masiva.

• El aprendizaje puede deberse al cambio en la fuerza en las conexiones neuronales, es decir, agregar o eliminar conexiones (plasticidad sináptica).

• La eficacia de la sinapsis puede cambiar debido a la experiencia, dotando de memoria y aprendizaje a través de la potenciación a largo plazo.

4

Neurona biológica

Page 5: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Neurona artificial

• Tres trabajos sentaron las bases de las redes neuronales artificiales (RNA) actuales:

‣ McCulloch & Pitts (1943). Primer modelo neuronal simplificado. Podía resolver las operaciones lógicas AND, OR y NOT.

‣ Hebb (1949). Propone un modelo matemático que incluye el concepto de aprendizaje por medio de refuerzo o asociación.

‣ Rosenblatt (1959, 1962). Origen del concepto “machine learning”. Propuso el modelo perceptrón, el cual al ser entrenado converge en un número finito de iteraciones en clases linealmente separables.

5

Page 6: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• McCulloch y Pitts (1943) propusieron el primer modelo simplificado de una neurona artificial con comportamiento binario, es decir, dado un umbral de activación, θ, la respuesta de la neurona sufre un cambio abrupto de estado de 0→1 ó viceversa:

6

Neurona de McCulloch-Pitts

McCulloch & Pitts (1943), “A Logical Calculus and the Ideas Immanent in the Nervous Activity,” Bulletin of Mathematical Biophysics, vol. 5, pp. 115-133.

y = 1 si aii=1

n∑ ≥ θ y bjj=1

m∑ = 0

0 otro caso

⎧⎨⎪

⎩⎪

donde la respuesta de la neurona es:

(1)

Σ

a1a2

an

b1

b2

bm

θ

Entradas excitatorias

Entradas inhibitorias

y

Page 7: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• La implementación de las funciones lógicas AND, OR y NOT utiliza la siguiente configuración de la neurona:

7

Neurona de McCulloch-Pitts

Σa1

a2

b1

θ y

a1 a2 b1AND OR

θ=2 θ=10 0 0 0 01 0 0 0 10 1 0 0 11 1 0 1 1

a1 a2 b1NOT

θ=11 0 0 11 0 1 0

• Las principales limitantes del modelo de McCulloch-Pitts son:

‣ Los umbrales son determinados analíticamente, es decir, no existe un mecanismo de aprendizaje.

‣ Únicamente trabaja con problemas binarios

Page 8: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Teoría Hebbiana

• La teoría Hebbiana describe el mecanismo básico de plasticidad sináptica, el valor de una conexión sináptica se incrementa si las neuronas de ambos lados de la sinapsis se activan repetidas veces de forma simultánea y se debilita si se activan por separado.

8

Apple

MarcaProbablemente, en países de habla hispana, la palabra “Apple” esté más relacionada con la marca de computadoras que con la fruta.

Conexión fuerte

Fruta

Conexión débil

Page 9: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• El modelo de aprendizaje Hebbiano establece cómo modificar los pesos sinápticos, w=[w0,w1,…,wD], entre neuronas y se aplica para entrenar la neurona artificial de McCulloch-Pitts (1943), dando origen al modelo perceptrón introducido por Rosenblatt en 1958:

9

Perceptrón simple

Σ

x1

x2

φ

Ent

rada

s

f

wD

w3

w2

x3

xD

w1w0 Función de

transferencia

donde la respuesta de la neurona para un patrón x es:

f (x) = ϕ w0+ w

ixi

i=1

D

∑⎛⎝⎜

⎞⎠⎟

(2)

Page 10: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• El proceso de aprendizaje de una neurona consiste en adaptar los pesos sinápticos para realizar un mapeo entrada→salida:

10

Perceptrón simple

wj= 1N

yixi,j

i=1

N

∑ , j = 0,1,…,D (3)

donde N es el número de muestras de aprendizaje y yi es la salida deseada del patrón xi=[1,xi,1,xi,2,…,xi,D]T (aumentado).

• La función de transferencia define la salida de la neurona como:

ϕ(z) = +1 si z > θ −1 otro caso

⎧⎨⎩

(4)

donde θ es un umbral predeterminado.

Page 11: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

11

Perceptrón simple• La implementación de las funciones lógicas AND, OR y NOT

utiliza la siguiente configuración de la neurona:

x1 x2AND OR NOT

wTx f wTx f wTx f

−1 −1 −1.5 −1 −0.5 −1 1 1

−1 1 −0.5 −1 0.5 1 −1 −11 −1 −0.5 −1 0.5 11 1 0.5 1 1.5 1

x1

f

w1

w0

w2x2

θ=0Σw

AND= [−0.5,0.5,0.5]

T

wOR

= [0.5,0.5,0.5]T

wNOT

= [0,0,−1]T

Page 12: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• El perceptrón simple es un clasificador lineal, donde los pesos pueden ser ajustados mediante un algoritmo de descenso de gradiente.

12

Perceptrón simple

Fronteras de decisión generadas por el perceptrón simple para los problemas AND (izquierda) y OR (derecha).

x1

x2

1

1−1

−1

x1

x2

1

1−1

−1

y = −1y = +1

Page 13: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• Uno de los resultados mostrados en el trabajo de Minsky y Papert (1969) fue que el perceptrón simple no es capaz de representar la compuerta XOR, ya que no existe separabilidad lineal entre clases.

13

Perceptrón simple

x1

x2

1

1−1

−1

x1 x2 XOR

−1 −1 −1−1 1 1

1 −1 1

1 1 −1

En el problema XOR no existe una única recta que separe a los puntos negros de los blancos.

*M. L. Minsky & S. A. Papert (1969). Perceptrons. Cambridge, MA: MIT Press.

Page 14: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

14

Perceptrón multicapa

La capa de entrada distribuye las variables del patrón de entrada hacia la capa oculta. En la capa oculta se entrenan dos perceptrones para resolver la compuerta AND (rojo) y OR (negro) cuyas respuestas son combinadas en la capa de salida generando una solución bilineal al problema XOR. El umbral θ=0 para todos los perceptrones.

1

1−1

−1

x1

x2AND

ORθΣ0.5

θΣ0.5

0.5

0.5

θΣ−0.5

x1

x2

0.5

0.5

−0.5 f

Capa de entrada

Capa oculta

Capa de salida

0−0.5−0.5

Page 15: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

15

Perceptrón multicapa

• Aunque el perceptrón multicapa es capaz de resolver el problema XOR, surge un problema en la generalización a problemas no linealmente separables: ¿cómo calcular los pesos sinápticos de las neuronas ocultas sin conocer su salida deseada?

• En 1974 P. Werbos planteó una solución para el entrenamiento del perceptrón multicapa, aunque fue hasta 1986 cuando Rumelhart propuso un algoritmo similar al que llamó retropropagación del error (backpropagation algorithm).

• El algoritmo backpropagation está basado en el método de descenso de gradiente para minimizar el error. Es un algoritmo ampliamente utilizado para entrenamiento supervisado de RNA.

P. J. Werbos. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, 1974. D. E. Rumelhart, G. E. Hinton, R. J. Williams, "Learning representations by back-propagating errors". Nature 323 (6088): 533–536, 1986.

Page 16: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Red neuronal prealimentada• El perceptrón multicapa da origen a la red neuronal prealimentada

(feedforward neural network, FNN) que utiliza el algoritmo backpropagation en el entrenamiento.

16

Una red de dos capas sólo genera fronteras de decisión lineales, mientras que una red con dos o más capas produce fronteras de decisión arbitrarias.

x1

x1

x2

x2

x1

x2

z

x1

x2

z

Page 17: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

17

Red neuronal prealimentada

Una red FNN D-H-C totalmente conectada de tres capas y la notación utilizada para la derivación del algoritmo backpropagation.

x2

xD

x1

xi

x1

x2

xi

xD

wji y

1

y2

y3

yj

yH

wkj

z1

z2

zk

zC

t1

t2

tk

tC

ReferenciaSalida de

la red

Entrada Oculta Salida

Page 18: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Función de activación

• Un nodo oculto o nodo de salida genera una respuesta no lineal a una variable de entrada ponderada con un peso sináptico.

• Dicha respuesta no lineal está dada por una función de activación, siendo la función sigmoidal la más utilizada en FNN y se define como:

18

σ(x) = 11 + exp(−x)

(5)

y su primera derivada es:

σ(x)' = σ(x)(1 −σ(x)) (6)

• Se asume la misma no linearidad para todos los nodos ocultos y de salida de la FNN.

Page 19: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• El entrenamiento de la FNN consiste en encontrar el conjunto de pesos que reduzca el error de entrenamiento entre la salida de la red y la referencia (etiqueta de clase):

19

J(w) ≡ 12(tk− z

k)2

k=1

C

∑ = 12t − z

2(7)

donde t y z son los vectores de referencia (target) y salida de la red, respectivamente, y w representa a todos los pesos en la red.

• La regla de entrenamiento backpropagation está basada en descenso de gradiente. Los pesos se inicializan aleatoriamente y cambian en la dirección que reduce el error:

Δw = −η ∂J∂w (8)

donde η es la taza de aprendizaje. Entonces la regla de actualización en la iteración t es:

(9)

Aprendizaje de la FNN

w(t + 1) = w(t)+ Δw(t)

Page 20: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• Tomando el problema de entrenamiento de una FNN con tres capas, primero se derivan los pesos de las capas oculta→salida mediante la regla de la cadena:

20

∂J∂wkj

= ∂J∂zk

∂zk

∂wkj

(10)

• Derivando J se tiene:

∂J∂zk

= ∂∂zk

12(tk− z

k)2

⎛⎝⎜

⎞⎠⎟= −(t

k− z

k)

y derivando zk se tiene:

∂zk

∂wkj

=∂σ( !y

j)

∂wkj

= σ( !yj)(1 −σ( !y

j))y

j

donde !yj= w

kjyj.

(11)

(12)

Aprendizaje de la FNN

Page 21: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

21

Δwkj= η(t

k− z

k)σ( !y

j)(1 −σ( !y

j))y

j

= ηδkyj

donde δk es la sensibilidad de la neurona k y describe cómo el error cambia con la activación de la neurona.

• Derivando los pesos de las capas entrada→oculta se vuelve aplicar la regla de la cadena:

(13)

• Entonces sustituyendo (11) y (12) en (8) se obtiene la regla de aprendizaje para los pesos de las capas oculta→salida:

∂J∂w

ji

= ∂J∂yj

∂yj

∂wji

(14)

Aprendizaje de la FNN

Page 22: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

22

• Derivando J se tiene:

∂J∂yj

= ∂∂yj

12

(tk− z

k)2

k=1

C

∑⎛⎝⎜

⎞⎠⎟= − (t

k− z

k)

k=1

C

∑ ∂zk

∂yj

= − (tk− z

k)

k=1

C

∑ ∂zk

∂ !yj

∂ !yj

∂yj

= − (tk− z

k)

k=1

C

∑ σ( !yj)(1 −σ( !y

j))w

kj

(15)

• Derivando yj se tiene:∂yj

∂wji

=∂σ( !x

i)

∂wji

= σ( !xi)(1 −σ( !x

i))

∂ !xi

∂wji

= σ( !xi)(1 −σ( !x

i))x

i

(16)

Δwji= η δ

kwkjk=1

C∑⎡⎣⎢⎤⎦⎥σ( !x

i)(1 −σ( !x

i))x

i

= ηδjxi

(17)

donde Entonces, la regla de aprendizaje para los pesos de las capas entrada→oculta es:

!xi= w

jixi.

Aprendizaje de la FNN

Page 23: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• El cálculo del bias involucra una entrada ficticia cuyo valor es siempre la unidad para cada neurona de la red, de modo que todos los pesos bias se actualizan exactamente igual que los pesos sinápticos durante las iteraciones.

23

Aprendizaje de la FNN

x1

x2

z

1

Se considera una entrada unitaria para el cálculo del bias.

Page 24: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• En el algoritmo backpropagation, todos patrones de entrenamiento se presentan primero para generar una salida de la red con los pesos actuales y sólo entonces se actualizan los pesos. Este proceso se itera hasta que se cumpla una condición de paro.

24

Algoritmo backpropagation.

Begin initialize: w, N←#patrones, umbral θ, η, t←0do t←t+1 // Incrementa la época

p←0; ∆wji←0; ∆wkj←0 do p←p+1

xp← selecciona un patrón∆wji←∆wji + ηδjxi

∆wkj←∆wkj + ηδkyj until p=N wji←wji + ∆wji

wkj←wkj + ∆wkj until ||∇J(w)||<θreturn w

end

Aprendizaje de la FNN

Page 25: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Conjunto de validación• Para evitar el sobreentrenamiento de la red, adicionalmente al

conjunto de entrenamiento, se debe usar un conjunto independiente denominado conjunto de validación, de modo que el entrenamiento se detiene en el mínimo error de validación.

25

épocas

J

entrenamiento

validación

prueba

Una curva de entrenamiento muestra la función de costo en función del número de épocas. Los errores de validación y prueba son generalmente más altos que el error de entrenamiento.

Page 26: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Funciones discriminantes

• Para clasificar un patrón desconocido, se tendrán C neuronas de salida, una para cada clase, y la señal de cada neurona de salida es la función discriminante gk(x).

• Para un patrón de entrada x la respuesta de la k-ésima neurona de salida para una FNN D-H-C es:

26

gk(x) ≡ z

k= σ w

kjσ w

jixi

i=1

D

∑ +wj 0

⎛⎝⎜

⎞⎠⎟j=1

H

∑ +wk0

⎝⎜⎞

⎠⎟(18)

gp(x) > g

q(x), ∀p ≠ q

• Entonces, el patrón x es clasificado en ωp, p=1,…,C, si

(19)

Page 27: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

27

Funciones discriminantesFNN 2-3-1 FNN 2-10-1x1

x2

x1

x2

x2x2

x1 x1

Page 28: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

Ventajas de las RNAs• Las RNAs son relativamente fáciles de implementar y presenta las

siguientes ventajas:

‣ No linealidad. Dependiendo de la función de activación, una neurona puede tener una respuesta no lineal, de manera que con la interconexión de varias neuronas se pueden generar fronteras de decisión no lineales.

‣ Relación entrada-salida. Las RNAs aprenden de ejemplos, los cuales son introducidos como un conjunto de muestras etiquetadas donde a cada entrada le corresponde una salida.

‣ Adaptabilidad. Debido a su capacidad de aprendizaje continuo, las RNAs tienen la habilidad de adaptarse a problemas no estacionarios en el tiempo, adaptando sus pesos al entorno que las rodea.

‣ Tolerancia a fallos. El alto grado de paralelismo les confiere una gran robustez, ya que si una neurona o peso sináptico falla, el daño se ve amortiguado por las neuronas vecinas.

28

Page 29: Análisis de Datos - tamps.cinvestav.mxwgomez/diapositivas/RP/Clase12.pdf · 4 Neurona biológica. Neurona artificial • Tres trabajos sentaron las bases de las redes neuronales

• Por otro lado, las RNAs presentan los siguientes problemas:

‣ Sobreentrenamiento. Cuando la red no es capaz de generalizar, es decir, que calcule correctamente las relaciones entrada-salida para muestras no presentadas durante el entrenamiento, se dice que se ha sobreentrenado.

‣ Número de neuronas. No existe una forma sencilla de definir el número adecuado de neuronas y capas ocultas.

‣ Mínimos locales. Durante el entrenamiento existe la posibilidad de caer en un mínimo local, es decir, la solución no alcanzó el mínimo error posible.

29

Desventajas de las RNAs