El Perceptrón
 1958 - El psicólogo Frank Ronsenblant desarrolló un modelo
simple de neurona basado en el modelo de McCulloch y Pitts que
utilizaba una regla de aprendizaje basada en la corrección del error:
Perceptrón
x1
x2
x3
w1
w2

 1
y  f ( x1 , x 2 ,..., x n )  

 1
si
w1 x 1  w 2 x 2  ...  w n x n  
si
w1 x 1  w 2 x 2  ...  w n x n  
y
w3
w 1 x1  w 2 x 2  
w 1 x1  w 2 x 2  
Función paso o De Heaviside
Función signo
w 1 x1  w 2 x 2  
¿Qué se pretende con el Perceptrón?
Se dispone de la siguiente información:
 Conjunto de patrones {xk}, k = 1,2,…,p1 , de la clase C1
(zk = 1)
 Conjunto de patrones {xr}, k = p1+1,...,p , de la clase C2
(zr = -1)
 Se pretende que el perceptrón asigne a cada entrada (patrón xk) la
salida deseada zk
siguiendo un proceso de corrección de error
(aprendizaje) para determinar los pesos sinápticos apropiados
Regla de aprendizaje del Perceptrón:
 w j ( k )  2 x j ( k )

w j ( k  1)   w j ( k )

 w j ( k )  2 x j ( k )
 w j  k    ( k )  z  k   y  k x j  k 
si y ( k )   1 y z ( k )  1,
si y ( k )  z ( k )
si y ( k )  1 y z ( k )   1
error
tasa de
aprendizaje
¿Cómo se modifica el sesgo  ?
w1 x1  w 2 x 2  ...  w n x n  
x1

w1 x1  w 2 x 2  ...  w n x n  w n 1 x n 1  0
w1

w2
y
x2
x3
1
1
w1 x1  w 2 x 2  ...  w n x n   (  1)  0
w3

   k    ( k )  z  k   y  k 
Algoritmo del Perceptrón
Paso 0: Inicialización
Inicializar los pesos sinápticos con números aleatorios del intervalo [-1,1].
Ir al paso 1 con k=1
Paso 1: (k-ésima iteración)
 n 1

Calcular

y ( k )  sgn   w j x j ( k ) 
 j 1

Paso 2: Corrección de los pesos sinápticos
Si z(k)  y(k) modificar los pesos sinápticos según la expresión:
w j k  1  w j k     z i k   y i k x j k  ,
j  1, 2 ,..., n  1
Paso 3: Parada
Si no se han modificado los pesos en las últimas p iteraciones, es decir,
w j ( r )  w j ( k ),
j  1, 2 ,..., n  1, r  k  1,..., k  p
parar. La red se ha estabilizado.
En otro caso, ir al Paso 1 con k=k+1.
Ejemplo
 Diseña un perceptrón que implemente la función
lógica AND
AND
Entradas
(1, 1)
x1
Salidas
1
(1, 1)
1
x2
(1, 1)
1
1
(1,1)
1
Paso 0: Inicialización aleatoria
w1 = 0.4,
w2 =  0.2,
 = 0.6,
w1
w2

y

Diseña un perceptrón que implemente la función
lógica AND
1
1
1
0.3
0.2
y
0.6
Paso 1:
Patrón de entrada (1,1):
h  0 . 3 (1)  0 . 2 (  1)  0 . 6 (  1)  1 . 1
Paso 2: Corrección de los pesos sinápticos
y=1
w1 (1)  w1 ( 0 )  2 1  0 . 3  1   0 . 7
w 2 (1)  w 2 ( 0 )  2 (  1)   0 . 2  1  0 . 8
 (1)   ( 0 )  2 (  1)   0 . 6  1  0 . 4
Elegimos =0.5

Diseña un perceptrón que implemente la función
lógica AND
1
0.7
1
0.8
1
0.4
Paso 1:
Patrón de entrada (1,1):
y
h   0 . 7 (  1)  0 . 8 (  1)  0 . 4 (  1)   0 . 5
Como y =  1 y z = 1 la clasificación es correcta
y=1

Diseña un perceptrón que implemente la función
lógica AND
1
1
1
0.7
0.8
y
0.4
Paso 1:
Patrón de entrada (1,1):
h   0 . 7 (1)  0 . 8 (1)  0 . 4 (  1)   0 . 3
Paso 2: Corrección de los pesos sinápticos
w1 ( 2 )  w1 (1)  2 (1)   0 . 7  1  0 . 3
w 2 ( 2 )  w 2 (1)  2 (1)  0 . 8  1  1 . 8
 ( 2 )   (1)  2 (  1)  0 . 4  1   0 . 6
Elegimos  = 0.5
y=1

Diseña un perceptrón que implemente la función
lógica AND
1
1
1
0.3
1.8
y
0.6
Paso 1:
Patrón de entrada (1,1):
h  0 . 3 (  1)  1 . 8 (1)  0 . 6 (  1)  2 . 1
Paso 2: Corrección de los pesos sinápticos
y=1
w1 ( 3 )  w1 ( 2 )  2 (  1)  0 . 3  1  1 . 3
w 2 ( 3 )  w 2 ( 2 )  2 (1)  1 . 8  1  0 . 8
 ( 3 )   ( 2 )  2 (  1)   0 . 6  1  0 . 4
Elegimos  = 0.5

Diseña un perceptrón que implemente la función
lógica AND
-1
1
1
1.3
0.8
y
0.4
1 . 3 x1  0 . 8 x 2  0 . 4  0
Patrón (1,1):
h  1 . 3 (1)  0 . 8 (1)  0 . 4 (  1)  2 . 7
Patrón (1,1):
h  1 . 3 (1)  0 . 8 (  1)  0 . 4 (  1)  0 . 1
Patrón (1,1): h  1 . 3 (  1)  0 . 8 (  1)  0 . 4 (  1)   2 . 5
Patrón (1,1):
h  1 . 3 (  1)  0 . 8 (1)  0 . 4 (  1)   0 . 9

Diseña un perceptrón que implemente la función
lógica AND
1
1.3
1
0.8
1
0.4
Paso 1:
Patrón de entrada (1,1):
y
h  1 . 3 (1)  0 . 8 (  1)  0 . 4 (  1)  0 . 1
Paso 2: Corrección de los pesos sinápticos
y=1
w1 ( 3 )  w1 ( 2 )  2 (1)  1 . 3  1  0 . 7
w 2 ( 3 )  w 2 ( 2 )  2 (  1)  0 . 8  1  1 . 8
 ( 3 )   ( 2 )  2 (  1)  0 . 4  1  1 . 4
Elegimos  = 0.5

Diseña un perceptrón que implemente la función
lógica AND
1
1
1
0.7
1.8
y
1.4
Paso 1:
Patrón de entrada (1,1):
h  1 . 3 (1)  0 . 8 (  1)  0 . 4 (  1)  0 . 1
Paso 2: Corrección de los pesos sinápticos
y=1
w1 ( 3 )  w1 ( 2 )  2 (1)  1 . 3  1  0 . 7
w 2 ( 3 )  w 2 ( 2 )  2 (  1)  0 . 8  1  1 . 8
 ( 3 )   ( 2 )  2 (  1)  0 . 4  1  1 . 4
Elegimos  = 0.5
El Perceptrón
 ¿Dado un conjunto cualquiera de patrones de entrenamiento,
puede el Perceptrón aprender a clasificarlos correctamente?
Problema XOR
Entradas
(1, 1)
Salidas
1
(1, 1)
1
(1, 1)
1
(1,1)
1
(a)
(b)
Conjuntos separables linealmente
Teorema de convergencia del Perceptrón
Si el conjunto de patrones de entrenamiento con sus salidas deseadas,
{x1 ,z1}, {x2 ,z2},…,{ xp ,zp},
es linealmente separable entonces el Perceptrón simple encuentra una
solución en un número finito de iteraciones
Demostración
Como es linealmente separable entonces existen
n

w j x j  w n 1
*
j 1
si son de la clase C1
n
w
j 1
*
j
x j  w n 1
si son de la clase C2
*
*
*
w 1 , w 2 ,..., w n 1

Demostración
n 1
 w  k  1   w 
* 2
j
j
j 1
n 1

 w  k   w 
j
* 2
j
n 1

 w
( k )    z ( k )  y ( k ) x j ( k )  w j
j

* 2
j 1
n 1

2
j 1
 z k   y k   x j k 
2
j 1
n 1
2


 2  z  k   y  k  w j  k   w j x j  k 
*
j 1
n 1
n 1
 2  z  k   y  k (  w j ( k ) x j  k )  2  z  k   y  k  w j x j  k 
*
j 1
n 1
 2  w j k  x j k 
j 1
n 1

 w  k   w 
j
j 1
* 2
j
n 1
 4
2
 x k 
j
j 1
n 1
2
 0  4
w
j 1
*
j
x j k 
j 1
n 1
2  w j x j k 
*
j 1
Demostración
n 1
n 1
 w  k  1   w 
* 2
j
j

j 1
n 1
 w  k  1   w 
* 2
j
j
n 1
 w  k   w 
* 2
j
j
 4
2
j
j 1
n 1

j 1
 4
j 1
 w  k   w 
* 2
j
j
 x k 
n 1
2
w
*
j
x j k 
j 1
 n 1 *

T  min   w j x j  k 
1 k  p
 j 1

 4 L  4 T
2
j 1
 n 1
2
L  max   x j  k  
1 k  p
 j 1

n 1
 w  k  1   w 
* 2
j
j
j 1
n 1

 w  k   w 
j
* 2
j
 4 ( L  T )
j 1
n 1
Si
L  T  0
 w  k  1   w 
j
j 1
 
T
L
* 2
j
n 1

 w  k   w 
j
j 1
* 2
j

Tasa de aprendizaje óptima
Se trata de elegir de la tasa de aprendizaje  manera que se
produzca un mayor decrecimiento del error en cada iteración
Error cuadrático en la iteración k+1
n 1
E ( )  D ( k  1)  D ( k )  4
2

x j  k   4
2
j 1
D k  1 
n 1
n 1

w j  k  x j  k   4
j 1
n 1

w j x j k 
*
j 1
 w  k  1   w 
* 2
j
j
j 1
 E  

n 1
n 1
n 1
 8  x j  k   4  w j  k  x j  k   4  w j x j  k   0
2
j 1
*
j 1
j 1
n 1
n 1
 w k x k    w
j
 opt 
j
j 1
j 1
n 1
2  x j k 
j 1
2
*
j
x j k 
Tasa de aprendizaje óptima
n 1
n 1
 w k x k    w
j
 opt 
j
j 1
*
j
n 1
x j k 
 w k x k 
j
j 1
~opt 
n 1
2  x j k 
2
j
j 1
n 1

j 1
x j k 
j 1
n 1
n 1
j 1
j 1
 2  w j ( k ) x j  k    z  k   y  k  w j ( k ) x j  k 
n 1
  z ( k )  y ( k )  w j  k  x j  k 
~opt 
j 1
n 1
2  x j k 
j 1
2
2
Regla de aprendizaje normalizada
n 1
w j ( k  1)  w j  k  
 z k   y k  w j k  x j k 
j 1
n 1
2  x j k 
2
j 1
n 1
 w k x k 
j
w j ( k  1)  w j  k   2
j
j 1
n 1
 x k 
j
j 1
2
x j k 
 z k   y k x j k 
Regla de aprendizaje normalizada
w ( k  1)
2
n 1

w
j
( k  1)
2
j 1
n 1

w
n 1
(k ) 
2
j
j 1

j 1
n 1


j 1
w j (k )  1
2


2 
x j (k ) 2



n 1
2

w
(
k
)
x
(
k
)

 j
j
j 1

4
n 1

2
 x j (k ) 
j 1

n 1
w
j
(k ) x j (k )
n 1

j 1
n 1
w
j 1
x j (k )
2
i 1
j
(k ) x j (k )
Interpretación de la regla de aprendizaje del
Perceptrón
n 1
w x
T
w
xj  0
j
x  C1
y  sgn( w x )  z ,
j 1
T
n 1
w x
T
w
j
xj  0
 x  C1  C 2
x  C2
j 1
w (k )  a(k )
w ( k  1)  
w (k )
si ( a ( k )) w ( k )  0
T
en otro caso
 x(k )
a (k)  
 x(k )
si
z (k )  1
si
z (k )  1
Se realizan las correcciones siempre y cuando se producen clasificaciones
incorrectas, es decir,
T
( a ( k )) w ( k )  0
Interpretación de la regla de aprendizaje del Perceptrón
Se realizan las correcciones siempre y cuando se producen clasificaciones
incorrectas, es decir,
w(k+1)
a(k)
a(k)
( a ( k )) w ( k )  0
T
w(k)
+

( a ( k )) w ( k )  0
T
Deducción de la regla de aprendizaje
La regla de aprendizaje del Perceptrón intenta encontrar una
solución w* para el siguiente sistema de desigualdades:
k =1,2,…,p
a(k ) w  0
T
Función criterio:
J (w )  
 a(k ) w
T
kI ( w )
I(w) es el conjunto de patrones clasificados incorrectamente utilizando
el vector de pesos sinápticos w (es decir, (a(k))T w  0). Así, J nunca es
negativo y si dicho conjunto es vacío entonces J alcanza su valor
mínimo, J = 0.
Método del descenso del gradiente
J 
 (  a ( k ))
kI ( w )
w ( k  1)  w ( k )   ( k )  J
 w (k )   (k )
 a(k )
kI ( w )
Algoritmo de aprendizaje por lotes
del Perceptrón
Paso 0: Inicialización
Inicializar los pesos sinápticos con números aleatorios del
intervalo [-1,1]. Fijar un valor de parada s. Ir al paso 1 con k=1
Paso 1: (k-ésima iteración) Corrección de los pesos sinápticos
w ( k  1)  w ( k )   ( k )
 a(k )
kI ( w )
Paso 2: Parada
Si
 (k )
 a(k )
s
parar.
kI ( w )
En otro caso, ir al Paso 1 con k=k+1.
Paso 1
w ( k  1)  w ( k )   ( k ) a ( k )
Una modificación: La Regla del Bolsillo
Consiste en tener en cuenta el número de iteraciones consecutivas del
algoritmo de perceptrón en las cuales no se ha modificado el vector de
pesos sinápticos (para cada uno de los vectores que va generando), es
decir, tener en cuenta el número de patrones que se han clasificado
correctamente con dicho vector hasta que se ha encontrado el primer
patrón que clasifica incorrectamente. Se tiene “guardado en el bolsillo” la
mejor solución explorada, es decir, el vector de pesos sinápticos
generado que ha conseguido, hasta el momento, el mayor número de
iteraciones sin ser modificado. Cuando se encuentra un nuevo vector de
pesos sinápticos que consigue un mayor número de clasificaciones
correctas consecutivas que el que hay en el bolsillo entonces el vector
del bolsillo se reemplaza por este. La solución final viene dada por el
vector de pesos sinápticos guardado en el bolsillo.
La ADALINA
La ADALINA (también llamada ADALINE), pues corresponde al acrónimo
de ADAptive Linear NEuron) o neurona con adaptación lineal que fue
introducida por Widrow en 1959. Esta neurona es similar al Perceptrón
simple pero utiliza como función de transferencia la función identidad en
lugar de la función signo. La salida de la ADALINA es simplemente una
función lineal de las entradas (ponderadas con los pesos sinápticos):
N 1
N
y 
w
j
xj 
y 
j 1
x
z
1
1
2
, x ,..., x
2
, z ,..., z
p
p


E 
k 1
j
xj
j 1
p
z

2
1
w
k
 y k 

2
 k
 z 
2 k 1 
1
p
N 1

j 1

k
w j (k ) x j 


2
La ADALINA
Aprendizaje individualizado:
E 
1
2
p
 z
k
 y k 
k 1

2
 k
1
 z 
2 k 1 
p
N 1

j 1

k
w j (k ) x j 


w r ( k  1)  w r ( k )   w r ( k )


  z  y (k ) x r
k
k
 w r ( k )  
E
w r (k )
2
La ADALINA
Aprendizaje por lotes:
E 
p
z

2p
1
k
 y k 

2
k 1
 k
z 


2 p k 1 
1
p
N 1

j 1

wjx 


2
k
j
w r ( k  1)  w r ( k )   w r ( k )

z

p
1
p
k 1
k

 y (k ) x
 w r ( k )  
k
j
E
w r (k )
Neuronas con salida continua:
Regla de aprendizaje de Widrow-Hoff
x1
x2
x3
w1
w2
w3
y
 N
y  g w jx j

 j 1
g x  




1
1  exp   2  x 
g  x   tanh   x  
e
e
 x
e
 x
 x
e
 x
Neuronas con salida continua:
Regla de aprendizaje de Widrow-Hoff
E 
1
2
p
 z
k
 y k 

2
k 1
 w j ( k )  
N 1
 k

1
k

  z  g ( w j (k ) x j ) 

2 k 1 
j 1

E
w j (k )
p


2
  z  y ( k ) g ' h x j
k
k
Neuronas con salida continua:
Regla de aprendizaje de Widrow-Hoff
E 
1
2p
p
 z
k
 y k 
k 1
 w j  
E
w j

2
N 1
 k

1
k
 z  g ( w j x j ) 



2 p k 1 
j 1


p
z

p
1
p
k 1
k

 y (k ) g ' (h) x j
k
2
Descargar

ppt