OPORTO - Guía de Viajes de Oporto - Oporto Ando · OPORTO - Guía de Viajes de Oporto - Oporto Ando
1/37 Redes Neuronales INTRODUCCION A TECNICAS DE MINERIA DE DATOS Mg. Samuel Oporto DíazLima, 28 de...
-
Upload
olalla-rosas -
Category
Documents
-
view
26 -
download
0
Transcript of 1/37 Redes Neuronales INTRODUCCION A TECNICAS DE MINERIA DE DATOS Mg. Samuel Oporto DíazLima, 28 de...
11 /37/37
Redes Neuronales
INTRODUCCION A TECNICAS DE MINERIA DE DATOS
Mg. Samuel Oporto Díaz Lima, 28 de Diciembre 2005
22 /37/37
Tabla de Contenido1. Neuronas Artificiales
2. Análisis de las Redes Neuronales
33 /37/37
NEURONAS ARTIFICIALES
Redes NeuronalesRedes NeuronalesRedes NeuronalesRedes Neuronales
44 /37/37
Redes Neuronales• Modelo matemático inspirados en el funcionamientos de
las neuronas biológicas.
• Aprendizaje basado en la experiencia.
• Compuesta por unidades de procesamiento (neuronas)
• Las unidades están ligadas por conexiones (sinapsis)
• Modela funciones complejas y no-lineales.
• Herramienta matemática, similar al análisis estadístico.
• Apoyada por computadoras de alta velocidad.
55 /37/37
Neuronas Artificiales
• Súper-simplificación• Analogía Metafórica• Sorprendente poder de
cómputo
66 /37/37
Características• El estilo de procesamiento como el de procesamiento de señales,
no simbólico. No hay instrucciones.• La información se almacena en un conjunto de pesos, no en un
programa. Los pesos se adaptan.• Tolerantes a ruido: pequeños cambios en la entrada no afecta
drásticamente la salida de la red.• La memoria se trata como patrones de actividad almacenada en
toda la red y no como el contenido de pequeños grupos de celdas de memoria.
• La red puede generalizar el conjunto de entrenamiento y así tratar con ejemplos no conocidos.
• Son buenas para tareas perceptuales y asociaciones. Difícil para la computación tradicional.
77 /37/37
TIPOS DE REDES NEURONALES
88 /37/37
Redes Neuronales Artificiales• Interconexión entre neuronas
– Decide flujo de información en red– Total
• genera lazos en flujo de datos• redes recurrentes
– Parcial• en capas: entrada, internas, salida• Recurrente: contiene lazos• Feedforward: no contiene lazos
• Junto con pesos y funciones de salida de cada neurona definen comportamiento global de la red
• Se debe definir la forma de actualización de estados de cada neurona en la red– secuencial, asíncrono, sincrónico– especialmente importante en redes recurrentes o con
dinámica temporal
uy
99 /37/37
Perceptron• Perceptron
– Separa espacio con hiperplano– y = f ( w1 u1 + w2 u2 + ... + wn un ),– f(s) = { 1 si s0, 0 si s<0 }– Puede incluir offset w0.
– Importante históricamente• estudiado muy detalladamente (Minsky y Papert ‘69)
– Es un clasificador lineal en 2 clases.• bueno si patrones linealmente separables• XOR problem
– Análogo a clasificador de Bayes gaussiano.• minimiza probabilidad de error• clasificador denominado paramétrico
wt.u=0
u1
u2
1010 /37/37
Perceptron
1111 /37/37
Perceptron
1212 /37/37
Adaline• Adaptive Linear Element• Estructura:
– Como un Perceptron pero con función lineal a la salida.
• Permite trabajar con problemas mas generales
– Widrow y Hoff propusieron un método más eficiente computacionalmente denominado LMS para determinar parámetros del Adaline (1962).
• similar a aplicar gradiente descendente
• muy intuitivo
ippip
ppp
n
iii
xytw
ytE
wxwy
2
01
21
y=0
1313 /37/37
ADALINE
1414 /37/37
ADALINE
1515 /37/37
Perceptron Multicapa• Representación ordenada
– Werbos (1972)
– Red lineal
– Activaciones dependen:• entradas• activaciones de neuronas
precedentes
– Derivadas ordenadas backpropagation
1
2
3
4
57
6Wij
1 Wij2
u1
u2
y1
y2
Wij3
u1
u2
y1
y21 2 3 4 5 6 7
i
i
j
ni
kkikjijii uwxwfx
1
1 1
0
1616 /37/37
Perceptron Multicapa
w11=1 w12=1w21=1 w22=1
w31=1 w32=-1.5b1=0.5 b2=1.5 b3=0.5
1717 /37/37
Retropropagación• Procedimiento para encontrar el vector gradiente de una
función error asociada a la salida de la red con respecto a los parámetros de la misma
• El nombre backpropagation surge pues el cálculo se hace en el sentido inverso de la red, propagándose desde los nodos de salida hacia los nodos de entrada
• Esto permite poder aplicar a posteriori alguno de los muchos métodos de optimización con gradiente para obtener el comportamiento deseado de la red
1818 /37/37
Retropropagación
f()
entradasPesos
k = capa
sumatoria
constanteb
función detransferenciaresultado
net =ok(n)salida
calculadayk(n)
x1(n)wk1 (n)
x2(n)
x3(n)
wk2 (n)
wk3 (n)ek(n) = dk(n) – yk(n)
salidadeseadadk(n)
ek(n)
1919 /37/37
Función de transferencia
Funciones de transferenciacompet
Competitive transfer function. hardlim
Hard limit transfer function. hardlims
Symmetric hard limit transfer function logsig
Log sigmoid transfer function. poslin
Positive linear transfer function purelin
Linear transfer function. radbas
Radial basis transfer function. satlin
Saturating linear transfer function. satlins
Symmetric saturating linear transfer function softmax
Soft max transfer function. tansig
Hyperbolic tangent sigmoid transfer function. tribas
Triangular basis transfer function.
2121 /37/37
Aprendizajeentrada neta a i
j i
salida de i
error de la salida k
error total
regla de aprendizaje
η: velocidad de aprendizaje
2222 /37/37
Regla de Aprendizaje
Si j es una unidad de salida
Si no
2323 /37/37
ANALISIS DE LAS ANN
2424 /37/37
Propiedades: Mapeo Universal• Pregunta:
– Qué tipo de funciones puedo representar con una ANN?
• La idea se remonta al problema #13 de Hilbert (1900).– Representar función de N variables como combinación lineal de
funciones en una variable (bajar dimensionalidad del problema)
• Respuesta:
– Puedo representar el conjunto de funciones “suaves”.– Hay varias pruebas para diferentes arquitecturas– Kolgomorov (1957)– Cybenko (1960)– Hornik (1989)– Chen (1991)
2525 /37/37
Propiedades: Mapeo Universal• Idea:
– Usando red con 2 capas ocultas es posible crear funciones tipo localizadas que combinadas pueden formar cualquier función “suave”
• Prueba intuitiva:– Fácil de ver en R2 R.– Red: y = ANN (x1,x2)
• Paso 1:– Que mapeo obtengo con una sola
neurona?• y = logsig(.x1)
• y = logsig(.x2)
2626 /37/37
Propiedades: Mapeo Universal• Paso 2:
– Uso Perceptron Multicapa
– Puedo lograr “pico” en cualquier valor de x1 con red de 1 sola capa oculta• el ancho del pico depende del
valor de b.
– Puedo hacer lo mismo con x2.
x1
1
y
b
b
b-b
1
1-1
2727 /37/37
Propiedades: Mapeo Universal• Paso 3:
– Agrupo redes en cada entrada en una sola red para combinar picos en x1 y x2.
– Ajustando parámetros puedo obtener un pico bien definido centrado en cualquier punto de R2.
x1
1y
b
b
b-b
1
1
-2
x2
1
b
b
b-b
1
1
2828 /37/37
Propiedades: Mapeo Universal• Paso 4:
– Agregando una capa adicional• 2 capas ocultas
– Combinando estos picos se puede aproximar cualquier función de R2 R con el grado de error que desee.
x1
1
a
b1c1
-a 1
1
-2
x2
1
a
d1e1
-a 1
1
x1
1
a
bncn
-a 1
1
-2
x2
1
a
dnen
-a 1
1
y
f1
fn
2929 /37/37
Teorema de Kolmogorov• Dada cualquier función continua f: [0 1] n R m, y = f(x), f puede ser
implementada exactamente por una red neuronal de tres capas sin retroalimentación que tiene una capa de entrada de n elementos que unicamente copian las entradas a la siguiente capa, (2n + 1) elementos de procesamiento en la capa intermedia y me elementos de procesamiento en la capa de salida
3030 /37/37
Mapeo no lineal• Una red de retropropagación intenta encontrar un mapeo no lineal
entre el espacio de entradas de n dimensiones y el espacio de salida de m dimensiones. Este mapeo se induce a través de patrones de entrenamiento que son puntos correspondientes en los espacios de entrada y salida.
y1
y3y2
y4
x1
x3
x2
x4
3131 /37/37
Sobreajuste y subajuste• La red de retropropagación es en cierta medida un método de
ajuste de curvas. La red ya entrenada implementa un mapeo no lineal entre el espacio de entradas y salidas de manera que entradas cercanas entre sí producen salidas cercanas, por lo tanto una ANN es interpolativa.
3232 /37/37
Subajuste
La red produce un mapeo mas sencillo de lo que se requiere para implementar la relación entrada/salidaSintoma. Error alto.Solución. Aumentar los ciclos de entrenamiento, más neuronas capa intermedia, más capas
3333 /37/37
Sobreajuste
La red produce un mapeo más complicado de lo que se requiere para implementar la relación entrada/salida.Sintoma. Error ante patrones de entrenamiento pequeño y error ante patrones de prueba alto.Solución. Menos ciclos de entrenamiento, menos capas, menos neuronas
3434 /37/37
Epoca• Pasar varias veces los patrones de entrada a la red.
3535 /37/37
Offset de f’• Las funciones de transferencia sigmoidal o tangente hiperbólica se
pueden saturar, se saturan cuando los valores absolutos de sus entradas son grandes. Dado que la derivada participa en la regla de aprendizaje, puede suceder que ya no aprendan.
Normalización de datos
3636 /37/37
PREGUNTAS
3838 /37/37
APRENDIZAJE ARTIFICIAL
PARTE III
3939 /37/37
Aprendizaje SupervisadoPor Corrección de Error
x (n)
Synapticweights
Summingfunction
ActivationfunctionLocal
Field
vk(n)Output
yk(n)
x1(n)wk1 (n)
)(
x2(n)
x3(n)
wk2 (n)
wk3 (n) ek(n) = dk(n) – yk(n)
4040 /37/37Error(n) = y(n) - Y(n)Error(n) = y(n) - Y(n)
x1
x2
v11
m1 = x1 . v11 + x2 . v21
v12
v13
w11
w21
w31
m1
m2
m3
n1
n2
n3
v21
v22
v23
Y
Y = f(n1w11 + n2w21 + n3w31)
n1 = f ( m1)
Pesos o Coeficientes Vij , Wij
A.S. Por Corrección de Error ∂ J = (Y1- y1 ) ∂Y1 / ∂V11 + (Y2 - y2 ) ∂Y2 / ∂V11 + …. ∂ V11
∂ Y = W11 ∂n1 / ∂V11+ W21 ∂n2 / ∂V11+ W31 ∂n3 / ∂V11 ∂ V11
∂ n1 = ∂ n1 ∂ m1 = ∂ n1 x1∂ V11 ∂ m1 ∂ V11 ∂ m11
Si n es SIGMOIDEA : n = ( 1+ e –m) –1
∂ n = - ( 1+ e –m ) -2 e -m (-1) = n (1 – n ) ∂ m
∂ Y = W11 n ( 1 – n ) X1 ∂ V11
∂ J = (Y1-y1 ) W11 n11 (1- n11) X11 + (Y2 - y2 ) W11 n12 (1- n12) X12 + …. ∂ V11
4141 /37/37
Dados Iniciales = Experiencia de la RN
A.S. Por Corrección de Error
w11 w21 w31k x1 x2 y Y m1 n1 m2 n2 m3 n3 y - Y 1 x11 x21 y1 Y1 m11 n11 m21 n21 m31 n312 x12 x22 y2 Y2 m12 n12 m22 n22 m32 n323 x13 x23 y3 Y3 m13 n13 m23 n23 m33 n33...N
4242 /37/37
: Umbral de aprendizaje que regula la velocidad
de precisión (0 < <= 1)
Yi : Salida del i-esimo Nodo
Yj : Salida del j-esimo Nodo
dj : Valor de salida deseado de la j-esima unidad de procesamiento
) ( YjdjYiwij
A.S. Por Corrección de Error
4343 /37/37
El aprendizaje consiste en mejorar los coeficientes de la red hasta minimizar la FUNCION DE ERROR dada por
J = Σ 1 / 2 (Yk - y k ) 2
A.S. Por Corrección de Error
Wij = Wij - η ∂ J
∂Wij Ratio de Aprendizaje
4444 /37/37
Algoritmo BackPropagation
Camada de Saída
Camada de Entrada
Camada Escondida
+1
+1
Patrones
Patrones
ej(n) = dj(n) - yj(n)ej(n) = dj(n) - yj(n)
4545 /37/37
Algoritmo BackPropagation (W)
En Particular : W11 = W11 - η ∂ J
∂W11
∂ J = (Y1-y1 ) ∂Y1 / ∂W11 + (Y2 - y2 ) ∂Y2 / ∂W11 + ….
∂ W11
= (Y1 - y1 ) n11 + (Y2 - y2 ) n12 + …. En General : ∂ J = Σ(Yk - yk ) njk
∂ Wj1
4646 /37/37
Algoritmo BackPropagation (V)
En Particular : V11 = V11 - η ∂ J ∂V11
∂ J = (Y1- y1 ) ∂Y1 / ∂V11 + (Y2 - y2 ) ∂Y2 / ∂V11 + …. ∂ V11
∂ Y = W11 ∂n1 / ∂V11+ W21 ∂n2 / ∂V11+ W31 ∂n3 / ∂V11 ∂ V11
∂ n1 = ∂ n1 ∂ m1 = ∂ n1 x1∂ V11 ∂ m1 ∂ V11 ∂ m11 Si n es SIGMOIDEA : n = ( 1+ e –m) –1
∂ n = - ( 1+ e –m ) -2 e -m (-1) = n (1 – n ) ∂ m
∂ Y = W11 n ( 1 – n ) X1 ∂ V11
∂ J = (Y1-y1 ) W11 n11 (1- n11) X11 + (Y2 - y2 ) W11 n12 (1- n12) X12 + …. ∂ V11
4747 /37/37
Algoritmo BackPropagation
∂ J .
∂ V11= Error Retropropagado Entrada Correspondiente*
REGLA DELTA :
= Error * Peso * f ’ X1*
= (Y1 – y1) * W11 * n1 (1 –n1) X1*
4848 /37/37
x1
x2
w11m1
m2
n1
n2
Ejemplo
w12
w21
w22
u11
u12
u21
u22
y1
y2
W11 = W11 + η (y1 - ÿ1) n1 W12 = W12 + η (y2 - ÿ2) n2
U11 = U11 + η [ (y1 - ÿ1) W11 + (y2 - ÿ2) W12 ] * n1(1-n1) * x1
4949 /37/37
x1
x2
v11
v12
w11m1
m2
n1
n2
v21
v22
Ejercicios
w12
w21
w22
u11
u12
u21
u22
p1
p2
q1
q2
y1
y2
U12 = U12 + η [ error * peso * f’ ] * x1
U12 = U12 + η [ ( (y1-ÿ1) W11 + (y2-ÿ2) W12 )* q1(1-q1) * V21 +
( (y1-ÿ1) W21 + (y2-ÿ2) W22 )* q2(1-q2) * V22 ] n2 (1-n2) * x1