Está en la página 1de 32

El Perceptrn

1958 - El psiclogo 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 correccin del error:
Perceptrn
x
1

x
2

x
3

y
w
1
w
2
w
3

< + + +
> + + +
= =
... si 1
... si 1
) ,..., , (
2 2 1
2 2 1
2 1
1
1
u
u
n n
n n
n
x w x w x w
x w x w x w
x x x f y
Funcin paso o De Heaviside Funcin signo
u = +
2 2 1 1
x w x w
u > +
2 2 1 1
x w x w
u < +
2 2 1 1
x w x w
Qu se pretende con el Perceptrn?
Se dispone de la siguiente informacin:
Conjunto de patrones {x
k
}, k = 1,2,,p
1
, de la clase C
1
(z
k
= 1)


Conjunto de patrones {x
r
}, k = p
1
+1,...,p , de la clase C
2
(z
r
= -1)


Se pretende que el perceptrn asigne a cada entrada (patrn x
k
) la
salida deseada z
k
siguiendo un proceso de correccin de error
(aprendizaje) para determinar los pesos sinpticos apropiados
Regla de aprendizaje del Perceptrn:
( ) ( ) ( ) | | ( ) k x k y k z k k w
j j
= A ) ( q

= =
=
= = +
= +
1 ) ( y 1 ) ( si ) ( 2 ) (
) ( ) ( si ) (
, 1 ) ( y 1 ) ( si ) ( 2 ) (
) 1 (
k z k y k x k w
k z k y k w
k z k y k x k w
k w
j j
j
j j
j
q
q
error
tasa de
aprendizaje
Cmo se modifica el sesgo u ?
u > + + +
n n
x w x w x w ...
2 2 1 1
0 ...
1 1 2 2 1 1
> + + + +
+ + n n n n
x w x w x w x w

u
1
x
1

x
2

x
3

y
1
u
w
1
w
2
w
3
0 ) 1 ( ...
2 2 1 1
> + + + + u
n n
x w x w x w
( ) ( ) ( ) | | k y k z k k = A ) ( q u
Algoritmo del Perceptrn
Paso 0: Inicializacin
Inicializar los pesos sinpticos con nmeros aleatorios del intervalo [-1,1].
Ir al paso 1 con k=1
Paso 1: (k-sima iteracin)
Calcular


Paso 2: Correccin de los pesos sinpticos
Si z(k) = y(k) modificar los pesos sinpticos segn la expresin:



Paso 3: Parada
Si no se han modificado los pesos en las ltimas p iteraciones, es decir,


parar. La red se ha estabilizado.

En otro caso, ir al Paso 1 con k=k+1.
|
|
.
|

\
|
=

+
=
1
1
) ( sgn ) (
n
j
j j
k x w k y
( ) ( ) ( ) ( ) | | ( ) 1 ,..., 2 , 1 , 1 + = + = + n j k x k y k z k w k w
j i i j j
q
p k k r n j k w r w
j j
+ + = + = = ,..., 1 , 1 ,..., 2 , 1 ), ( ) (
Ejemplo
Disea un perceptrn que implemente la funcin
lgica AND
AND
Entradas Salidas
(1, 1) 1

(1, 1) 1

(1, 1) 1

(1,1) 1

w
1

w
2

x
1

x
2

1
y
u
Paso 0: Inicializacin aleatoria
w
1
= 0.4, w
2
= 0.2, u = 0.6,
Disea un perceptrn que implemente la funcin
lgica AND
0.3
0.2
1
1
1
y
0.6
Paso 1:
Patrn de entrada (1,1):
1 . 1 ) 1 ( 6 . 0 ) 1 ( 2 . 0 ) 1 ( 3 . 0 = = h
Paso 2: Correccin de los pesos sinpticos
7 . 0 1 3 . 0 1 2 ) 0 ( ) 1 (
1 1
= = = q w w
8 . 0 1 2 . 0 ) 1 ( 2 ) 0 ( ) 1 (
2 2
= + = = q w w
4 . 0 1 6 . 0 ) 1 ( 2 ) 0 ( ) 1 ( = + = = q u u
Elegimos q=0.5
y = 1
Disea un perceptrn que implemente la funcin
lgica AND
0.7
0.8
1
1
1
y
0.4
Paso 1:
Patrn de entrada (1,1):
5 . 0 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 7 . 0 = + + = h
Como y = 1 y z = 1 la clasificacin es correcta
y = 1
Disea un perceptrn que implemente la funcin
lgica AND
0.7
0.8
1
1
1
y
0.4
Paso 1:
Patrn de entrada (1,1): 3 . 0 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 7 . 0 = + + = h
3 . 0 1 7 . 0 ) 1 ( 2 ) 1 ( ) 2 (
1 1
= + = + = q w w
8 . 1 1 8 . 0 ) 1 ( 2 ) 1 ( ) 2 (
2 2
= + = + = q w w
6 . 0 1 4 . 0 ) 1 ( 2 ) 1 ( ) 2 ( = = + = q u u
Elegimos q = 0.5
Paso 2: Correccin de los pesos sinpticos
y = 1
Disea un perceptrn que implemente la funcin
lgica AND
0.3
1.8
1
1
1
y
0.6
Paso 1:
Patrn de entrada (1,1): 1 . 2 ) 1 ( 6 . 0 ) 1 ( 8 . 1 ) 1 ( 3 . 0 = + = h
3 . 1 1 3 . 0 ) 1 ( 2 ) 2 ( ) 3 (
1 1
= + = = q w w
8 . 0 1 8 . 1 ) 1 ( 2 ) 2 ( ) 3 (
2 2
= = = q w w
4 . 0 1 6 . 0 ) 1 ( 2 ) 2 ( ) 3 ( = + = = q u u
Elegimos q = 0.5
Paso 2: Correccin de los pesos sinpticos
y = 1
Disea un perceptrn que implemente la funcin
lgica AND
1.3
0.8
-1
1
1
y
0.4
7 . 2 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 3 . 1 = + + = h
0 4 . 0 8 . 0 3 . 1
2 1
= + x x
Patrn (1,1):
Patrn (1,1):
Patrn (1,1):
Patrn (1,1):
1 . 0 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 3 . 1 = + + = h
5 . 2 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 3 . 1 = + + = h
9 . 0 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 3 . 1 = + + = h
Disea un perceptrn que implemente la funcin
lgica AND
1.3
0.8
1
1
1
y
0.4
Paso 1:
Patrn de entrada (1,1): 1 . 0 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 3 . 1 = + + = h
7 . 0 1 3 . 1 ) 1 ( 2 ) 2 ( ) 3 (
1 1
= = = q w w
8 . 1 1 8 . 0 ) 1 ( 2 ) 2 ( ) 3 (
2 2
= + = = q w w
4 . 1 1 4 . 0 ) 1 ( 2 ) 2 ( ) 3 ( = + = = q u u
Elegimos q = 0.5
Paso 2: Correccin de los pesos sinpticos
y = 1
Disea un perceptrn que implemente la funcin
lgica AND
0.7
1.8
1
1
1
y
1.4
Paso 1:
Patrn de entrada (1,1): 1 . 0 ) 1 ( 4 . 0 ) 1 ( 8 . 0 ) 1 ( 3 . 1 = + + = h
7 . 0 1 3 . 1 ) 1 ( 2 ) 2 ( ) 3 (
1 1
= = = q w w
8 . 1 1 8 . 0 ) 1 ( 2 ) 2 ( ) 3 (
2 2
= + = = q w w
4 . 1 1 4 . 0 ) 1 ( 2 ) 2 ( ) 3 ( = + = = q u u
Elegimos q = 0.5
Paso 2: Correccin de los pesos sinpticos
y = 1
El Perceptrn
Dado un conjunto cualquiera de patrones de entrenamiento,
puede el Perceptrn aprender a clasificarlos correctamente?
Problema XOR
Entradas Salidas
(1, 1) 1

(1, 1) 1

(1, 1) 1

(1,1) 1

(a)
(b)
Conjuntos separables linealmente
Teorema de convergencia del Perceptrn
Si el conjunto de patrones de entrenamiento con sus salidas deseadas,
{x
1
,z
1
}, {x
2
,z
2
},,{ x
p
,z
p
},
es linealmente separable entonces el Perceptrn simple encuentra una
solucin en un nmero finito de iteraciones
Demostracin
*
1
*
2
*
1
,..., ,
+ n
w w w

=
+
>
n
j
n j j
w x w
1
1
*

=
+
<
n
j
n j j
w x w
1
1
*
Como es linealmente separable entonces existen
u
si son de la clase C
1

si son de la clase C
2

Demostracin
( ) ( ) | | ( )

+
=
+
=
+ = +
1
1
1
1
2
*
2
*
) ( ) ( ) ( ) ( 1
n
j
n
j
j j j j j
w k x k y k z k w w k w q
( ) ( ) ( ) ( ) | | ( )

+
=
+
=
+ + =
1
1
1
1
2 2
2
2
*
n
j
n
j
j j j
k x k y k z w k w q ( ) ( ) | | ( ) ( ) ( )

+
=

1
1
*
2
n
j
j j j
k x w k w k y k z q
( ) ( ) | | ( ) ( ) ( ) | | ( )

+
=
+
=
+
1
1
*
1
1
2 ) ) ( ( 2
n
j
j j
n
j
j j
k x w k y k z k x k w k y k z q q
( ) ( ) ( ) ( )

+
=
+
=
+
=
+ + s
1
1
1
1
1
1
*
2
2
2
*
4 0 4
n
j
n
j
n
j
j j j j j
k x w k x w k w q q
( )

+
=
1
1
*
2
n
j
j j
k x w ( ) ( )

+
=

1
1
2
n
j
j j
k x k w
Demostracin
( ) max
1
1
2
1
)
`

=

+
=
s s
n
j
j
p k
k x L
( ) min
1
1
*
1
)
`

=

+
=
s s
n
j
j j
p k
k x w T
( ) ( ) ( ) ( ) ( ) ( )

+
=
+
=
+
=
+
=
+ s +
1
1
1
1
1
1
1
1
*
2
2
2
*
2
*
4 4 1
n
j
n
j
n
j
n
j
j j j j j j j
k x w k x w k w w k w q q
( ) ( ) ( ) ( )

+
=
+
=
+ s +
1
1
1
1
2
2
*
2
*
4 4 1
n
j
n
j
j j j j
T L w k w w k w q q
( ) ( ) ( ) ( )

+
=
+
=
+ s +
1
1
1
1
2
*
2
*
) ( 4 1
n
j
n
j
j j j j
T L w k w w k w q q
0 < T L q
Si
L
T
< q
( ) ( ) ( ) ( )

+
=
+
=
< +
1
1
1
1
2
*
2
*
1
n
j
n
j
j j j j
w k w w k w

Tasa de aprendizaje ptima
Se trata de elegir de la tasa de aprendizaje q manera que se
produzca un mayor decrecimiento del error en cada iteracin
( ) ( ) ( ) ( )

+
=
+
=
+
=
+ = + =
1
1
*
1
1
1
1
2
2
4 4 4 ) ( ) 1 ( ) (
n
j
j j
n
j
n
j
j j j
k x w k x k w k x k D k D E q q q q
Error cuadrtico en la iteracin k+1
( ) ( ) ( )

+
=
+ = +
1
1
2
*
1 1
n
j
j j
w k w k D
( )
( ) ( ) ( ) ( )

+
=
+
=
+
=
= =
c
c
1
1
1
1
*
1
1
2
0 4 4 8
n
j
n
j
j j
n
j
j j j
k x w k x k w k x
E
q
q
q
( ) ( ) ( )
( )


+
=
+
=
+
=
+
=
1
1
2
1
1
*
1
1
2
n
j
j
n
j
j j
n
j
j j
opt
k x
k x w k x k w
q
Tasa de aprendizaje ptima
( ) ( ) ( )
( )


+
=
+
=
+
=
+
=
1
1
2
1
1
*
1
1
2
n
j
j
n
j
j j
n
j
j j
opt
k x
k x w k x k w
q
( ) ( )
( )

+
=
+
=
=
1
1
2
1
1
~
n
j
j
n
j
j j
opt
k x
k x k w
q
( ) ( ) ( ) | | ( )

+
=
+
=
=
1
1
1
1
) ( ) ( 2
n
j
j j
n
j
j j
k x k w k y k z k x k w
| | ( ) ( )
( )


+
=
+
=

=
1
1
2
1
1
2
) ( ) (
~
n
j
j
n
j
j j
opt
k x
k x k w k y k z
q
Regla de aprendizaje normalizada
( )
( ) ( ) | | ( ) ( )
( )
( ) ( ) | | ( ) k x k y k z
k x
k x k w k y k z
k w k w
j
n
j
j
n
j
j j
j j

= +

+
=
+
=
1
1
2
1
1
2
) 1 (
( )
( ) ( )
( )
( ) k x
k x
k x k w
k w k w
j
n
j
j
n
j
j j
j j

+
=
+
=
= +
1
1
2
1
1
2 ) 1 (
Regla de aprendizaje normalizada

+
=
+ = +
1
1
2
2
) 1 ( ) 1 (
n
j
j
k w k w

+
=
+
=
+
=
+
=
+
=
+
=
+
=

|
|
|
|
.
|

\
|
+ =
1
1
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
2 2
) ( ) (
) (
) ( ) (
4
) (
) ( ) (
2 ) ( ) (
n
i
j j
n
j
j
n
j
j j
n
j
n
j
j
n
j
j j
n
j
j j
k x k w
k x
k x k w
k x
k x k w
k x k w
1 ) (
1
1
2
= =

+
=
n
j
j
k w
Interpretacin de la regla de aprendizaje del
Perceptrn

+
=
> =
1
1
0
n
j
j j
T
x w x w

+
=
< =
1
1
0
n
j
j j
T
x w x w
x e C
1

x e C
2

2 1
, ) sgn( C C z y e = = x x w
T

s +
= +
caso otro en ) (
0 ) ( )) ( ( si ) ( ) (
) 1 (
k
k k k k
k
T
w
w a a w
w

=
=
=
1 ) ( si ) (
1 ) ( si ) (
k z k
k z k
(k)
x
x
a
0 ) ( )) ( ( s k k
T
w a
Se realizan las correcciones siempre y cuando se producen clasificaciones
incorrectas, es decir,
Interpretacin de la regla de aprendizaje del Perceptrn
0 ) ( )) ( ( s k k
T
w a
Se realizan las correcciones siempre y cuando se producen clasificaciones
incorrectas, es decir,
a(k)
w(k+1)
w(k)
a(k)
+

0 ) ( )) ( ( = k k
T
w a
Deduccin de la regla de aprendizaje
0 ) ( > w a
T
k
La regla de aprendizaje del Perceptrn intenta encontrar una
solucin w* para el siguiente sistema de desigualdades:
k =1,2,,p

e
=
) (
) ( ) (
w
w a w
I k
T
k J
I(w) es el conjunto de patrones clasificados incorrectamente utilizando
el vector de pesos sinpticos w (es decir, (a(k))T w s 0). As, J nunca es
negativo y si dicho conjunto es vaco entonces J alcanza su valor
mnimo, J = 0.
Funcin criterio:

e
= V
) (
)) ( (
w
a
I k
k J
Mtodo del descenso del gradiente
J k k k V = + ) ( ) ( ) 1 ( q w w

e
+ =
) (
) ( ) ( ) (
w
a w
I k
k k k q
Algoritmo de aprendizaje por lotes
del Perceptrn
Paso 0: Inicializacin
Inicializar los pesos sinpticos con nmeros aleatorios del
intervalo [-1,1]. Fijar un valor de parada s. Ir al paso 1 con k=1

Paso 1: (k-sima iteracin) Correccin de los pesos sinpticos




Paso 2: Parada

Si parar.

En otro caso, ir al Paso 1 con k=k+1.


e
+ = +
) (
) ( ) ( ) ( ) 1 (
w
a w w
I k
k k k k q
s k k
I k
<

e ) (
) ( ) (
w
a q

) ( ) ( ) ( ) 1 ( k k k k a w w q + = +
Paso 1
Una modificacin: La Regla del Bolsillo
Consiste en tener en cuenta el nmero de iteraciones consecutivas del
algoritmo de perceptrn en las cuales no se ha modificado el vector de
pesos sinpticos (para cada uno de los vectores que va generando), es
decir, tener en cuenta el nmero de patrones que se han clasificado
correctamente con dicho vector hasta que se ha encontrado el primer
patrn que clasifica incorrectamente. Se tiene guardado en el bolsillo la
mejor solucin explorada, es decir, el vector de pesos sinpticos
generado que ha conseguido, hasta el momento, el mayor nmero de
iteraciones sin ser modificado. Cuando se encuentra un nuevo vector de
pesos sinpticos que consigue un mayor nmero de clasificaciones
correctas consecutivas que el que hay en el bolsillo entonces el vector
del bolsillo se reemplaza por este. La solucin final viene dada por el
vector de pesos sinpticos guardado en el bolsillo.
La ADALINA
La ADALINA (tambin llamada ADALINE), pues corresponde al acrnimo
de ADAptive Linear NEuron) o neurona con adaptacin lineal que fue
introducida por Widrow en 1959. Esta neurona es similar al Perceptrn
simple pero utiliza como funcin de transferencia la funcin identidad en
lugar de la funcin signo. La salida de la ADALINA es simplemente una
funcin lineal de las entradas (ponderadas con los pesos sinpticos):

=
=
N
j
j j
x w y
1
u

+
=
=
1
1
N
j
j j
x w y
{ }
p 2 1
x x x ,..., ,
{ }
p 2 1
z z z ,..., ,
( ) ( )

=
+
= =
|
|
.
|

\
|
= =
p
k
N
j
k
j j
k
p
k
k
x k w z k y z E
1
2
1
1 1
2
) (
2
1
2
1
La ADALINA
( ) ( )

=
+
= =
|
|
.
|

\
|
= =
p
k
N
j
k
j j
k
p
k
k
x k w z k y z E
1
2
1
1 1
2
) (
2
1
2
1
) ( ) ( ) 1 ( k w k w k w
r r r
A + = +
) (
) (
k w
E
k w
r
r
c
c
= A q
| |
k
r
k
x k y z ) ( =q
Aprendizaje individualizado:
La ADALINA
) ( ) ( ) 1 ( k w k w k w
r r r
A + = +
) (
) (
k w
E
k w
r
r
c
c
= A q
( ) ( )

=
+
= =
|
|
.
|

\
|
= =
p
k
N
j
k
j j
k
p
k
k
x w z
p
k y z
p
E
1
2
1
1 1
2
2
1
2
1
| |

=
=
p
k
k
j
k
x k y z
p
1
) (
1
q
Aprendizaje por lotes:
Neuronas con salida continua:
Regla de aprendizaje de Widrow-Hoff
|
|
.
|

\
|
=

=
N
j
j j
x w g y
1
( )
( ) x
x g
| 2 exp 1
1
+

( ) ( )
x x
x x
e
e e
x x g


e
tanh
| |
| |
|

= =
x
1

x
2

x
3

y
w
1

w
2

w
3

Neuronas con salida continua:
Regla de aprendizaje de Widrow-Hoff
( ) ( )

=
+
= =
|
|
.
|

\
|
= =
p
k
N
j
k
j j
k
p
k
k
x k w g z k y z E
1
2
1
1 1
2
) ) ( (
2
1
2
1
) (
) (
k w
E
k w
j
j
c
c
= A q
| | ( )
k
j
k
x h g k y z ' ) ( =q
Neuronas con salida continua:
Regla de aprendizaje de Widrow-Hoff
( ) ( )

=
+
= =
|
|
.
|

\
|
= =
p
k
N
j
k
j j
k
p
k
k
x w g z
p
k y z
p
E
1
2
1
1 1
2
) (
2
1
2
1
j
j
w
E
w
c
c
= A q
| |

=
=
p
k
k
j
k
x h g k y z
p
1
) ( ' ) (
1
q

También podría gustarte