Title: I Que son las RNA
1- I Que son las RNA?
- Por que RNA?
- Que se puede hacer con las RNA, que nos interese?
- Metáforas del cerebro de los vertebrados y su
funcionamiento
SNC
receptores
efectores
- El cerebro, es una computadora altamente
compleja, no lineal y paralela
Que problemas enfrenta un animal y como los
resuelve?
Asociación
Clasificación
Formación de categorÃas
Respuesta / reacción rápida (control motor)
Generalización
Reconocimiento de patrones
Reconstrucción de patrones
- La resolución de estos problemas implica
procesos de aprendizaje, adaptación - El éxito es dependiente de la experiencia
2Que NO ES una RED NEURONAL ARTIFICIAL (para
nosotros!!)
X Un intento de entender los sistemas biológicos
que poseen un cerebro
X Un intento de reproducir la conducta de los
sistemas biológicos que poseen cerebro
Que ES una RED NEURONAL ARTIFICIAL
? Un conjunto de herramientas y reglas de uso,
que tiene como fin resolver problemas especÃficos.
? Una maquina que modela la forma en que el
cerebro realiza una tarea especifica
- RED NEURONAL ARTIFICIAL
- Nodos
- -Input
- -Output
- -Función de mapeo out F(in)
- Conexiones
- - Intensidad de la conexión
- RED NEURONAL BIOLÓGICA
- Neurona
- - Señal proveniente de otra(s) neurona(s)
- - Frecuencia de descarga
- - Mecanismo de descarga
- Sinapsis
- - Intensidad de la sinapsis
F(in)
3Entonces una RNA es
? Un conjunto de nodos (o neuronas, o unidades de
procesamiento)
? Cada uno de los cuales posee varios inputs y
produce un output
? El output es una función de los inputs, la
funcion de mapeo/activación/transferencia
? Los nodos se conectan a traves de conexiones
ponderadas
gt La conectividad determina la arquitectura de
la red
Out F(w1xin1, w2xin2, w3xin3)
4? La complejidad de lo que puede ser computado (
la funcion que pueda realizar) por la red
dependerá de
La arquitectura / topologÃa de la red
La(s) funcion(es) de mapeo de los nodos
La regla de aprendizaje / entrenamiento de la red.
5II Breve Historia 1940 - 2000
1940s Conexionismo Hebb (1949) Leyes de
aprendizaje biológico McCulloch
y Pitts (1943) Redes binarias (funciones
lógicas)
1950-60s Rosenblatt Perceptrones
1960s ADALINE Widrow y Hoff Aprendizaje
supervisado / descenso de gradiente
1960-70s A.I. Minsky y Papert crÃtica a los
perceptrones / ADALINE
Werbos (1974) desarrollo de Backpropagation
1970-80s Memorias asociativas, topografìa en
estÃmulo-respuesta, redes recurrentes
1980s Vuelta al conexionismo. Rumelhart
redescrubrimiento de Backpropagation y
desarrollo de parientes
6III Estructura general Neuronas Funciones
de mapeo Perceptron Multicapa (PMC)
La función de mapeo determina como el output es
computado en base a la suma ponderada de los
inputs
ó output F(suma)
escalón
La función de mapeo puede ser
lineal
rampa
Sigmoide generalizada
gaussiana
7Capa de Salida (OUT)
Capa de Entrada (IN)
Capa Oculta (H)
capa oculta?salida
x1
salida
A
O
x2
? Los pesos establecen el vÃnculo entre los
inputs (variables independientes) y los outputs
(variables dependientes)
B
? Los pesos pueden ser negativos (inhibitorios)
o positivos (excitatorios)
x3
? Análogos a los coeficientes de una regresion
polinómica
? Cada capa posee un tipo de función de mapeo,
la cual debe ser contÃnua y diferenciable.
8? Una regresión lineal puede ser interpretada
como una red neuronal muy simple
b0
x
YOutput
b1
YOutput b0 b1.x
? b0 y b1 son los valores que minimizan el error
en torno a la recta de regresion, error2 (Y
YOutput)2
9Sinonimias.
Redes Neuronales Artificiales
EstadÃstica
Arquitectura
Pesos
Variable (s) independiente (s)
Variable (s) dependiente (s)
Aprendizaje / Entrenamiento
Generalización
10Antes que nadacomo procedemos?
1) Examinar el problema
2) Formular el problema en términos del análisis
de los datos
3) Muestrear la mayor cantidad de datos sin
perder calidad
4) Explorar los datos, examinar las relaciones
entre las variables medidas / muestreadas
5) Elegir una RNA adecuada y OPTIMIZARLA
Representación de las variables
Determinar la topologÃa de la red y la medida de
error a utilizar
Determinar las proporciones optimas entre
conjuntos de entrenamiento / validación
Iniciar aleatoriamente los pesos varias veces
6) Entrenar la red
7) Poner a prueba los resultados obtenidos
11IV Aprendizaje / Entrenamiento / Estimacion
Aprendizaje / Descenso del gradiente / Derivadas
y superficies de error / Backpropagation
? El aprendizaje es el proceso por el cual los
pesos de una red neuronal se modifican en
respuesta a la estimulación del ambiente.
? Una regla de aprendizaje (o algoritmo de
entrenamiento) representa un procedimiento por el
cual se modifican los pesos de una red.
Minimización de errores
Basado en la memoria
Hebbiano
Competitivo
de Boltzmann
12IV Aprendizaje / Entrenamiento / Estimacion
Aprendizaje / Descenso del gradiente / Derivadas
y superficies de error / Backpropagation
? Implica la minimización de la discrepancia
entre el objetivo y el Output de la RNA.
? El método de BACKPROPAGATION busca los valores
de los pesos que minimicen
K outputs // N ejemplos
? La busqueda exhaustiva (peso por peso) es
impráctica aun para redes muy pequeñas
? En general no existen soluciones analÃticas
únicas
13output
Disminuyo w
Aumento w
Me quedo quieto
? La clave, reside en el calculo de las DERIVADAS
PARCIALES DEL ERROR, respecto a los PESOS
? Una LEY de APRENDIZAJE implica como usaremos
esas derivadas para cambiar los pesos
14yOut 1
yOut 2
? Las funciones de mapeo F y G pueden ser
diferentes (una función por capa)
15Derivadas de error La regla de la cadena CAPA
DE SALIDA (OUTPUT)
? La derivada del error respecto al peso de una
neurona en la capa OUTPUT estará dado por
x1
H1
y1
w11
O1
yOut
x2
w12
y2
H2
Error
x3
16Derivadas de error La regla de la cadena CAPA
OCULTA (HIDDEN)
? La derivada del error respecto al peso de una
neurona en la capa OCULTA estará dado por
x1
w11
H1
y1
w12
w13
O1
yOut
x2
w21
w22
y2
H2
Error
w23
x3
17PREPROCESAMIENTO y REPRESENTACIÓN de los DATOS
? El preproceso de la informacion asi como una
adecuada representacion ayudan a un
entrenamiento/aprendizaje mas eficiente.
INPUTS
18ENTRENAMIENTO mediante BACKPROPAGATION
? Ya describimos el calculo de las derivadas
parciales de error respecto a los pesos EN UN
EJEMPLO
? Cada ciclo de actualizacion de los pesos es
denominado EPOCA
Como utilizamos las derivadas para actualizar
los pesos?
? Moveremos los pesos en la direccion contraria
al signo de la derivada parcial total
?es la TASA DE APRENDIZAJE
dt es la DERIVADA PARCIAL DEL ERROR respecto al
peso w
19ENTRENAMIENTO mediante BACKPROPAGATION
? El descenso del gradiente mediante
BACKPROPAGATION se realiza siguiendo la siguiente
ley de aprendizaje
? ? es un parámetro ajustable y determinará la
velocidad con la que la red aprende
? Repetir el entrenamiento varias veces
utilizando diferentes valores de ?
? Utilizar alguna modificacion del algoritmo de
BACKPROPAGATION
20Modificaciones MOMENTO
? Este método modifica los pesos, considerando
las derivadas de error actuales, asi como las
derivadas de error previas.
? La importancia de las derivadas previas, esta
controlada por el parametro µ (MOMENTO), el cual
toma valores entre 0-1
? Cuando µ 0 el método del momento se reduce a
backpropagation
? Cuando µ 1 el método utiliza todas las
derivadas parciales asociadas al peso focal desde
la época 1
? El algoritmo recuerda los cambios previos, por
lo cual puede saltar por encima de las pequeñas
rugosidades asociadas a los minimos locales
? OTRAS TÉCNICAS
Tasas de aprendizaje adaptativas
Métodos de que usan las derivadas segundas
QuickPropagation
21V Generalizacion / overfitting Overfitting
(sobreajuste) Que es? Por que ocurre?
!!!
? Que es el sobre ajuste?
- La versatilildad y flexibilidad de las redes
representan un riesgo real que corremos cuando
aplicamos RNA en problemas ambientales/agrónomicos
Las variables se relacionan de forma no lineal
Generalmente los tamaños muestrales son pequeños
- Dada una red de complejidad considerable, una
muestra pequeña y el suficiente tiempo de
entrenamiento, la red memoriza las relaciones
entre las variables EN la muestra, lo que resulta
en ERROR 0.
- El objetivo del entrenamiento de un a red, es
producir un mapeo (output mapeo(input)) que sea
capaz de capturar las relaciones subyacentes a
los datos de la muestra de entrenamiento, de modo
tal que pueda producir los outputs correctos
cuando es alimentada con datos no usados para el
entrenamiento
MSE pequeño y diferente de 0.
Poblacion YF(X)
El mapeo generado por los datos de entrenamiento
y la RNA, tienen una buena performance cuando se
aplica a nuevos datos
? El muestreo y variabilidad intrinseca de los
datos, pesan tanto mas que la tecnica
22Como evitar el overfitting?
? Limitar el numero de nodos en la capa oculta
? Limitar las epocas de entrenamiento
? Validacion cruzada / Jackknife
? Regularizacion / penalizacion de la complejidad
1) Ajustar los datos de entrenamiento lo mejor
posible, mientras
2) Mantenemos la función de mapeo lo
suficientemente simple a fin de poder generalizar
La función que mide la complejidad de la red
23VI Abrir la caja negra cuantificacion de la
importancia de los inputs
1 - ANALISIS DE SENSIBILIDAD.
? 1.0 Derivadas de los outputs respecto a los
inputs
? 1.1 Analisis de perturbacion de los inputs
(perturbación sistematica / jittering)
? 2.1 Método de perfiles
2 SELECCIÓN STEPWISE
? 2.0 Forward
? 2.1 Backward
3 MÉTODOS BASADOS EN LOS PESOS
? Diagramas de interpretacion neural (DIN)
? 3.0 Algoritmo de Garson
? 3.1 Boostrapping de redes
24VI Abrir la caja negra. SENSIBILIDAD. 1.0
Derivadas
? Este metodo busca analiticamente una medida de
la variacion en el output respecto variaciones
pequeñas en cada input
Aplicando la regla de la cadena llegamos a
x1
w11
woy1
y1
x2
out
wH1
yH
woyH
xI
? Asi, podemos calcular la derivada para cada
INPUT. Si evaluamos estas derivadas para cada
caso, podemos graficar las derivadas parciales
respecto al input correspondiente
? Ademas podemos obtener una medida de la
importancia relativa de una variable, a traves de
la suma de derivadas al cuadrado, SDC
25VI Abrir la caja negra. SENSIBILIDAD. 1.1
Perturbación de los inputs
? Este metodo evalua el efecto sobre el MSE de
variar un input dejando todos los demas
constantes.
x1
y1
x2
out
yH
xI
? El efecto sobre el MSE es medido como cambio
porcentual
26VI Abrir la caja negra. SENSIBILIDAD. 1.2
Metodo de los perfiles
? Este metodo evalua el efecto sobre el OUTPUT de
variar sistematicamente cada uno de los inputs
fijando el resto en ciertos valores (por ejemplo
percentil 25, mediana y percentil 75)
? El perfil de variacion de cada input es
contruido calculando y graficando la mediana del
input a traves de los valores de los otros inputs
(x)
X1 tiene gran efecto sobre el out cuando las
otras variables son consideradas
X2 no tiene gran efecto sobre el out cuando las
otras variables son consideradas
27VI Abrir la caja negra. SELECCIÓN STEPWISE. 2.0
FORWARD
? Análogo a los metodos forward (o backward)
stepwise de la regresión múltiple.
? Generamos modelos con un solo input, y
secuencialemente agregamos inputs.
? Nos quedamos con los inputs que generen la
menor disminución porcentual en el MSE
? El orden de entrada, representa el orden de
importancia de las contribuciones de las
variables.
VI Abrir la caja negra. SELECCIÓN STEPWISE. 2.1
BACKWARD
? Generamos UN modelo con todos los inputs, y
secuencialemente eliminamos inputs.
? Eliminamos el input que genera el mayor
incremento percentual en el MSE
? El orden de salida es el orden de importancia
de las contribuciones.
28VI Abrir la caja negra. METODOS BASADOS EN LOS
PESOS. Diagramas de interepretacion.
? La intensidad de la señal que emite un nodo,
estara dado por el valor y signo del peso que
tiene asociado.
F(w x suma)
suma
x1
In1
? La intensidad de la señal que emite un nodo
(valor abosluto del peso W), estara representado
por el GROSOR de la flecha
H1
O1
in2
x2
- El tipo de señal que emite un nodo va a estar
representado por el color de la flecha - Señales inhibitorias (Wlt0) FLECHAS CLARAS
- Señales excitatorias (Wgt0) FLECHAS NEGRAS
H2
in3
x3
29VI Abrir la caja negra. METODOS BASADOS EN LOS
PESOS. 3.0 Algoritmo de Garson
? Este metodo particiona los pesos en una red
para determinar la importancia relativa de los
inputs.
? Utiliza los valores absolutos de los pesos, lo
que no nos permite estmiar la direccion de las
relaciones
input
x1
wA1
wB1
hidden
wOA
A
wA2
x2
out
hidden
wB2
B
wOB
output
wA3
x3
O en notación matricial
wB3
? Podemos construir la matriz de contribuciones
absolutas del INPUT al OUTPUT
? Y la matriz de contribuciones relativas del
INPUT al OUTPUT
sumamos
sumamos
sumaCR
30VI Abrir la caja negra. METODOS BASADOS EN LOS
PESOS. 3.0 Algoritmo de Garson
? Y por ultimo la importancia relativa del input
1?O
2?O
3?O
!! Puede conducir a conclusiones erróneas pues
considera el valor absoluto de los pesos
31VI Abrir la caja negra. METODOS BASADOS EN LOS
PESOS. 3.1 Bootstrap sobre los pesos
? Este metodo genera mediante aleatorización del
objetivo (variable dependiente), una distribución
nula para cada peso.
? De este modo podemos determinar que conexiones
son significativamente diferentes del azar
? No solo evaluamos la importancia de los inputs,
sino que tambien nos permite eliminar aquellas
conexiones no significativas
EL ALGORITMO
1- Construimos la red, y optimizamos el numero de
nodos en la capa oculta
2- Entrenamos la red varias (o muchas) veces,
iniciando los pesos aleatoriamente (y los
guardamos)
3- Seleccionamos la red con la configuración
inicial de pesos que produce el menor MSE
4- Guardamos los pesos finales. Estos serán
nuestros pesos observados
5- Aleatorizamos el objetivo (la variable
dependiente)
6- Entrenamos la red considerando el objetivo
aleatorizado, y los pesos iniciales del punto 3.
7- Guardamos los pesos finales. Estos serán
nuestros pesos remuestreados
8- Repetimos los pasos 5 al 8, muu()uuchas
veces (999 por lo menos)
? De este modo generamos las distribuciones nulas
empiricas de los pesos, para poner a prueba su
significancia estadistica
32VII Otras técnicas
1 - Cascada de correlación (CCN Casacade
Correlation Networks)
? El entrenamiento y la optimización de la red
(i.e. determinar el de nodos ocultos) son
simultaneos
h3
? Cada nodo oculto es agregado de modo que la
covarianza entre su salida y el error de la red
sea maxima
? Estas redes aprenden mas rápido que los PMC
? Mas eficientes para problemas de clasificación
? USOS
Aproximación de funciones
Clasificación de patrones
332 - Redes recurrentes (RN Recurrent Networks)
? Redes especielamente adecuadas para modelar
series de tiempo
NARX
xt
xt
h1
h1
. . . .
. . . .
yt
yt
h2
h2
xt-k
xt-k
lag
Xt-1
h1
. . . . .
Xt
h2
Xt-k
Layer-recurrent networks
c1
t-1
c2
343 - Mapa de Kohonen (SOM, Kohonen Self Organized
Map)
Datos
? Los SOM son una familia de métodos no lineales
de ENTRENAMIENTO NO SUPERVISADO
Red Neuronal
Patron
Input(s)
? Busca agrupar los casos/objetos/ejemplos en un
espacio de 2 dimensiones, sobre la base de su
similitud/distancia en un espacio n dimensional
Ajusto los pesos
? USOS
RNA
Clasificación / Ordenación
Reconocimiento de patrones
353 - Mapa de Kohonen (SOM, Kohonen Self Organized
Map)
1) Iniciamos los pesos, tomando observaciones al
azar
2) Presentamos a la red un ejemplo de
entrenamiento, tomado al azar
3) Calculamos la distancia entre X(t) y cada uno
de los nodos output
xi(t) es el componente i del vector de entrada
en la epoca (t)
Wij(t) es el peso de la conexión entre el nodo
input i y el nodo output j en la epoca t
4) Seleccionamos el nodo que tenga la menor Dj(t)
5) Actualizamos los pesos en la vecindad
topológica actual NEj(t),del nodo ganador de
acuerdo a
?(t) es la tasa de aprendizaje o ganancia
NEj(t) y ?(t) son una función decreciente de la
época
6) Incrementamos t
7) Nos detenemos cuando t tmax o cuando los
pesos dejan de cambiar
364 - Redes con funciones de base radial (RBFN,
Radial Basis Function Networks)
? Se basan en la idea de que una funcion
arbitraria y(x) puede ser aproximada por una
superposicion de funciones de base localizadas
F(x), en general gaussianas
? Su entrenamiento es hÃbrido, con una fase no
supervisada (capa oculta) y una supervisada (capa
de salida)
x
y(x)
? Estas redes aprenden mucho mas rapido que los
PMC, con un numero limitado de inputs
? Los parámetros de los nodos ocultos, pueden
interpretarse
? USOS
Aproximación de funciones
Estimación de Densidad
Aproximación de funciones
Clasificación de patrones