Redes Neuronales Artificiales
22
Red
es N
euro
nale
s A
rtifi
cial
es
Perceptrón
Definición. Es una red neuronal feedforward queconsta de dos capas, una de entrada y una desalida.
33
Red
es N
euro
nale
s A
rtifi
cial
es
Separabilidad de patrones
01 11
1000
Función AND (linealmente separable)
44
Red
es N
euro
nale
s A
rtifi
cial
es
OROR XORXOR
Separabilidad de patrones
55
Red
es N
euro
nale
s A
rtifi
cial
es
Separabilidad de patrones
01 11
1000
Función XOR. No es posible obtener una recta quesepare las dos clases.
66
Red
es N
euro
nale
s A
rtifi
cial
es
Patrones de entrenamiento
Un patrón es una pareja de vectores X y Y delongitud n y m respectivamente:
X = (x1, x2, x3, .. , xn)Y= (y1, y2, y3, .. , ym)
donde xi corresponde a un valor para la neurona deentrada i y yj es el valor deseado de la neurona desalida j.
77
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónAprendizaje
1. Inicialización aleatoria de los pesos (wi) y delumbral (a).
2. Tomar un patrón de entradaXp=(x1,x2,...,xn, d(t)) d(t) es la salida deseada
3. Cálcular la salida actual yiyi =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.
88
Red
es N
euro
nale
s A
rtifi
cial
es
Σ
x0
x1
x2
1.5
0.5
1.51
0
El Perceptrón
99
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Patrones dados:00 0 01 1 10 1 11 1
Ajuste de pesos de las conexiones de una red quedebe realizar la función OR.
1. Valores elegidos aleatoriamente:w0=1.5, w1=0.5 w2=1.5 a=0
1010
Red
es N
euro
nale
s A
rtifi
cial
es
2. Se toman cada uno de los patrones de entrada y seaplica el método:
2.1.Patrón de entrada 00, d=0Entradas: x1=0; x2=0; x0=1Pesos: w1=0.5; w2=1.5; w0=1.5sum i= 1*1.5 +0*0.5+0*1.5 = 1.5
Salida producida yi : 1 ( sumi >= 0)Error: (deseada-obtenida)= 0-1= -1
El PerceptrónEjemplo
1111
Red
es N
euro
nale
s A
rtifi
cial
es
Nuevos pesos:w1 = 0.5 + (-1)*0 = 0.5w2 = 1.5 + (-1)*0 = 1.5w0 = 1.5 + (-1)*1 = 0.5
El PerceptrónEjemplo
1212
Red
es N
euro
nale
s A
rtifi
cial
es
2.2. Patrón de entrada 01, d=1Entradas: x1=0; x2=1; x0=1Pesos: w1 = 0.5; w2 = 1.5; w0 = 0.5sum i = 1*0.5 + 0*0.5 + 1*1.5 = 2
Salida producida : 1Error : (deseada-obtenida)= 1-1 = 0Los pesos no se modifican
El PerceptrónEjemplo
1313
Red
es N
euro
nale
s A
rtifi
cial
es
2.3. Patrón de entrada 10, d=1Entradas: x1=1; x2=0; x0=1Pesos: w1 = 0.5; w2 = 1.5; w0 = 0.5sum i = 1*0.5 + 1*0.5 + 0*1.5 = 1
Salida producida : 1Error : (deseada-obtenida)= 1-1 = 0Los pesos no se modifican
El PerceptrónEjemplo
1414
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
2.4. Para el patrón 11 1, la salida obtenida es iguala la deseada, por tanto no varían los pesos. Si nofuese así se aplica la corrección.
Como existió un patrón de entrada (00 0) en que elerror no es cero, se realiza de nuevo el proceso.
1515
Red
es N
euro
nale
s A
rtifi
cial
es
3. Se toman de nuevo los cuatro patrones deentrada:
3.1 Patrón de entrada 00, d=0Entradas: x1=0; x2=0; x0=1Pesos: w1=0.5; w2=1.5; w0=0.5sum i: 1*0.5 +0*0.5+0*1.5 = 0.5
Salida producida = 1Error = -1
El Perceptrón
1616
Red
es N
euro
nale
s A
rtifi
cial
es
3.2. Patrón de entrada 01, d=1Entradas: x1=0; x2=1; x0=1Pesos: w1=0.5; w2=1.5; w0(t)= -0.5sum i = 0*0.5+1*1.5+1*-0.5 =1
Salida producida = 1Error = 0 No se modifican los pesos
El Perceptrón
Nuevos pesos:w1 = 0.5+(-1)*0 = 0.5w2 = 1.5+(-1)*0 = 1.5w0 = 0.5+(-1)*1 = -0.5
3.3. Para las entradas restantes 10 y 11, los pesosno varían.
Existe aún una entrada con error distinto de cero.
1717
Red
es N
euro
nale
s A
rtifi
cial
es
4. Se toman de nuevo los cuatro patrones deentrada:4.1 Patrón de entrada 00, d=0
Entradas: x1=0;x2=0; x0=1Pesos: w1=0.5; w2=1.5; w0= -0.5sum i = 0*0.5+0*1.5+1*-0.5= -0.5
Salida producida = 0Error = 0
No se varían los pesos
El Perceptrón
1818
Red
es N
euro
nale
s A
rtifi
cial
es
4.2 Patrón de entrada 01, d=0Entradas: x1=0;x2=1; x0=1Pesos: w1=0.5; w2=1.5; w0= -0.5sum i = 0*0.5+1*1.5+1*-0.5= -0.5
Salida producida = 1Error = 0 No se varían los pesos
El Perceptrón
4.3. Al no variar los pesos en los otros patrones, elerror cometido es cero.
Con estos pesos, al calcular la salida para cualquierade los cuatro patrones no se obtiene error, luego laetapa de aprendizaje concluye.
1919
Red
es N
euro
nale
s A
rtifi
cial
es
x1
x2
xm
.
...
y1
y2
yn
El Perceptrón
2020
Red
es N
euro
nale
s A
rtifi
cial
es
El Perceptrón
La salida depende de los pesos (W) y los umbrales(a).Los umbrales a pueden ser un W0 con entrada 1.
Busca minimizar el error producido por las salidasobtenidas 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 lospesos. Por tanto, el espacio de búsqueda tiene unadimensión igual al número de conexiones.
2121
Red
es N
euro
nale
s A
rtifi
cial
es
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, salidaesperada):– Entrada Xp=(x1,x2,...,xN), salida esperada d(t).
3. Cálculo de la salida actual– y(t)=f [Σwi(t)xi(t)]
f (x) = función de transferencia (Escalón).
El Perceptrón Regla de Aprendizaje
2222
Red
es N
euro
nale
s A
rtifi
cial
es
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 linealExpresado en términos de pesos: ei = (∑j wij xj – yi)2 / 2 ei = (f(∑j wij xj)– yi)2 / 2 no lineal
El Perceptrón
2323
Red
es N
euro
nale
s A
rtifi
cial
es
Aplicando técnica de gradiente
(∑j wij xj – yi)x1
(∑j wij xj – yi)x2
∇ ei =
(∑j wij xj – yi)xn
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)
lineal No lineal
.
.
.
.
.
.
.
.
.
El Perceptrón
2424
Red
es N
euro
nale
s A
rtifi
cial
es
(di– yi)x1
(di– yi)x2
∇ ei =
(di– yi)xn
(f’(wi1)( ∑j wij xj))(di -yi)
∇ ei = (f’(wi2)( ∑j wij xj))(di -yi)
(f’(win)( ∑j wij xj))(di -yi)
.
.
.
.
.
.
lineal No lineal
El Perceptrón
2525
Red
es N
euro
nale
s A
rtifi
cial
es
4. Adaptación de los pesos :
∆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.
El Perceptrón
2626
Red
es N
euro
nale
s A
rtifi
cial
es
Sean los patrones:
El PerceptrónEjemplo
[ 1 1 0 1 ] [ 1 0 1 1 ] [ 0 1 1 1 ]
[ 0 1 0 0 ] [ 1 0 0 0 ] [ 0 0 1 0 ]
2727
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos iniciales: W01=.5, W11=1, W21=0, W31=.8
Umbral a= 0.5, µ=.5 (t aprendizaje
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
2828
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01=.5, W11=1, W21=0, W31=.8
Patrón 2: X1=1; X2=0; X3=1, X0=1, Sd=1
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
2929
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
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
Error = Sd - Y = 1 - 1 = 0
No hay cambio de pesos
3030
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01=.5, W11=1, W21=0, W31=.8Patrón 4: X1=0; X2=1; X3=0, X0=1, Sd=0Y = 1*.5 + 0*1 + 1*0 + 0*.8 = .5 >= .5, Y=1
Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W01=.5-.5(-1)1=1
W11=1-.5(-1)0=1W21=0-.5(-1)1=.5W31=.8-.5(-1)0=.8
3131
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 1, W11=1, W21=.5, W31=.8Patrón 5: X1=1; X2=0; X3=0, X0=1, Sd=0Y = 1*1 + 1*1 + 0*.5 + 0*.8 = 2 >= .5, Y=1
Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W01=1-.5(-1)1=1.5
W11=1-.5(-1)1=1.5W21=.5-.5(-1)0=.5W31=.8-.5(-1)0=.8
3232
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 1.5, W11=1.5, W21=.5, W31=.8Patrón 6: X1=0; X2=0; X3=1, X0=1, Sd=0Y = 1*1.5 + 0*1 + 0*.5 + 1*.8 = 2.3 >= .5, Y=1
Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W01=1.5-.5(-1)1=2
W11=1.5-.5(-1)0=1.5W21=.5-.5(-1)0=.5W31=.8-.5(-1)1=1.3
3333
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
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
En el ciclo de los patrones existió un error, portanto, se requiere volver a mirar todos los patronescon los nuevos pesos.
3434
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3Patró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=1Error = Sd - Y = 1 - 1 = 0NO hay que ajustar pesos
3535
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3Patró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=1Error = Sd - Y = 1 - 1 = 0NO hay que ajustar pesos
3636
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 2, W11=1.5, W21=.5, W31=1.3Patró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=1Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W01=2-.5(-1)1=2.5
W11=1.5-.5(-1)0=1.5W21=.5-.5(-1)1=1W31=1.3-.5(-1)0=1.3
3737
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 2.5, W11=1.5, W21=1, W31=1.3Patró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=1Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W01=2.5-.5(-1)1=3
W11=1.5-.5(-1)1=2W21=1-.5(-1)0=1W31=1.3-.5(-1)0=1.3
3838
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W01= 3, W11=2, W21=1, W31=1.3Patró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=1Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W01=3-.5(-1)1=3.5
W11=2-.5(-1)0=2W21=1-.5(-1)0=1W31=1.3-.5(-1)1=1.8
3939
Red
es N
euro
nale
s A
rtifi
cial
es
Nuevamente existe error diferente de 0Hay que volver a repasar por todos lospatrones hasta que todos posean error=0
Se puede visualizar que la red no converge.¿Qué sucede sin X0?
4040
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos iniciales: W11=1, W21=0, W31=.8Umbral a= 0.5, µ=.5 (t aprendizaje
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
4141
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1, W21=0, W31=.8Patrón 2: X1=1; X2=0; X3=1, Sd=1Y = 1*1 + 0*0 + 1*.8 = 1.8 > .5, Y=1
Error = Sd - Y = 1 - 1 = 0No hay cambio de pesos
4242
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1, W21=0, W31=.8Patrón 3: X1=0; X2=1; X3=1, Sd=1Y = 0*1 + 1*0 + 1*.8 = .8 > .5, Y=1
Error = Sd - Y = 1 - 1 = 0No hay cambio de pesos
4343
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1, W21=0, W31=.8Patrón 4: X1=0; X2=1; X3=0, Sd=0Y = 0*1 + 1*0 + 0*.8 = 0 >= .5, Y=0
Error = Sd - Y = 0 - 0 = 0
No hay cambio de pesos
4444
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1, W21=0, W31=.8Patrón 5: X1=1; X2=0; X3=0, Sd=0Y = 1*1 + 0*0 + 0*.8 = 1 >= .5, Y=1
Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W11=1-.5(-1)1=1.5
W21=0-.5(-1)0= 0
W31=.8-.5(-1)0=.8
4545
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1.5, W21=0, W31=.8Patrón 6: X1=0; X2=0; X3=1, Sd=0
Y = 0*1.5 + 0*0 + 1*.8 = .8 >= .5, Y=1Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W11=1.5-.5(-1)0=1.5
W21= 0 -.5(-1)0= 0
W31=.8-.5(-1)1=1.3
4646
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1.5, W21=0, W31=1.3Patrón 1: X1=1; X2=1; X3=0, Sd=1Y = 1*1.5 + 1*0 + 0*1.3 = 1.5 >= .5, Y=1
Error = Sd - Y = 1 - 1 = 0NO hay que ajustar pesos
En el ciclo de los patrones existió un error, por tanto,se requiere volver a mirar todos los patrones con losnuevos pesos.
4747
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1.5, W21=0, W31=1.3Patrón 2: X1=1; X2=0; X3=1, X0=1, Sd=1Y = 1*1.5 + 0*0 + 1*1.3 = 2.8 >= .5, Y=1
Error = Sd - Y = 1 - 1 = 0NO hay que ajustar pesos
4848
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1.5, W21=0, W31=1.3Patrón 3: X1=0; X2=1; X3=1, Sd=1
Y = 0*1.5 + 1*0 + 1*1.3 = 1.3 >= .5, Y=1Error = Sd - Y = 1 - 1 = 0NO hay que ajustar pesos
4949
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1.5, W21=0, W31=1.3Patrón 4: X1=0; X2=1; X3=0, Sd=0
Y = 0*1.5 + 1*0 + 0*1.3 = 0 < .5, Y=0Error = Sd - Y = 0 - 0 = 0NO hay que ajustar pesos
5050
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=1.5, W21=0, W31=1.3Patró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=1Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W11=1.5-.5(-1)1=2
W21=0-.5(-1)0=0
W31=1.3-.5(-1)0=1.3
5151
Red
es N
euro
nale
s A
rtifi
cial
es
El PerceptrónEjemplo
Pesos : W11=2, W21=0, W31=1.3Patrón 6: X1=0; X2=0; X3=1, Sd=0Y = 0*2 + 0*0 + 1*1.3 = 1.3 >= .5, Y=1
Error = Sd - Y = 0 - 1 = -1Ajustar pesos: W11=2-.5(-1)0=2
W21=0-.5(-1)0=0
W31=1.3-.5(-1)1=1.8
5252
Red
es N
euro
nale
s A
rtifi
cial
es
Nuevamente existe error diferente de 0Hay que volver a repasar por todos lospatrones hasta que todos posean error=0
Se puede visualizar que la red no converge.¿Hacemos otro ciclo?¿Se cambia el umbral?
5353
Red
es N
euro
nale
s A
rtifi
cial
es
5454
Red
es N
euro
nale
s A
rtifi
cial
es
EL PERCEPTRON MULTICAPA
• 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
Entra
das
1ª capaoculta
2ª capaoculta
Salid
as
5555
Red
es N
euro
nale
s A
rtifi
cial
es
Un ejemplo de aplicación
• PROBLEMA: Predicción de consumo eléctrico a corto plazo en un áreageográfica determinada
- Si infraestimamos la carga necesaria tendremos que comprar MW a otrascompañías a un precio elevado- Si sobreestimamos la carga es posible que no podamos venderla (si el resto decompañí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 yocio, uso de aire acondicionado y calefacción, etc.)
• Es un problema difícil de formular y solucionar mediante técnicasconvencionales, pero del que es sencillo disponer de un gran número dedatos entrada/salida
Red Neuronal
5656
Red
es N
euro
nale
s A
rtifi
cial
es
Solución con RNA7
entra
das Carga ayer a la misma hora
Temperatura prevista para esa hora
MHumedad 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
72 e
ntra
das
72 e
ntra
das
Módulo Horario
24 MLPsM
Módulo Diario
7 MLPs
Módulo Semanal
7 MLPs
M
Carga H 1Carga H2
MCarga H24
M
Carga H1Carga H 2
MCarga H24
M
Carga H 1Carga H2
MCarga H24
CombinadorM
Carga H1Carga H2
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 Transon Neural Networks, July 1997.
5757
Red
es N
euro
nale
s A
rtifi
cial
es
Aprendizaje/generalización
• En el problema la red no se limita a memorizar losdatos sobre los que ha sido entrenada
¡¡ LA RED NEURONAL ES CAPAZ DEGENERALIZAR!!
• GENERALIZACION: La salida proporcionada por lared es correcta (o al menos razonable) en puntos enlos que no ha sido entrenada.
• La generalización está relacionada con la suavidadde la función a aproximar o modelar
5858
Red
es N
euro
nale
s A
rtifi
cial
es
Perceptrón generalizado
En el PerceptrónGeneralizado el cómputo queejecutan las neuronas de lacapa de salida es:
Mientras que las neuronas dela capa escondida ejecutan:
5959
Red
es N
euro
nale
s A
rtifi
cial
es
Perceptrón generalizado
En las expresiones anteriores no se consideraexplícitamente un umbral. Éste se incluye al patrón deentrada con una componente adicional de valor 1 yagregando en la capa intermedia una unidad adicionalcon actividad constante de uno.
El algoritmo de aprendizaje en este tipo de redes essupervisado, y provee de un método para ajustar lospesos sinápticos de tal forma que la red sintetice lacorrespondencia entre los pares de patrones (xk , ςk) enel conjunto de patrones de entrenamiento.
6060
Red
es N
euro
nale
s A
rtifi
cial
es
Si la salida estimada es O y la salida correcta es Tentonces el error es: Err = T - OSi el error es positivo incrementamos O, si el errores negativo decrementamos OCada unidad de entrada contribuye W j Ij a laentrada totalSi Ij es positiva, un incremento en W j incrementaráOSi Ij es negativa, un incremento en W jdecrementará O
6161
Red
es N
euro
nale
s A
rtifi
cial
es
W j ← W j + α x Ij x Err, α es una constante deaprendizajeConvergerá a un conjunto de pesos que representancorrectamente los ejemplos, si se trata de una funciónlinealmente separable
Red
es N
euro
nale
s A
rtifi
cial
es
function NNL (ejemplos) returns redrepeat for each p de ejemplos do
O ← NNO(red,p)T ← salida observada por valores de pactualizar pesos en red basados en p, O y T
enduntil todo ejemplo no posea error o criterio de paradareturn red
Algoritmo del perceptrón
6363
Red
es N
euro
nale
s A
rtifi
cial
es
Búsqueda gradiente descendiente en el espacio depesosNo hay mínimos localesSi α no es muy grande (sobretiro) la búsquedaconvergerá a los pesos correctosAtributos continuos
El Perceptrón
6464
Red
es N
euro
nale
s A
rtifi
cial
es
El Perceptrón
F(a)
w1neurona
Σx1
x2 w2ya
y = F(a)y = 1, si (x1w1 + x2w2) ≥ θy = 0, si (x1w1 + x2w2) < θ
Frank Rosenblatt desarrolla una prueba de convergencia en1962 y definió el rango de problemas para los que sualgoritmo aseguraba una solución. Además propuso a los'Perceptrons' como herramienta computacional.
6565
Red
es N
euro
nale
s A
rtifi
cial
es
¿Qué tipo de problemas resuelve?
Un hiperplano es un objeto de dimensión n-1 queactúa en un espacio de dimensión n.En general un perceptron de n entradas puedeejecutar cualquier función que esté determinadapor un hiperplano que corte un espacio dedimensión n. ¿Implicaciones?
6666
Red
es N
euro
nale
s A
rtifi
cial
es
Funciones realizables
X1 X2 Y 0 0 0 0 1 1 1 0 1 1 1 1
x2
1
¿Qué tipo de función no sería realizable?
1
x1(0,0) (1,0)
(1,1)(0,1)1
0
6767
Red
es N
euro
nale
s A
rtifi
cial
es
x1
x2
(0,0) (1,0)
(1,1)(0,1)1
0
1
1
Notar que el vectorde pesos es
perpendicular alhiperplano. Esta
característica se extiendea dimensión n.
θ=∑=
i
n
ii xw
1θ=+ iiii xwxw
+
−=
21
2
12 w
xwwx θ bmxx += 12
Si hacemos w1=1, w2=1 y theta=0.5, tenemos:
Ecuación del hiperplano
6868
Red
es N
euro
nale
s A
rtifi
cial
es
Separabilidad lineal
El perceptron tiene la capacidad de clasificar vectores de entradadividiendo el espacio de entrada en dos regiones mediante unahiperplano. Si el espacio de entrada no es separable de esta manera,un perceptron no encontrará solución.
6969
Red
es N
euro
nale
s A
rtifi
cial
es
θ=+ iiii xwxw
0)1( =−++ θiiii xwxw0=−+ θiiii xwxw
Ajuste del valor del valor de umbral como un ‘peso’ más.
W·X=0(producto punto = qué tan alineados están)
W
XW·X>0
W
XW·X=0
W
XW·X<0
Si W·X >= 0, y = 1; Si W·X < 0, y = 0
¿Qué pasa si no obtenemos el resultado deseado?Se requiere de un ajuste. ¿Cómo?, ¿De qué valor?
Para entender mejor al procedimiento de entrenamiento, vamosa introducir una representación vectorial.
Entrenamiento:
7070
Red
es N
euro
nale
s A
rtifi
cial
es
WαXW’
X
W’=W-αX
W
XW’=W+ αX
W’αXSi el resultado es 0 en lugar de 1:
En resumen:
donde 0< α <1
Si el resultado es 1 en lugar de 0:
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.
7171
Red
es N
euro
nale
s A
rtifi
cial
es
Algoritmo de entrenamientodel Perceptron
repetirpara cada par en los vectores de entrenamiento (x,t)
evaluar la salida yi cuando xi es la entrada al ...perceptronsi y ≠ t, entonces forme un nuevo vector de pesos w’ de acuerdo a... la ecuación correspondientede otra manera, no haga nadaFin del si
fin del parahasta que y = t para todos los vectores.
Los valores de los pesos para este caso están restringidosentre -1 y 1.
7272
Red
es N
euro
nale
s A
rtifi
cial
es
Ejemplo
Supongamos que un Perceptron de dos entradas tienepesos iniciales 0, 0.4 y umbral 0.3. Se requiere que estePerceptron aprenda la función lógica AND. Suponga unarazón de aprendizaje α de 0.25. Usando el algoritmoexpuesto complete la tabla hasta que encuentreconvergencia. El percepton usado es el que muestra lafigura.
x1
x2
yw2
w1
t
a
7373
Red
es N
euro
nale
s A
rtifi
cial
esw1 = 0.0w2 = 0.4θ = 0.3α = 0.25t = Función AND
w’=w+α(t-y)xó ∆wi=α(t-y)xiy = 1, si (x1w1 + x2w2) ≥ θy = 0, si (x1w1 + x2w2) < θ
-0.250.250.250.25100.15110.550.150
0000000010.550.150
0.25-0.250-0.25010.4100.30.40
0000000000.30.40
∆ θ∆w2∆w1α(t-y)tyax2x1θw2w1
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 parala distinción de clases (ver gráfica) y que el vector de pesos y el hiperplanoson ortogonales.
7474
Red
es N
euro
nale
s A
rtifi
cial
es
Resultado
-0.5 0 0.5 1 1.5 2-0.5
0
0.5
1
1.5
2
x1
x2
Funcion lógica e hiperplano de decisión
w
Valores finales: w1=0.5, w2=0.15, theta=0.55.Ec. de la recta: x2 = -(3.333)x1+3.667
7575
Red
es N
euro
nale
s A
rtifi
cial
es
x1
x2
(0,0) (1,0)
(1,1)(0,1)1
0
0
1
¿Esta función sería realizable con un Perceptron, o no?
¿Qué pasa si la función que queremosrealizar ahora es la siguiente?
X1 X2 Y0 0 00 1 11 0 11 1 0
7676
Red
es N
euro
nale
s A
rtifi
cial
es
Medición del desempeño
Qué es el factor (t - y)? Para los Perceptrons, hay corrección,si hay error. Sólo se detecta la presencia del error, no sumagnitud.En entrenamiento, cómo se sabe que se ha encontradoconvergencia?En general, en entrenamiento se usa la figura de error de 'SSE'o suma de los cuadrados de los errores:
( ) ( ) ( )sse e k t k y kk
Q
k
Q= = −
= =∑ ∑2
1
2
1( )
Esto se usa para cuando se esta entrenando una red en 'batch' opor lotes. Un lote en este caso es el conjunto de vectores deentrada que se muestran a la red para que ésta los procese enconjunto (en lugar de presentarlos vector por vector).
7777
Red
es N
euro
nale
s A
rtifi
cial
es
EPOCA y BIAS
Se le llama época a cada iteración de la red por ellote de entradas en la que haya ajuste de variables. Elajuste de variables se puede hacer después de lapresentación de vectores de entrada individuales opor lotes.
La variable θ también es llamada elemento detendencia o 'bias' porque, como se ve en la figuraanterior, es el que mueve el hiperplano de decisión alo largo del eje 'x' (en este caso). A esta variable se ledenomina en muchas ocaciones con el símbolo 'b'.
7878
Red
es N
euro
nale
s A
rtifi
cial
es
Top Related