Upload
lupe-villegas
View
12
Download
0
Embed Size (px)
Citation preview
11 /37/37
Redes Neuronales de Retropropagación
REDES NEURONALES PARA MODELOS DE CLASIFICACION
Mg. Samuel Oporto Díaz
22 /37/37
Tabla de Contenido1. Neuronas Artificiales
2. Análisis de las Redes Neuronales
33 /37/37
PERCEPTRON MULTICAPA
44 /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
55 /37/37
Perceptron Multicapa
w11=1 w12=1w21=1 w22=1
w31=1 w32=-1.5b1=0.5 b2=1.5 b3=0.5
66 /37/37
RED DE RETROPROPAGACION
77 /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
88 /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)
99 /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.
1111 /37/37
Aprendizajeentrada neta a i
j i
salida de i
error de la salida k
error total
regla de aprendizaje
η: velocidad de aprendizaje
1212 /37/37
Regla de Aprendizaje
Si j es una unidad de salida
Si no
1313 /37/37
ANALISIS DE LAS ANN
1414 /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)
1515 /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)
1616 /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
1717 /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
1818 /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
1919 /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
2020 /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
2121 /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.
2222 /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
2323 /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
2424 /37/37
Epoca• Pasar varias veces los patrones de entrada a la red.
2525 /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
2626 /37/37
EFECTIVIDAD DEL CLASIFICADOR
2727 /37/37
Validación Cruzada de k-conjuntos
característicascaracterísticascaracterísticas
. . . . . .
Entrenamiento
eficacia 1
Promedio
eficacia 2
eficacia 3
eficacia K
Experimento 1
Experimento 2
Experimento 3
Experimento K
total de ejemplos
prueba entrenamiento
2828 /37/37
PREGUNTAS
3030 /37/37
APRENDIZAJE ARTIFICIAL
PARTE III
3131 /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)
3232 /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
3333 /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
3434 /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
3535 /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
3636 /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)
3737 /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
3838 /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
3939 /37/37
Algoritmo BackPropagation
∂ J .
∂ V11= Error Retropropagado Entrada Correspondiente*
REGLA DELTA :
= Error * Peso * f ’ X1*
= (Y1 – y1) * W11 * n1 (1 –n1) X1*
4040 /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
4141 /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