You are on page 1of 47

Ing.

Fredy YUCRA YTO



Historia: En 1943, W. McCulloch y W. Pitts produjeron una de las
primeras neuronas artificiales. La caracterstica principal de ese modelo
es que comparaba una suma pesada de sus entradas con un umbral
para obtener la salida.
Regla de Aprendizaje del
Perceptrn
Objetivo: Entrenar perceptrones para que aprendan a resolver problemas
de clasificacin.
Problema: Determinar la matriz de pesos y el vector de sesgos para las
redes perceptrnicas con muchas entradas, donde es difcil obtener
grficamente las fronteras de decisin.
Problema: A diferencia de las neuronas biolgicas, los parmetros se
deban disear, ya que no haban mtodos de entrenamiento.
Regla de Aprendizaje del
Perceptrn
Cuando la suma es mayor o igual al umbral, la salida es 1 y 0 en caso
contrario. Ellos pensaron que una red con este tipo de neuronas podra
calcular cualquier funcin aritmtica o lgica.
Finalizando los 1950, F. Rosenblatt y sus colaboradores
desarrollaron una clase de red neural que llamaron
perceptrnes. Las neuronas de esas redes eran similares a las de
McCulloch y Pitts.
Contribucin: Rosenblatt introdujo una regla de aprendizaje para
entrenar las redes perceptrnicas para resolver problemas de
reconocimiento de patrones. El prob que la regla de aprendizaje
siempre converge a los pesos correctos, si esos pesos existen, es decir,
si el problema tiene solucin. Es un aprendizaje simple y automtico
donde la red aprende de sus errores.
El perceptrn aprende incluso cuando se inicializan sus pesos y sesgos
con valores aleatorios.
Desafortunadamente el perceptrn es limitado. La limitacin fue
publicada en el libro Perceptrones de Minsky y Papert. Donde se
demostraba que una red de perceptrones era incapaz de implementar
ciertas funciones elementales
Regla de Aprendizaje del
Perceptrn
Problema Resuelto: Las limitaciones fueron superadas en la dcada de
1980 con redes perceptrnicas multicapas y nuevas reglas de
aprendizaje.
Posteriormente: Las redes perceptrnicas jugaron un rol importante.
Hay muchas clases de problemas que pueden resolver rpida y
eficientemente. Entender las operaciones de los perceptrones es la
base para entender redes ms complejas.
Regla de Aprendizaje del
Perceptrn
Aprendizaje supervisado:
La red dispone de un conjunto de patrones ejemplos (conjunto de
entrenamiento) a partir de los cuales aprende: {p
1
,t
1
}, {p
2,
t
2
}, ....,{p
Q
,t
Q
}
Reglas de aprendizaje: procedimientos para modificar los pesos y los
sesgos de las redes. Tambin se habla de etapa de entrenamiento. El
propsito del aprendizaje es entrenar la red para que realice alguna tarea.
Hay muchos tipos de reglas de aprendizajes neurales que se clasifican en
tres categoras: aprendizaje supervisado, aprendizaje no supervisado y
aprendizaje por reforzamiento.
Reglas de Aprendizaje de las
RNA
La regla de aprendizaje se usa para ajustar los
pesos y los sesgos con el fin de mover las
salidas de la red tan cerca como sea posible de
las salidas pre-establecidas.
P
q
es una entrada a la red y t
q
es la salida
correcta para esa entrada. A medida que las
entradas se aplican a la red, las salidas
obtenidas se comparan con las salidas pre-
establecidas.
Reglas de Aprendizaje de las
RNA
Aprendizaje no supervisado:
Los pesos y los sesgos se modifican en respuesta a las entradas
solamente. No hay salidas pre-establecidas para las entradas.
Aprendizaje reforzado:
Es similar al supervisado pero en lugar de poseer la salida correcta para
cada entrada, el algoritmo solamente da un valor aproximado. Ese score
es una medida de la capacidad de la red de reconocer secuencias de
entradas. Este tipo de aprendizaje es menos comn que el supervisado y
aparece en aplicaciones de sistemas de control.
Reglas de Aprendizaje de las
RNA
Las redes aprenden a categorizar los patrones de entrada en un nmero
finito de clases. Son especialmente tiles en aplicaciones donde se
realiza cuantificacin vectorial.
Aunque parece poco prctico entrenar una red si no sabemos qu
debe obtener como salida, muchos de estos algoritmos realizan algn
tipo de operacin de agrupamiento.
La regla de aprendizaje del perceptrn es del tipo supervisado.
Reglas de Aprendizaje de las
RNA
Arquitectura del perceptrn
W

b

+

a

n

p

1

SxR

Sx1

Sx1

S

Sx1

Rx1

La salida de la red perceptrnica esta dada por:
a = hardlim(Wp+b)

Sea
un vector compuesto por los elementos de la i-sima fila de W.
Redes de perceptrones
w
1,1
w
1,2
.. w
1,R
w
i,1

w
2,1
w
2,2
.. w
2,R
w
i,2

W = .. y sea iw = ....
w
S,1
w
S,2
.. w
S,R
w
i,R




2w
T

W = .
sw
T


1w
T

Sea
a
i
= hardlim(n
i
) = hardlim(iw
T
p + b
i
)
Cada neurona en la red divide el espacio de entradas en dos regiones. Hay que
averiguar las fronteras entre esas regiones.
Si el producto interno de la i-sima fila de la matriz de pesos con el vector de entrada
es mayor o igual a b
i
, la salida es 1, de lo contrario es 0.
Redes de perceptrones
Perceptrn nico de dos entradas: R = 2 y S = 1
a = hardlim(n) = hardlim(Wp+b)
= hardlim(1w
T
p+b) = hardlim(w
1,1
p
1
+ w
1,2
p
2
+ b)
Esto define una recta en el espacio de entradas, donde a un lado de la recta, la
red sacar un 0 y del otro lado y sobre sta sacar un 1.
La frontera de decisin la determinan los vectores de entrada para los cuales la entrada de
red n es cero:
w
1,1
p
1
+ w
1,2
p
2
+ b = 0
Si asignamos los siguientes valores a los pesos y al sesgo:
w
1,1
= 1, w
1,2
= 1, b = -1
la frontera de decisin ser entonces: p
1
+ p
2
- 1 = 0
Redes de perceptrones
Para dibujar la recta, buscamos los puntos donde intersecta a los ejes p
1
y p
2
.
Para encontrar el punto de interseccin con p
2
, hacemos p
1
= 0, luego p
2
= 1
y la interseccin con p
1
, ser donde p
2
= 0, es decir, en p
1
= 1.
Redes de perceptrones
p
1


p
2


1

1

n = 0

1w

a = 0

a = 1













La frontera de decisin se observa en la figura.
Para probar a cul lado de la frontera corresponde la salida de un 1,
tomemos un punto de entrada p = [2 0]
T
, con lo que la salida de la red
ser:
Redes de perceptrones
a = hardlim(n) = hardlim(Wp+b)
= hardlim(1w
T
p+b) = hardlim(w
1,1
p
1
+ w
1,2
p
2
+ b) = hardlim(2-1) = 1
Redes de perceptrones
Por lo tanto la salida de la red ser 1 para la regin de arriba y a la
derecha de la frontera de decisin.
Tambin podemos encontrar la frontera de decisin en forma
grfica.
Notemos que la frontera es siempre ortogonal a 1w y que est
definida por:
1w
T
p+b = 0
Para todos los puntos sobre la frontera, el producto interno del
vector de entrada con el vector de pesos es el mismo. Eso significa
que los vectores de entrada (sobre la frontera) tendrn todos la
misma proyeccin sobre el vector de pesos, es decir, ellos estn
sobre una recta ortogonal al vector de pesos.
Redes de perceptrones
Adems, cualquier vector en la regin sobre y a la derecha de la
frontera tendr un producto interno mayor que b y el resto tendr
un producto interno menor que b. El vector de pesos 1w apuntar
siempre a la regin donde la neurona saca un 1 (averiguar si
siempre el vector de pesos apunta a esa regin en todas las redes).
Ejemplo: implementacin de la funcin lgica AND con una
red perceptrnica. Los pares de entrada/salida para esa
compuerta lgica son:
Redes de perceptrones
p
i
t
i

0

0

0

0

1

0

1

0

0

1

1

1

El primer paso del diseo es seleccionar una frontera de decisin.
Queremos una recta que separe las salidas 1 de las salidas 0. Hay un
nmero infinito de soluciones a este problemas. Parece razonable la
siguiente, cuando cada punto es un par:
AND

1w

Redes de perceptrones
Una sera 1w = [2 2]
T

El siguiente paso es escoger un vector de pesos ortogonal a la
frontera de decisin. El vector de pesos puede ser de cualquier
longitud, as que hay infinitas posibilidades.
Finalmente necesitamos un vector de sesgo b. Podemos escoger
un punto sobre la frontera de decisin que satisfaga 1w
T
p+b = 0.
Redes de
perceptrones




a = hardlim(n) = hardlim(1w
T
p
2
+b) = hardlim = [2 2] 0 - 3 = hardlim(-1) = 0
1

Si se escoge p = [1.5 0]
T
, entonces 1w
T
p+b = [2 2] 1.5 + b = 3 + b = 0,
luego b = -3 . 0

Ahora podemos probar la red con cualquier par de entrada/salida. Si aplicamos la
entrada p
2
= [0 1]
T
la salida ser:

la cual es la salida t
2
= 0.
Hay que experimentar con diferentes fronteras de decisin.
Redes de perceptrones
Un perceptrn de mltiples neuronas puede clasificar entradas en muchas
categoras, cada categora est representada por un vector de salida
diferente. Dado que cada elemento del vector de salida puede ser 0 1,
hay 2
S
categoras posibles.
Red perceptrnica de mltiples neuronas: (una frontera de decisin para
cada neurona). La frontera de decisin para la neurona i estar definida
por: iw
T
p+b
i
= 0.
Un perceptrn de una neurona puede clasificar los vectores de entradas
en dos categoras dado que su salida puede ser 0 1.
Redes de perceptrones
Problema de prueba. Para desarrollar la intuicin de cmo trabaja la
regla de aprendizaje tenemos un ejemplo.
Regla de aprendizaje del perceptrn: es un ejemplo del aprendizaje
supervisado, en el cual la regla de aprendizaje requiere un conjunto de
ejemplos del comportamiento esperado de la red: {p
1
,t
1
}, {p
2,
t
2
},
....,{p
Q
,t
Q
}.
Redes de perceptrones
Sean los siguientes pares entrada/salida:
p
i
t
i


1

2

1

-
1

2

0

0

-
1

0

Supongamos la red sin sesgo, es decir, la frontera de decisin pasa por
el origen.
a = harlim(Wp)
Debemos encontrar una frontera que separe los vectores p
2
y p
3
del
vector p
1
(hay un nmero infinito de posibilidades, un nmero infinito
de vectores de pesos).
Deseamos una regla de aprendizaje que encuentre un vector de
pesos que apunte en una de esas direcciones (no importa su
longitud, slo su direccin).
1w

1

2

3

CONSTRUCCIN DE LA REGLA DE APRENDIZAJE
El entrenamiento comienza asignando algunos valores iniciales a los
parmetros de la red. Inicializamos los dos pesos con valores aleatorios:

1w
T
= [1.0 0.8]
Se le presentan los vectores de entrada a la red. Comenzamos con
p
1
:

2
a = harlim(1W
T
p
1
) =hardlim [1.0 0.8] 1 = hardlim(-0.6) = 0

La red no obtuvo el valor correcto que es t
1
= 1. Grficamente
podemos observar que fue lo que pas.

Los valores iniciales del vector de pesos dan origen a una frontera de
decisin que clasifica de manera incorrecta al vector p
1
.

Se requiere alterar el vector de pesos que apunte hacia el vector p
1

para que en el futuro tenga una clasificacin correcta.
Un enfoque sera hacer al vector de pesos igual a p
1
pero
desafortunadamente esta regla no encontrara una solucin, ya que es
imposible que el vector de pesos sea ortogonal a una frontera que separe
correctamente todos los vectores de entrada de una misma clase (el
vector de pesos oscilara sin encontrar una solucin).












1w

1

2

3













Otra posibilidad sera agregar p
1
a 1w. Esto hara que 1w
apunte ms en la direccin de p
1
. Haciendo repetidas
presentaciones de p
1
a la red hara que la direccin de 1w se
aproxime asintticamente a la direccin de p
1
.

La regla sera como sigue:
Si t = 1 y a = 0 entonces 1w
nuevo
= 1W
viejo
+ p

Aplicando esta regla a nuestro problema, el nuevo vector de
pesos ser:

1w
nuevo
= 1W
viejo
+ p
1
= + =
-0.8 2 1.2
1.0 1 2
1w

1

2

3

Ahora nos movemos sobre los
prximos vectores de entrada y
cambiamos los pesos
repetidamente, hasta que las
entradas sean clasificadas
correctamente.
Esta operacin se ilustra a continuacin:

1w
nuevo
= 1W
viejo
- p
2
= - =
1.2 2 -0.8


Trabajando con p
2
encontramos como salida de la red:


2
a = harlim(1W
T
p
2
) = hardlim [2.0 1.2] -1 = hardlim(0.4) = 1
El vector de la clase 0 fue clasificado como clase 1. Como nos gustara mover
el vector de pesos lejos de esta entrada se puede modificar la regla a:
Si t = 0 y a = 1 entonces 1w
nuevo
= 1W
viejo
- p

Aplicando la regla:
2.0 -1 3

1w

1

2

3
















Ahora le presentamos el vector p
3
:


-1

a = harlim(1W
T
p
3
) = hardlim [3.0 0.8] 0 = hardlim(0.8) = 1

El vector de pesos actual produce una frontera de decisin
que no puede clasificar a p
3
. Aplicamos la regla:
1w
nuevo
= 1W
viejo
p
3
= - =
-0.8 -1 0.2
3.0 0 3

1w

1

2

3













El diagrama muestra que la red perceptrn ha aprendido a
clasificar los tres vectores de forma apropiada. Si presentamos
cualquiera de los tres vectores de entrada a la neurona, sta
obtendr la clase correcta para ese vector.
Ahora tenemos la regla final:

Si t = a entonces 1w
nuevo
= 1W
viejo


Resumen de las reglas que cubren todas las combinaciones
posibles de las salidas obtenidas y las esperadas:

Si t = 1 y a = 0 entonces 1w
nuevo
= 1W
viejo
+ p
Si t = 0 y a = 1 entonces 1w
nuevo
= 1W
viejo
- p
Si t = a entonces 1w
nuevo
= 1W
viejo

Regla de aprendizaje unificada:
Es una expresin compacta para las tres reglas vistas. Se
define una nueva variable como el error del perceptrn e:
e = t-a
Si e = 1 entonces 1w
nuevo
= 1W
viejo
+ p
Si e = -1 entonces 1w
nuevo
= 1W
viejo
- p
Si e = 0 entonces 1w
nuevo
= 1W
viejo
Como el signo de p es el mismo de e y como en la tercera
regla, la ausencia de p corresponde a un e = 0, se pueden
unificar las tres reglas en:
1w
nuevo
= 1W
viejo
+ ep = 1W
viejo
+ (t-a)p
Esta regla se puede extender para entrenar el sesgo sabiendo
que ste es simplemente un peso con entrada 1. La regla del
perceptrn para el sesgo es:

b
nuevo
= b
viejo
+ e

ENTRENAMIENTO DE PERCEPTRONES CON MLTIPLES NEURONAS

Se generaliza la regla que conocemos para una neurona. Se
modifica la i-sima fila de la matriz de pesos:

iw
nuevo
= iW
viejo
+ e
i
p y para modificar el i-simo elemento del
vector de sesgo es: ib
nuevo
= ib
viejo
+ e
i

En general, la regla del perceptrn se escribe en forma
matricial como:
w
nuevo
= W
viejo
+ ep
T

b
nuevo
= b
viejo
+ e

Consideremos de nuevo el problema de reconocer manzanas y
naranjas:

p
i
t
i


1

-1

-1

0


1

1

-1

1

(como se est usando hardlim en lugar de hardlims se est
usando salida 0 en lugar de 1 para las naranjas).
Tpicamente los pesos y los sesgos se inicializan con nmeros
aleatorios pequeos.

Supongamos w = [0.5 1 0.5], b = 0.5

El primer paso es aplicar el primer vector p
1
de entrada a la red:


a = harlim(W p
2
+ b) = hardlim [-0.5 0 0.5] 1 - 0.5 = hardlim(-1.5) = 0
-1


a = harlim(W p
1
+ b) = hardlim [0.5 1 0.5] -1 + 0.5 = hardlim(2.5) = 1
-1

1

e = t
1
a = 0 1 = -1
w
nuevo
= W
viejo
+ ep
T
= [0.5 1 0.5] + (-1)[1 1 -1] = [-0.5 0 0.5]
b
nuevo
= b
viejo
+ e = 0.5 1 = -0.5

esto completa la primera iteracin.

La segunda iteracin de la regla del perceptrn:


1

e = t
2
a = 1 0 = 1
w
nuevo
= W
viejo
+ ep
T
= [-0.5 0 0.5] + (1)[1 1 -1] = [0.5 1 -0.5]
b
nuevo
= b
viejo
+ e = -0.5 + 1 = 0.5


La tercera iteracin comienza de nuevo con el primer vector de
entrada:


a = harlim(W p
1
+ b) = hardlim [0.5 1 0.5] -1 + 0.5 = hardlim(0.5) = 1
-1


1

e = t
1
a = 0 1 = -1
w
nuevo
= W
viejo
+ ep
T
= [0.5 1 0.5] + (-1)[1 1 -1] = [-0.5 2 0.5]
b
nuevo
= b
viejo
+ e = 0.5 1 = -0.5

Si se continua con las iteraciones encontraremos que los dos vectores de
entrada sern clasificados correctamente. El Algoritmo converge a una
solucin. La frontera de decisin final no es la misma que la encontrada cuando
se describi el ejemplo la primera vez, aunque las dos clasifican correctamente
las entradas.


Hacerlo.


PRUEBA DE CONVERGENCIA
La regla de aprendizaje del perceptrn es simple pero muy poderosa. Siempre
converge a los pesos que logran la clasificacin, cuando esos pesos existen.

Prueba de convergencia para un perceptrn de una neurona:

La salida del perceptrn se obtiene como: a = harlim(1W
T
p + b)
los ejemplos del comportamiento adecuado son: {p
1
,t
1
}, {p
2,
t
2
}, ....,{p
Q
,t
Q
}.
Cada salida t
q
es un 0 un 1.

Notacin:

1w

x = el vector de pesos aumentado.
b


z
q
= el vector de entrada aumentado
1

p
q


La entrada de red n = 1w
T
p + b = x
T
z
q

La regla de aprendizaje para el perceptrn de una neurona se
puede escribir como:
x
nuevo
= x
viejo
+ ez

El error puede ser 1, -1 0 por lo tanto los pesos pueden cambiar
o no en cada iteracin. Si se cuentan solo las iteraciones para los
cuales el vector de pesos cambia, la regla de aprendizaje ser:

x(k) = x(k-1) + z
,
(k-1) (el peso actual depende del peso anterior y
de la entrada anterior).

z
,
(k-1) es el miembro apropiado del conjunto
{z
1
, z
2
, ..., z
Q
, -z
1
, -z
2
, ... , -z
Q
}

Supondremos que existe un vector de pesos que puede clasificar
de manera correcta todos los vectores de entrada Q. Esa solucin
la simbolizaremos como x
*
. Para este vector de pesos asumiremos
que:


x
*T
z
q
> > 0 si t
q
= 1

y
x
*T
z
q
< - < 0 si t
q
= 0

Buscamos los lmites superior e inferior de la longitud del vector
de pesos en cada paso del algoritmo.

Supongamos que el vector de pesos se inicializa con cero: x(0) =
0
Despus de k iteraciones tenemos x(k) = z
,
(0) + z
,
(1) + ... + z
,
(k-
1)

Si tomamos el producto interno del vector de pesos solucin con
el vector de pesos en la iteracin k se tiene:

x
*T
x(k) = x
*T
z
,
(0) + x
*T
z
,
(1) + ... + x
*T
z
,
(k-1)

Suponiendo x
*T
z
,
(i) > entonces x
*T
x(k) > k (los pesos en la
direccin de las entradas)
ahora queremos un lmite superior para la longitud del vector de
pesos: comenzamos por buscar el cambio en la longitud en la
iteracin k:

||x(k)||
2
= x
T
(k)x(k)

= [x(k-1) + z
,
(k-1)]
T
[x(k-1) + z
,
(k-1)]

= x
T
(k-1)x(k-1) + 2 x
T
(k-1) z
,
(k-1) + z
,T
(k-1) z
,
(k-1)

como los pesos se modifican cuando el vector previo de entrada
no se clasifica correctamente, entonces

(x
*T
x(k))
2
(k)
2

|| x
*
||
2
|| x
*
||
2


De la desigualdad Cauchy-Schwartz (x
*T
x(k))
2
|| x
*
||
2

||x(k)||
2

Donde ||x||
2
= x
T
x

Combinando las dos penltimas ecuaciones, se puede poner un


lmite inferior al cuadrado de la longitud del vector de pesos en
la iteracin k:

||x(k)||
2
>


M|| x
*
||
2


2


Simplificando la ltima ecuacin
||x(k)||
2
||x(k-1)||
2
+ ||z
,
(k-1)||
2


Repitiendo el proceso para ||x(k-1)||
2
, ||x(k-2)||
2
, ... se
obtiene


||x(k)||
2
||z
,
(0)||
2
+ ||z
,
(1)||
2
+ .... + ||z
,
(k-1)||
2


si M = max(||z
,
(i)||
2
), este lmite superior se puede simplificar a ||x(k)||
2
kM.
Tenemos ahora un lmite superior y un lmite inferior para la longitud
cuadrada del vector de pesos en la iteracin k. Si se combinan las dos
desigualdades se encuentra que:


(k)
2

|| x
*
||
2

kM ||x(k)||
2

k <

>
k tiene una cota superior, significa que los pesos sern cambiados
un nmero finito de veces. La regla de aprendizaje del perceptrn
converge en un nmero finito de iteraciones.

El nmero mximo de iteraciones est relacionado de manera
inversamente proporcional al cuadrado de . Este parmetro es
una medida de qu tan cerca est la frontera de decisin solucin a
los vectores de entrada. Esto significa que si las clases de entrada
son difciles de separar (estn cerca de la frontera de decisin) el
algoritmo converger en muchas iteraciones.

Hay tres supuestos claves requeridos para la prueba:
1.- Existe una solucin tal que se satisfaga x
*T
z
,
(i) > .
2.- Los pesos solo se modifican cuando el vector de entrada no es
clasificado correctamente.
3.- Existe un lmite superior M, para la longitud de los vectores de
entrada.

NOTA: Debido a la generalidad de la prueba hay muchas variantes
de la regla de aprendizaje del perceptrn.

Limitaciones: La regla de aprendizaje del perceptrn converge a una solucin
en un nmero finito de pasos, si la solucin existe. Entonces qu problemas
puede resolver un perceptrn?.

Un perceptrn de una neurona divide el espacio de entrada en dos regiones. La
frontera entre las regiones est definida por la ecuacin 1w
T
+b = 0.
La frontera es lneal (Hiperplano). Los perceptrones se pueden utilizar para
clasificar vectores de entrada que se puedan separar por una frontera lneal.
Desafortunadamente muchos problemas no son linealmente separables. Un
ejemplo clsico es la funcin lgica XOR.

Las entradas/salidas para la funcin XOR son:

P
i
t
i


0

0

0

0

1

1

1

0

1

1

1

0

Grficamente tenemos este problema y otros no separables linealmente:
























Aparecen los perceptrones multicapas, las cuales pueden resolver problemas de
clasificacin arbitrarios (aparece el backpropagtion para entrenar tales redes).
Esta fue la falla del perceptrn bsico para resolver problemas simples y que
minimizaron el inters sobre la investigacin del campo de las redes neurales
en los aos 1970. Rosenblatt investig ANN ms complejas las cuales
superaban la limitacin del perceptrn bsico, pero no pudo aplicar
efectivamente la regla del perceptrn a tales redes.

You might also like