Document

Anuncio
Redes Neuronales Artificiales
Perceptrón
Redes Neuronales Artificiales
Definición. Es una red neuronal feedforward que
consta de dos capas, una de entrada y una de
salida.
2
Separabilidad de patrones
Redes Neuronales Artificiales
Función AND (linealmente separable)
01
11
00
10
3
Redes Neuronales Artificiales
Separabilidad de patrones
OR
XOR
4
Separabilidad de patrones
Función XOR. No es posible obtener una recta que
separe las dos clases.
Redes Neuronales Artificiales
01
00
11
10
5
Redes Neuronales Artificiales
Patrones de entrenamiento
Un patrón es una pareja de vectores X y Y de
longitud n y m respectivamente:
X = (x1, x2, x3, .. , xn)
Y= (y1, y2, y3, .. , ym)
donde xi corresponde a un valor para la neurona de
entrada i y yj es el valor deseado de la neurona de
salida j.
6
Redes Neuronales Artificiales
El Perceptrón
Aprendizaje
1. Inicialización aleatoria de los pesos (wi) y del
umbral (a).
2. Tomar un patrón de entrada
Xp=(x1,x2,...,xn, d(t)) d(t) es la salida deseada
3. Cálcular la salida actual yi
yi =f [Σwixi - a]
f función de activación
4. Adaptación de los pesos :
wi+1=wi + ∆wi
∆wi = η[di - yi] xi
η es la tasa de aprendizaje
5.
Repetir desde el paso 2.
7
El Perceptrón
x0
Redes Neuronales Artificiales
x1
1.5
0.5
1.5
x2
Σ
1
0
8
Redes Neuronales Artificiales
El Perceptrón
Ejemplo
Patrones dados:
00 0
01 1
10 1
11 1
Ajuste de pesos de las conexiones de una red que
debe realizar la función OR.
1.
Valores elegidos aleatoriamente:
w0=1.5,
w1=0.5 w2=1.5 a=0
9
El Perceptrón
Ejemplo
Redes Neuronales Artificiales
2. Se toman cada uno de los patrones de entrada y se
aplica el método:
2.1. Patrón de entrada 00, d=0
Entradas: x1=0; x2=0; x0=1
Pesos:
w1=0.5; w2=1.5; w0=1.5
sum i= 1*1.5 +0*0.5+0*1.5 = 1.5
Salida producida yi : 1 ( sumi >= 0)
Error: (deseada-obtenida)= 0-1= -1
10
El Perceptrón
Ejemplo
Redes Neuronales Artificiales
Nuevos pesos:
w1 = 0.5 + (-1)*0 = 0.5
w2 = 1.5 + (-1)*0 = 1.5
w0 = 1.5 + (-1)*1 = 0.5
11
El Perceptrón
Ejemplo
Redes Neuronales Artificiales
2.2.
Patrón de entrada 01, d=1
Entradas: x1=0; x2=1; x0=1
Pesos:
w1 = 0.5; w2 = 1.5; w0 = 0.5
sum i = 1*0.5 + 0*0.5 + 1*1.5 = 2
Salida producida : 1
Error : (deseada-obtenida)= 1-1 = 0
Los pesos no se modifican
12
El Perceptrón
Ejemplo
Redes Neuronales Artificiales
2.3.
Patrón de entrada 10, d=1
Entradas: x1=1; x2=0; x0=1
Pesos:
w1 = 0.5; w2 = 1.5; w0 = 0.5
sum i = 1*0.5 + 1*0.5 + 0*1.5 = 1
Salida producida : 1
Error : (deseada-obtenida)= 1-1 = 0
Los pesos no se modifican
13
El Perceptrón
Ejemplo
Redes Neuronales Artificiales
2.4. Para el patrón 11 1, la salida obtenida es igual
a la deseada, por tanto no varían los pesos. Si no
fuese así se aplica la corrección.
Como existió un patrón de entrada (00 0) en que el
error no es cero, se realiza de nuevo el proceso.
14
Redes Neuronales Artificiales
El Perceptrón
3. Se toman de nuevo los cuatro patrones de
entrada:
3.1 Patrón de entrada 00, d=0
Entradas: x1=0; x2=0; x0=1
Pesos:
w1=0.5; w2=1.5; w0=0.5
sum i: 1*0.5 +0*0.5+0*1.5 = 0.5
Salida producida = 1
Error = -1
15
Redes Neuronales Artificiales
El Perceptrón
Nuevos pesos:
w1 = 0.5+(-1)*0 = 0.5
w2 = 1.5+(-1)*0 = 1.5
w0 = 0.5+(-1)*1 = -0.5
3.2. Patrón de entrada 01, d=1
Entradas: x1=0; x2=1; x0=1
Pesos:
w1=0.5; w2=1.5; w0(t)= -0.5
sum i = 0*0.5+1*1.5+1*-0.5 =1
Salida producida = 1
Error = 0
No se modifican los pesos
3.3. Para las entradas restantes 10 y 11, los pesos
no varían.
Existe aún una entrada con error distinto de cero.
16
Redes Neuronales Artificiales
El Perceptrón
4. Se toman de nuevo los cuatro patrones de
entrada:
4.1 Patrón de entrada 00, d=0
Entradas: x1=0;x2=0; x0=1
Pesos:
w1=0.5; w2=1.5; w0= -0.5
sum i = 0*0.5+0*1.5+1*-0.5= -0.5
Salida producida = 0
Error = 0
No se varían los pesos
17
El Perceptrón
Redes Neuronales Artificiales
4.2
Patrón de entrada 01, d=0
Entradas: x1=0;x2=1; x0=1
Pesos:
w1=0.5; w2=1.5; w0= -0.5
sum i = 0*0.5+1*1.5+1*-0.5= -0.5
Salida producida = 1
Error = 0
No se varían los pesos
4.3. Al no variar los pesos en los otros patrones, el
error cometido es cero.
Con estos pesos, al calcular la salida para cualquiera
de los cuatro patrones no se obtiene error, luego la
etapa de aprendizaje concluye.
18
Redes Neuronales Artificiales
El Perceptrón
x1
y1
x2
y2
.
.
xm
.
.
yn
19
El Perceptrón
La salida depende de los pesos (W) y los umbrales
(a).
Redes Neuronales Artificiales
Los umbrales a pueden ser un W0 con entrada 1.
Busca minimizar el error producido por las salidas
obtenidas t1, t2,...,tm, con respecto a las esperadas y1,
y2, ..., ym para unas entradas dadas x1, ..., xn
El entrenar un perceptrón es reducir el error en los
pesos. Por tanto, el espacio de búsqueda tiene una
dimensión igual al número de conexiones.
20
El Perceptrón
Regla de Aprendizaje
Q
Redes Neuronales Artificiales
Q
Q
1. Inicializar los pesos y el umbral:
– Se asignan valores aleatorios a los pesos (wi)
de las conexiones y al umbral (a).
2. Presentar nuevo par (entrada, salida
esperada):
– Entrada Xp=(x1,x2,...,xN), salida esperada d(t).
3. Cálculo de la salida actual
– y(t)=f [Σwi(t)xi(t)]
Q f (x) = función de transferencia (Escalón).
21
Redes Neuronales Artificiales
El Perceptrón
La función de error es la función cuadrática medio.
Para la neurona de salida i el error cuadrático es:
ei = (di – yi)2 / 2
Donde di es: ∑j wij xj
ó
f(∑j wij xj) si no es lineal
Expresado en términos de pesos:
ei = (∑j wij xj – yi)2 / 2
ei = (f(∑j wij xj)– yi)2 / 2 no lineal
22
El Perceptrón
Aplicando técnica de gradiente
(∑j wij xj – yi)x1
Redes Neuronales Artificiales
(∑j wij xj – yi)x2
∇ei =
.
.
.
(∑j wij xj – yi)xn
lineal
.
.
.
f’(wi1)( ∑j wij xj)(f(wij xj)– yi)
∇ei f’(wi2)( ∑j wij xj)(f(wij xj)– yi)
.
.
.
f’(win)( ∑j wij xj)(f(wij xj)– yi)
No lineal
23
El Perceptrón
(di– yi)x1
(di– yi)x2
∇ei =
.
.
.
Redes Neuronales Artificiales
(di– yi)xn
lineal
(f’(wi1)( ∑j wij xj))(di -yi)
∇ei = (f’(wi2)( ∑j wij xj))(di -yi)
.
.
.
(f’(win)( ∑j wij xj))(di -yi)
No lineal
24
El Perceptrón
4. Adaptación de los pesos :
Redes Neuronales Artificiales
∆wij(t)=η[d(t)-y(t)] xi(t)
(0<=i<=N)
donde η es la tasa de aprendizaje y varia entre 0 y 1.
wij (t+1) =w ij(t) - η[di (t)-yi (t)] xj(t)
5. Repertir desde el paso 2.
25
Redes Neuronales Artificiales
El Perceptrón
Ejemplo
Sean los patrones:
[ 1 1 0
1 ]
[ 1 0 1
1 ]
[ 0 1 1
1 ]
[ 0 1 0
0 ]
[ 1 0 0
0 ]
[ 0 0 1
0 ]
26
El Perceptrón
Ejemplo
Umbral a= 0.5, µ=.5 (t aprendizaje
Pesos iniciales: W01=.5, W11=1, W21=0, W31=.8
Redes Neuronales Artificiales
Patrón 1:
X1=1; X2=1; X3=0, X0=1, Sd=1
Y = 1*.5 + 1*1 + 1*0 + 0*.8 = 1.5 > .5, Y=1
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
27
El Perceptrón
Ejemplo
Pesos : W01=.5, W11=1, W21=0, W31=.8
Patrón 2:
X1=1; X2=0; X3=1, X0=1, Sd=1
Redes Neuronales Artificiales
Y = 1*.5 + 1*1 + 0*0 + 1*.8 = 2.3 > .5, Y=1
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
28
El Perceptrón
Ejemplo
Pesos : W01=.5, W11=1, W21=0, W31=.8
Patrón 3:
X1=0; X2=1; X3=1, X0=1, Sd=1
Y = 1*.5 + 0*1 + 1*0 + 1*.8 = 1.3 > .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
29
El Perceptrón
Ejemplo
Pesos : W01=.5, W11=1, W21=0, W31=.8
Patrón 4: X1=0; X2=1; X3=0, X0=1, Sd=0
Y = 1*.5 + 0*1 + 1*0 + 0*.8 = .5 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W01=.5-.5(-1)1=1
W11=1-.5(-1)0=1
W21=0-.5(-1)1=.5
W31=.8-.5(-1)0=.8
30
El Perceptrón
Ejemplo
Pesos : W01= 1, W11=1, W21=.5, W31=.8
Patrón 5: X1=1; X2=0; X3=0, X0=1, Sd=0
Y = 1*1 + 1*1 + 0*.5 + 0*.8 = 2 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W01=1-.5(-1)1=1.5
W11=1-.5(-1)1=1.5
W21=.5-.5(-1)0=.5
W31=.8-.5(-1)0=.8
31
El Perceptrón
Ejemplo
Pesos : W01= 1.5, W11=1.5, W21=.5, W31=.8
Patrón 6: X1=0; X2=0; X3=1, X0=1, Sd=0
Y = 1*1.5 + 0*1 + 0*.5 + 1*.8 = 2.3 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W01=1.5-.5(-1)1=2
W11=1.5-.5(-1)0=1.5
W21=.5-.5(-1)0=.5
W31=.8-.5(-1)1=1.3
32
El Perceptrón
Ejemplo
En el ciclo de los patrones existió un error, por
tanto, se requiere volver a mirar todos los patrones
con los nuevos pesos.
Redes Neuronales Artificiales
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3
Patrón 1:
X1=1; X2=1; X3=0, X0=1, Sd=1
Y = 1*2 + 1*1.5 + 1*.5 + 0*1.3 = 4 >= .5, Y=1
Error = Sd - Y = 1 - 1 = 0
NO hay que ajustar pesos
33
El Perceptrón
Ejemplo
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3
Patrón 2: X1=1; X2=0; X3=1, X0=1, Sd=1
Y = 1*2 + 1*1.5 + 0*.5 + 1*1.3 = 4.8 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
NO hay que ajustar pesos
34
El Perceptrón
Ejemplo
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3
Patrón 3: X1=0; X2=1; X3=1, X0=1, Sd=1
Y = 1*2 + 0*1.5 + 1*.5 + 1*1.3 = 3.8 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
NO hay que ajustar pesos
35
El Perceptrón
Ejemplo
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3
Patrón 4: X1=0; X2=1; X3=0, X0=1, Sd=0
Y = 1*2 + 0*1.5 + 1*.5 + 0*1.3 = 2.5 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W01=2-.5(-1)1=2.5
W11=1.5-.5(-1)0=1.5
W21=.5-.5(-1)1=1
W31=1.3-.5(-1)0=1.3
36
El Perceptrón
Ejemplo
Pesos : W01= 2.5, W11=1.5, W21=1, W31=1.3
Patrón 5: X1=1; X2=0; X3=0, X0=1, Sd=0
Y = 1*2 + 1*1.5 + 0*.5 + 0*1.3 = 3.5 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W01=2.5-.5(-1)1=3
W11=1.5-.5(-1)1=2
W21=1-.5(-1)0=1
W31=1.3-.5(-1)0=1.3
37
El Perceptrón
Ejemplo
Pesos : W01= 3, W11=2, W21=1, W31=1.3
Patrón 6: X1=0; X2=0; X3=1, X0=1, Sd=0
Y = 1*2 + 0*1.5 + 0*.5 + 1*1.3 = 3.3 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W01=3-.5(-1)1=3.5
W11=2-.5(-1)0=2
W21=1-.5(-1)0=1
W31=1.3-.5(-1)1=1.8
38
Nuevamente existe error diferente de 0
Q Hay que volver a repasar por todos los
patrones hasta que todos posean error=0
Redes Neuronales Artificiales
Q
Se puede visualizar que la red no converge.
Q ¿Qué sucede sin X0?
Q
39
El Perceptrón
Ejemplo
Umbral a= 0.5, µ=.5 (t aprendizaje
Pesos iniciales: W11=1, W21=0, W31=.8
Redes Neuronales Artificiales
Patrón 1: X1=1; X2=1; X3=0, Sd=1
Y = 1*1 + 1*0 + 0*.8 = 1 > .5, Y=1
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
40
El Perceptrón
Ejemplo
Pesos : W11=1, W21=0, W31=.8
Patrón 2: X1=1; X2=0; X3=1, Sd=1
Y = 1*1 + 0*0 + 1*.8 = 1.8 > .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
41
El Perceptrón
Ejemplo
Pesos : W11=1, W21=0, W31=.8
Patrón 3: X1=0; X2=1; X3=1, Sd=1
Y = 0*1 + 1*0 + 1*.8 = .8 > .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
42
El Perceptrón
Ejemplo
Pesos : W11=1, W21=0, W31=.8
Patrón 4: X1=0; X2=1; X3=0, Sd=0
Y = 0*1 + 1*0 + 0*.8 = 0 >= .5, Y=0
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 0 = 0
No hay cambio de pesos
43
El Perceptrón
Ejemplo
Pesos : W11=1, W21=0, W31=.8
Patrón 5: X1=1; X2=0; X3=0, Sd=0
Y = 1*1 + 0*0 + 0*.8 = 1 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W11=1-.5(-1)1=1.5
W21=0-.5(-1)0= 0
W31=.8-.5(-1)0=.8
44
El Perceptrón
Ejemplo
Pesos : W11=1.5, W21=0, W31=.8
Patrón 6: X1=0; X2=0; X3=1, Sd=0
Y = 0*1.5 + 0*0 + 1*.8 = .8 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W11=1.5-.5(-1)0=1.5
W21= 0 -.5(-1)0= 0
W31=.8-.5(-1)1=1.3
45
El Perceptrón
Ejemplo
En el ciclo de los patrones existió un error, por tanto,
se requiere volver a mirar todos los patrones con los
nuevos pesos.
Redes Neuronales Artificiales
Pesos : W11=1.5, W21=0, W31=1.3
Patrón 1: X1=1; X2=1; X3=0, Sd=1
Y = 1*1.5 + 1*0 + 0*1.3 = 1.5 >= .5, Y=1
Error = Sd - Y = 1 - 1 = 0
NO hay que ajustar pesos
46
El Perceptrón
Ejemplo
Pesos : W11=1.5, W21=0, W31=1.3
Patrón 2: X1=1; X2=0; X3=1, X0=1, Sd=1
Y = 1*1.5 + 0*0 + 1*1.3 = 2.8 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
NO hay que ajustar pesos
47
El Perceptrón
Ejemplo
Pesos : W11=1.5, W21=0, W31=1.3
Patrón 3: X1=0; X2=1; X3=1, Sd=1
Y = 0*1.5 + 1*0 + 1*1.3 = 1.3 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 1 - 1 = 0
NO hay que ajustar pesos
48
El Perceptrón
Ejemplo
Pesos : W11=1.5, W21=0, W31=1.3
Patrón 4: X1=0; X2=1; X3=0, Sd=0
Y = 0*1.5 + 1*0 + 0*1.3 = 0 < .5, Y=0
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 0 = 0
NO hay que ajustar pesos
49
El Perceptrón
Ejemplo
Pesos : W11=1.5, W21=0, W31=1.3
Patrón 5: X1=1; X2=0; X3=0, X0=1, Sd=0
Y = 1*1.5 + 0*0 + 0*1.3 = 1.5 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W11=1.5-.5(-1)1=2
W21=0-.5(-1)0=0
W31=1.3-.5(-1)0=1.3
50
El Perceptrón
Ejemplo
Pesos : W11=2, W21=0, W31=1.3
Patrón 6: X1=0; X2=0; X3=1, Sd=0
Y = 0*2 + 0*0 + 1*1.3 = 1.3 >= .5, Y=1
Redes Neuronales Artificiales
Error = Sd - Y = 0 - 1 = -1
Ajustar pesos:
W11=2-.5(-1)0=2
W21=0-.5(-1)0=0
W31=1.3-.5(-1)1=1.8
51
Nuevamente existe error diferente de 0
Q Hay que volver a repasar por todos los
patrones hasta que todos posean error=0
Redes Neuronales Artificiales
Q
Se puede visualizar que la red no converge.
Q ¿Hacemos otro ciclo?
Q ¿Se cambia el umbral?
Q
52
53
Redes Neuronales Artificiales
EL PERCEPTRON MULTICAPA
Redes Neuronales Artificiales
2ª capa
oculta
Salidas
Entradas
1ª capa
oculta
• Es la Red Neuronal más empleada y conocida
• Conocido un conjunto de patrones entrada/salida la red es capaz
de “aprender” mediante un algoritmo de entrenamiento
• El “conocimiento” está almacenado y distribuido en los pesos de
la red.
• Es una estructura de computación robusta ante fallos
54
Un ejemplo de aplicación
• PROBLEMA: Predicción de consumo eléctrico a corto plazo en un área
geográfica determinada
Redes Neuronales Artificiales
- Si infraestimamos la carga necesaria tendremos que comprar MW a otras
compañías a un precio elevado
- Si sobreestimamos la carga es posible que no podamos venderla (si el resto de
compañías predicen adecuadamente sus necesidades)
• Es un problema no lineal en el que intervienen factores climatológicos
(temperatura, humedad,...), estacionales y geográficos (horarios de trabajo y
ocio, uso de aire acondicionado y calefacción, etc.)
• Es un problema difícil de formular y solucionar mediante técnicas
convencionales, pero del que es sencillo disponer de un gran número de
datos entrada/salida
Red Neuronal
55
72 entradas
Redes Neuronales Artificiales
72 entradas
7 entradas
Solución con RNA
Carga ayer a la misma hora
Temperatura prevista para esa hora
M
Humedad prevista para esa hora
24 cargas del día anterior
24 temperaturas del día anterior
24 temp. previstas para el día actual
24 cargas mismo día sem. anterior
24 temp. mismo día sem. anterior
24 temp. previstas para el día actual
Módulo Horario
M
24 MLPs M
M
M
Carga H24
Combinador
Carga H1
Carga H2
M Carga H24
Carga H 1
Carga H2
Módulo Semanal
7 MLPs
M
Carga H24
Carga H1
Carga H 2
Módulo Diario
7 MLPs
Carga H 1
Carga H2
M
M
Carga H24
“Artificial Neural Network Short-Term Load Forecaster (ANNSTLF)”, propuesta por A. Khontanzad,
R. C. Hwang,A. Abaye, D. Martukalam, IEEE Trans on Power Systems, Aug. 1995; IEEE Trans
on Neural Networks, July 1997.
56
Aprendizaje/generalización
• En el problema la red no se limita a memorizar los
datos sobre los que ha sido entrenada
Redes Neuronales Artificiales
¡¡ LA RED NEURONAL ES CAPAZ DE
GENERALIZAR!!
• GENERALIZACION: La salida proporcionada por la
red es correcta (o al menos razonable) en puntos en
los que no ha sido entrenada.
• La generalización está relacionada con la suavidad
de la función a aproximar o modelar
57
Perceptrón generalizado
Redes Neuronales Artificiales
En
el
Perceptrón
Generalizado el cómputo que
ejecutan las neuronas de la
capa de salida es:
Mientras que las neuronas de
la capa escondida ejecutan:
58
Perceptrón generalizado
Redes Neuronales Artificiales
En las expresiones anteriores no se considera
explícitamente un umbral. Éste se incluye al patrón de
entrada con una componente adicional de valor 1 y
agregando en la capa intermedia una unidad adicional
con actividad constante de uno.
El algoritmo de aprendizaje en este tipo de redes es
supervisado, y provee de un método para ajustar los
pesos sinápticos de tal forma que la red sintetice la
correspondencia entre los pares de patrones (xk , ςk) en
el conjunto de patrones de entrenamiento.
59
O
O
Redes Neuronales Artificiales
O
O
O
Si la salida estimada es O y la salida correcta es T
entonces el error es:
Err = T - O
Si el error es positivo incrementamos O, si el error
es negativo decrementamos O
Cada unidad de entrada contribuye W j Ij a la
entrada total
Si Ij es positiva, un incremento en W j incrementará
O
Si Ij es negativa, un incremento en W j
decrementará O
60
O
Redes Neuronales Artificiales
O
W j ← W j + α x Ij x Err, α es una constante de
aprendizaje
Convergerá a un conjunto de pesos que representan
correctamente los ejemplos, si se trata de una función
linealmente separable
61
Redes Neuronales Artificiales
Algoritmo del perceptrón
function NNL (ejemplos) returns red
repeat
for each p de ejemplos do
O ← NNO(red,p)
T ← salida observada por valores de p
actualizar pesos en red basados en p, O y T
end
until todo ejemplo no posea error o criterio de parada
return red
El Perceptrón
O
O
Redes Neuronales Artificiales
O
O
Búsqueda gradiente descendiente en el espacio de
pesos
No hay mínimos locales
Si α no es muy grande (sobretiro) la búsqueda
convergerá a los pesos correctos
Atributos continuos
63
El Perceptrón
Frank Rosenblatt desarrolla una prueba de convergencia en
1962 y definió el rango de problemas para los que su
algoritmo aseguraba una solución. Además propuso a los
'Perceptrons' como herramienta computacional.
Redes Neuronales Artificiales
x1
x2
neurona
w1
w2
Σ
a F(a)
y = F(a)
y = 1, si (x1w1 + x2w2) ≥ θ
y = 0, si (x1w1 + x2w2) < θ
y
64
¿Qué tipo de problemas resuelve?
Q
Redes Neuronales Artificiales
Q
Un hiperplano es un objeto de dimensión n-1 que
actúa en un espacio de dimensión n.
En general un perceptron de n entradas puede
ejecutar cualquier función que esté determinada
por un hiperplano que corte un espacio de
dimensión n. ¿Implicaciones?
65
Funciones realizables
X1
0
0
1
1
X2
0
1
0
1
x2
Redes Neuronales Artificiales
1
0
(0,1)
Y
0
1
1
1
(1,1)
1
1
(0,0)
(1,0)
x1
¿Qué tipo de función no sería realizable?
66
Ecuación del hiperplano
n
∑w x
i =1
i i
=θ
wi x i + wi x i = θ
θ 
w 

x2 = −  1  x1 + 
 w2 
 w2 
x 2 = mx 1 + b
Si hacemos w1=1, w2=1 y theta=0.5, tenemos:
Redes Neuronales Artificiales
x2
1
0
(1,1)
(0,1)
1
(0,0)
aNotar que el vector
1
(1,0)
de pesos es
perpendicular al
hiperplano. Esta
característica se extiende
a dimensión n.
x1
67
Separabilidad lineal
Redes Neuronales Artificiales
El perceptron tiene la capacidad de clasificar vectores de entrada
dividiendo el espacio de entrada en dos regiones mediante una
hiperplano. Si el espacio de entrada no es separable de esta manera,
un perceptron no encontrará solución.
68
Entrenamiento: Ajuste del valor del valor de umbral como un ‘peso’ más.
wi x i + wi x i = θ
wi xi + wi xi − θ = 0
wi xi + wi xi + θ ( −1) = 0
Para entender mejor al procedimiento de entrenamiento, vamos
a introducir una representación vectorial.
W·X=0
(producto punto = qué tan alineados están)
Redes Neuronales Artificiales
W
W
W
X
W· X>0
X
W· X=0
Si W· X >= 0, y = 1;
X
W· X<0
Si W· X < 0, y = 0
¿Qué pasa si no obtenemos el resultado deseado?
Se requiere de un ajuste. ¿Cómo?, ¿De qué valor?
69
Si el resultado es 0 en lugar de 1:
αX
W
W’
donde 0< α <1
W’=W+ αX
X
Si el resultado es 1 en lugar de 0:
Redes Neuronales Artificiales
W’
αX
W
X
W’=W-αX
En resumen:
w’ = w + α(t-y)x
∆w = α(t-y)x
A esto se le llama la regla de aprendizaje Delta.
El parámetro α es la razón de aprendizaje.
70
Redes Neuronales Artificiales
Algoritmo de entrenamiento
del Perceptron
repetir
para cada par en los vectores de entrenamiento (x,t)
evaluar la salida yi cuando xi es la entrada al ...
perceptron
si y ≠ t, entonces
forme un nuevo vector de pesos w’ de acuerdo a...
la ecuación correspondiente
de otra manera,
no haga nada
Fin del si
fin del para
hasta que y = t para todos los vectores.
Los valores de los pesos para este caso están restringidos
entre -1 y 1.
71
Ejemplo
Redes Neuronales Artificiales
Q
Supongamos que un Perceptron de dos entradas tiene
pesos iniciales 0, 0.4 y umbral 0.3. Se requiere que este
Perceptron aprenda la función lógica AND. Suponga una
razón de aprendizaje α de 0.25. Usando el algoritmo
expuesto complete la tabla hasta que encuentre
convergencia. El percepton usado es el que muestra la
figura.
t
x1
w1
a
w2
x2
y
72
w’=w+α(t-y)x
ó ∆wi=α(t-y)xi
y = 1, si (x1w1 + x2w2) ≥ θ
y = 0, si (x1w1 + x2w2) < θ
Redes Neuronales Artificiales
w1 = 0.0
w2 = 0.4
θ = 0.3
α = 0.25
t = Función AND
∆w1
∆w2
∆θ
0
0
0
1 0 -0.25
0
-0.25
0.25
0 0
0
0
0
0
0.25
0.25
0.25
-0.25
x1 x2
a
y t α(t-y)
0.3
0
0
0
0 0
0.3
0
1
0.4
0
0.15 0.55
1
0
0
0
0.15 0.55
1
1
w1
w2
θ
0
0.4
0
0.4
0.15 0 1
0
1) ¿Cuántas iteraciones se requieren para la convergencia?
2) ¿Cuáles son los valores de convergencia de los pesos y el umbral?
3) Defina algebráicamente el hiperplano de decisión.
4) Demuestre gráficamente que éste hiperplano es un límite apropiado para
la distinción de clases (ver gráfica) y que el vector de pesos y el hiperplano
73
son ortogonales.
Valores finales: w1=0.5, w2=0.15, theta=0.55.
Ec. de la recta: x2 = -(3.333)x1+3.667
Resultado
Funcion lógica e hiperplano de decisión
2
1.5
Redes Neuronales Artificiales
1
x2
0.5
w
0
-0.5
-0.5
0
0.5
1
x1
1.5
2
74
¿Qué pasa si la función que queremos
realizar ahora es la siguiente?
X1
0
0
1
1
x2
Redes Neuronales Artificiales
1
0
(0,1)
X2
0
1
0
1
Y
0
1
1
0
(1,1)
0
1
(0,0)
(1,0)
x1
¿Esta función sería realizable con un Perceptron, o no?
75
Medición del desempeño
Q
Q
Redes Neuronales Artificiales
Q
Qué es el factor (t - y)? Para los Perceptrons, hay corrección,
si hay error. Sólo se detecta la presencia del error, no su
magnitud.
En entrenamiento, cómo se sabe que se ha encontrado
convergencia?
En general, en entrenamiento se usa la figura de error de 'SSE'
o suma de los cuadrados
de los errores:
Q
Q
sse =
∑ e( k ) =
2
k =1
2
(
t
k
y
k
)
−
(
)
(
)
∑
k =1
ŠEsto se usa para cuando se esta entrenando una red en 'batch' o
por lotes. Un lote en este caso es el conjunto de vectores de
entrada que se muestran a la red para que ésta los procese en
conjunto (en lugar de presentarlos vector por vector).
76
EPOCA y BIAS
Redes Neuronales Artificiales
Q
Q
Se le llama época a cada iteración de la red por el
lote de entradas en la que haya ajuste de variables. El
ajuste de variables se puede hacer después de la
presentación de vectores de entrada individuales o
por lotes.
La variable θ también es llamada elemento de
tendencia o 'bias' porque, como se ve en la figura
anterior, es el que mueve el hiperplano de decisión a
lo largo del eje 'x' (en este caso). A esta variable se le
denomina en muchas ocaciones con el símbolo 'b'.
77
78
Redes Neuronales Artificiales
Descargar