Title: A1262697376xghIN
1Regla de Aprendizaje del Perceptrón
Objetivo Entrenar perceptrones para que aprendan
a resolver problemas de clasificación.
Problema Determinar la matriz de pesos y el
vector de sesgos para las redes perceptrónicas
con muchas entradas, donde es difÃcil obtener
gráficamente las fronteras de decisión.
Historia En 1943, W. McCulloch y W. Pitts
produjeron una de las primeras neuronas
artificiales. La caracterÃstica principal de ese
modelo es que comparaba una suma pesada de sus
entradas con un umbral para obtener la salida.
2Regla de Aprendizaje del Perceptrón
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 podrÃa
calcular cualquier función aritmética o lógica.
Problema A diferencia de las neuronas
biológicas, los parámetros se debÃan diseñar, ya
que no habÃan métodos de entrenamiento.
Finalizando los 1950, F. Rosenblatt y sus
colaboradores desarrollaron una clase de red
neural que llamaron perceptrónes. Las neuronas de
esas redes eran similares a las de McCulloch y
Pitts.
3Regla de Aprendizaje del Perceptrón
Contribución Rosenblatt introdujo una regla de
aprendizaje para entrenar las redes
perceptrónicas 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 solución. Es un aprendizaje simple
y automático donde la red aprende de sus
errores.
El perceptrón aprende incluso cuando se
inicializan sus pesos y sesgos con valores
aleatorios.
Desafortunadamente el perceptrón es limitado.
La limitación 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
4Regla de Aprendizaje del Perceptrón
Problema Resuelto Las limitaciones fueron
superadas en la década de 1980 con redes
perceptrónicas multicapas y nuevas reglas de
aprendizaje.
Posteriormente Las redes perceptrónicas jugaron
un rol importante. Hay muchas clases de problemas
que pueden resolver rápida y eficientemente.
Entender las operaciones de los perceptrones es
la base para entender redes más complejas.
5Reglas de Aprendizaje de las RNA
Reglas de aprendizaje procedimientos para
modificar los pesos y los sesgos de las redes.
También se habla de etapa de entrenamiento. El
propósito del aprendizaje es entrenar la red para
que realice alguna tarea.
Hay muchos tipos de reglas de aprendizajes
neurales que se clasifican en tres categorÃas
aprendizaje supervisado, aprendizaje no
supervisado y aprendizaje por reforzamiento.
 Aprendizaje supervisado La red dispone de un
conjunto de patrones ejemplos (conjunto de
entrenamiento) a partir de los cuales aprende
p1,t1, p2,t2, ....,pQ,tQ
6Reglas de Aprendizaje de las RNA
Pq es una entrada a la red y tq 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.
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.
7Reglas de Aprendizaje de las RNA
 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 común
que el supervisado y aparece en aplicaciones de
sistemas de control.
Aprendizaje no supervisado Los pesos y los
sesgos se modifican en respuesta a las entradas
solamente. No hay salidas pre-establecidas para
las entradas.
8Reglas de Aprendizaje de las RNA
Aunque parece poco práctico entrenar una red si
no sabemos qué debe obtener como salida, muchos
de estos algoritmos realizan algún tipo de
operación de agrupamiento.
Las redes aprenden a categorizar los patrones de
entrada en un número finito de clases. Son
especialmente útiles en aplicaciones donde se
realiza cuantificación vectorial.
 La regla de aprendizaje del perceptrón es del
tipo supervisado.
9Arquitectura del perceptrón
La salida de la red perceptrónica esta dada por
a hardlim(Wpb) Â
10Redes de perceptrones
Sea
un vector compuesto por los elementos de la
i-ésima fila de W.
ai hardlim(ni) hardlim(iwTp bi)
11Redes de perceptrones
Si el producto interno de la i-ésima fila de la
matriz de pesos con el vector de entrada es mayor
o igual a bi, la salida es 1, de lo contrario es
0.
Cada neurona en la red divide el espacio de
entradas en dos regiones. Hay que averiguar las
fronteras entre esas regiones.
Perceptrón único de dos entradas R 2 y S
1 Â a hardlim(n) hardlim(Wpb)
hardlim(1wTpb) hardlim(w1,1p1 w1,2p2 b)
12Redes de perceptrones
La frontera de decisión la determinan los
vectores de entrada para los cuales la entrada de
red n es cero  w1,1p1 w1,2p2 b 0
Si asignamos los siguientes valores a los pesos y
al sesgo w1,1 1, w1,2 1, b -1Â
la frontera de decisión será entonces p1 p2 -
1 0
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.
13Redes de perceptrones
Para dibujar la recta, buscamos los puntos donde
intersecta a los ejes p1 y p2.
Para encontrar el punto de intersección con p2,
hacemos p1 0, luego p2 1 y la intersección
con p1, será donde p2 0, es decir, en p1 1.
14Redes de perceptrones
        Â
Â
La frontera de decisión se observa en la
figura. Para probar a cuál lado de la frontera
corresponde la salida de un 1, tomemos un punto
de entrada p 2 0T, con lo que la salida de la
red será
15Redes de perceptrones
a hardlim(n) hardlim(Wpb)
hardlim(1wTpb) hardlim(w1,1p1 w1,2p2 b)
hardlim(2-1) 1
Por lo tanto la salida de la red será 1 para la
región de arriba y a la derecha de la frontera de
decisión.
También podemos encontrar la frontera de decisión
en forma gráfica.
Notemos que la frontera es siempre ortogonal a
1w y que está definida por 1wTpb
0
16Redes de perceptrones
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)
tendrán todos la misma proyección sobre el vector
de pesos, es decir, ellos están sobre una recta
ortogonal al vector de pesos.
Además, cualquier vector en la región 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 región donde la neurona
saca un 1 (averiguar si siempre el vector de
pesos apunta a esa región en todas las redes).Â
17Redes de perceptrones
Ejemplo implementación de la función lógica AND
con una red perceptrónica. Los pares de
entrada/salida para esa compuerta lógica son
18Redes de perceptrones
El primer paso del diseño es seleccionar una
frontera de decisión. Queremos una recta que
separe las salidas 1 de las salidas 0. Hay un
número infinito de soluciones a este problemas.
Parece razonable la siguiente, cuando cada punto
es un par
19Redes de perceptrones
El siguiente paso es escoger un vector de pesos
ortogonal a la frontera de decisión. El vector de
pesos puede ser de cualquier longitud, asà que
hay infinitas posibilidades.
Una serÃa 1w 2 2T
Finalmente necesitamos un vector de sesgo b.
Podemos escoger un punto sobre la frontera de
decisión que satisfaga 1wTpb 0.
20Redes de perceptrones
Â
21Redes de perceptrones
Red perceptrónica de múltiples neuronas (una
frontera de decisión para cada neurona). La
frontera de decisión para la neurona i estará
definida por iwTpbi 0.
Un perceptrón de una neurona puede clasificar los
vectores de entradas en dos categorÃas dado que
su salida puede ser 0 ó 1.
Un perceptrón de múltiples neuronas puede
clasificar entradas en muchas categorÃas, cada
categorÃa está representada por un vector de
salida diferente. Dado que cada elemento del
vector de salida puede ser 0 ó 1, hay 2S
categorÃas posibles.
22Redes de perceptrones
Regla de aprendizaje del perceptrón es un
ejemplo del aprendizaje supervisado, en el cual
la regla de aprendizaje requiere un conjunto de
ejemplos del comportamiento esperado de la red
p1,t1, p2,t2, ....,pQ,tQ.
Problema de prueba. Para desarrollar la intuición
de cómo trabaja la regla de aprendizaje tenemos
un ejemplo.
Sean los siguientes pares entrada/salida
23 pi ti
Supongamos la red sin sesgo, es decir, la
frontera de decisión pasa por el origen.  a
harlim(Wp)
Debemos encontrar una frontera que separe los
vectores p2 y p3 del vector p1 (hay un número
infinito de posibilidades, un número 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, sólo su
dirección).
24CONSTRUCCIÓN DE LA REGLA DE APRENDIZAJE El
entrenamiento comienza asignando algunos valores
iniciales a los parámetros de la red.
Inicializamos los dos pesos con valores
aleatorios  1wT 1.0 0.8
Se le presentan los vectores de entrada a la red.
Comenzamos con p1
25La red no obtuvo el valor correcto que es t1 1.
Gráficamente podemos observar que fue lo que
pasó.  Los valores iniciales del vector de pesos
dan origen a una frontera de decisión que
clasifica de manera incorrecta al vector p1. Â Se
requiere alterar el vector de pesos que apunte
hacia el vector p1 para que en el futuro tenga
una clasificación correcta.
26Un enfoque serÃa hacer al vector de pesos igual a
p1 pero desafortunadamente esta regla no
encontrarÃa una solución, 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
oscilarÃa sin encontrar una solución).
27Â Â Â Â Â Â Â Â Â
Â
        Â
Â
Otra posibilidad serÃa agregar p1 a 1w. Esto
harÃa que 1w apunte más en la dirección de p1.
Haciendo repetidas presentaciones de p1 a la red
harÃa que la dirección de 1w se aproxime
asintóticamente a la dirección de p1.  La regla
serÃa como sigue Si t 1 y a 0 entonces
1wnuevo 1Wviejo p  Aplicando esta regla a
nuestro problema, el nuevo vector de pesos será
28 1.0
1 2
 Esta operación se ilustra a continuación
1
2
1w
3
Ahora nos movemos sobre los próximos vectores de
entrada y cambiamos los pesos repetidamente,
hasta que las entradas sean clasificadas
correctamente.
29Trabajando con p2 encontramos como salida de la
red
El vector de la clase 0 fue clasificado como
clase 1. Como nos gustarÃa mover el vector de
pesos lejos de esta entrada se puede modificar la
regla a Si t 0 y a 1 entonces 1wnuevo
1Wviejo - p  Aplicando la regla
 1wnuevo 1Wviejo - p2 -
1.2 2 -0.8 Â
2.0
-1 3
30Â Â Â Â Â Â Â Â Â Â Â Â
Â
Ahora le presentamos el vector p3
Â
-1
a harlim(1WT p3) hardlim 3.0 0.8 0
hardlim(0.8) 1
El vector de pesos actual produce una frontera de
decisión que no puede clasificar a p3. Aplicamos
la regla
31Â Â Â Â Â Â Â Â Â Â Â
El diagrama muestra que la red perceptrón 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.
32Ahora tenemos la regla final  Si t a
entonces 1wnuevo 1Wviejo  Resumen de las
reglas que cubren todas las combinaciones
posibles de las salidas obtenidas y las
esperadas  Si t 1 y a 0 entonces 1wnuevo
1Wviejo p Si t 0 y a 1 entonces 1wnuevo
1Wviejo - p Si t a entonces 1wnuevo 1Wviejo
33Regla de aprendizaje unificada Es una expresión
compacta para las tres reglas vistas. Se define
una nueva variable como el error del perceptrón
e e t-a Si e 1 entonces 1wnuevo 1Wviejo
p Si e -1 entonces 1wnuevo 1Wviejo - p Si
e 0 entonces 1wnuevo 1Wviejo
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 1wnuevo 1Wviejo ep 1Wviejo (t-a)p
34Â Esta regla se puede extender para entrenar el
sesgo sabiendo que éste es simplemente un peso
con entrada 1. La regla del perceptrón para el
sesgo es  bnuevo bviejo e  ENTRENAMIENTO
DE PERCEPTRONES CON MÚLTIPLES NEURONAS  Se
generaliza la regla que conocemos para una
neurona. Se modifica la i-ésima fila de la matriz
de pesos  iwnuevo iWviejo eip y para
modificar el i-ésimo elemento del vector de sesgo
es ibnuevo ibviejo ei
35En general, la regla del perceptrón se escribe en
forma matricial como wnuevo Wviejo
epT bnuevo bviejo e  Consideremos de
nuevo el problema de reconocer manzanas y
naranjas
pi
ti
(como se está usando hardlim en lugar de hardlims
se está usando salida 0 en lugar de 1 para las
naranjas). TÃpicamente los pesos y los sesgos se
inicializan con números aleatorios pequeños.
 Supongamos w 0.5 1 0.5, b 0.5  El
primer paso es aplicar el primer vector p1 de
entrada a la red
36Â a harlim(W p1 b) hardlim 0.5 1 0.5
-1 0.5 hardlim(2.5) 1
-1
1
e t1 a 0 1 -1 wnuevo Wviejo epT
0.5 1 0.5 (-1)1 1 -1 -0.5 0
0.5 bnuevo bviejo e 0.5 1
-0.5  esto completa la primera iteración.  La
segunda iteración de la regla del perceptrón
1
 a harlim(W p2 b) hardlim -0.5 0 0.5
1 - 0.5 hardlim(-1.5) 0
-1
e t2 a 1 0 1 wnuevo Wviejo epT
-0.5 0 0.5 (1)1 1 -1 0.5 1
-0.5 bnuevo bviejo e -0.5 1
0.5 Â
37La tercera iteración comienza de nuevo con el
primer vector de entrada
1
 a harlim(W p1 b) hardlim 0.5 1 0.5
-1 0.5 hardlim(0.5) 1
-1
e t1 a 0 1 -1 wnuevo Wviejo epT
0.5 1 0.5 (-1)1 1 -1 -0.5 2
0.5 bnuevo bviejo e 0.5 1
-0.5 Â Si se continua con las iteraciones
encontraremos que los dos vectores de entrada
serán clasificados correctamente. El Algoritmo
converge a una solución. La frontera de decisión
final no es la misma que la encontrada cuando se
describió el ejemplo la primera vez, aunque las
dos clasifican correctamente las
entradas. Â Â Hacerlo. Â
38PRUEBA DE CONVERGENCIA La regla de aprendizaje
del perceptrón es simple pero muy poderosa.
Siempre converge a los pesos que logran la
clasificación, cuando esos pesos existen.
 Prueba de convergencia para un perceptrón de
una neurona  La salida del perceptrón se
obtiene como a harlim(1WT p b) los ejemplos
del comportamiento adecuado son p1,t1,
p2,t2, ....,pQ,tQ. Cada salida tq es un 0 ó
un 1.  Notación
1w
x el vector de pesos aumentado.
b
pq
 zq el vector de entrada
aumentado 1
39La entrada de red n 1wTp b xTzq La regla de
aprendizaje para el perceptrón de una neurona se
puede escribir como xnuevo xviejo ez  El
error puede ser 1, -1 ó 0 por lo tanto los pesos
pueden cambiar o no en cada iteración. 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 z1, z2, ..., zQ, -z1, -z2, ... ,
-zQ Â Supondremos que existe un vector de pesos
que puede clasificar de manera correcta todos los
vectores de entrada Q. Esa solución la
simbolizaremos como x. Para este vector de pesos
asumiremos que Â
40xTzq gt ? gt 0 si tq 1 Â y xTzq lt -? lt 0 si tq
0 Â Buscamos los lÃmites 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 Después de k
iteraciones tenemos x(k) z,(0) z,(1) ...
z,(k-1) Â Si tomamos el producto interno del
vector de pesos solución con el vector de pesos
en la iteración k se tiene  xTx(k) xTz,(0)
xTz,(1) ... xTz,(k-1) Â Suponiendo
xTz,(i) gt ? entonces xTx(k) gt k? (los pesos
en la dirección de las entradas)
41De la desigualdad Cauchy-Schwartz (xTx(k))2
x 2 x(k)2 Donde x2 xTx
Combinando las dos penúltimas ecuaciones, se
puede poner un lÃmite inferior al cuadrado de la
longitud del vector de pesos en la iteración k
 (xTx(k))2 (k?)2
x 2 x 2
x(k)2 gt
ahora queremos un lÃmite superior para la
longitud del vector de pesos comenzamos por
buscar el cambio en la longitud en la iteración
k x(k)2 xT(k)x(k) x(k-1)
z,(k-1)T x(k-1) z,(k-1)
xT(k-1)x(k-1) 2 xT(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
42Simplificando la última ecuación 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
lÃmite superior se puede simplificar a x(k)2
kM. Tenemos ahora un lÃmite superior y un lÃmite
inferior para la longitud cuadrada del vector de
pesos en la iteración k. Si se combinan las dos
desigualdades se encuentra que
 (k?)2
x 2
kM x(k)2
gt
ó M x 2 ?2
k lt
43k tiene una cota superior, significa que los
pesos serán cambiados un número finito de veces.
La regla de aprendizaje del perceptrón converge
en un número finito de iteraciones. El número
máximo de iteraciones está relacionado de manera
inversamente proporcional al cuadrado de ?. Este
parámetro es una medida de qué tan cerca está la
frontera de decisión solución a los vectores de
entrada. Esto significa que si las clases de
entrada son difÃciles de separar (están cerca de
la frontera de decisión) el algoritmo convergerá
en muchas iteraciones. Â Hay tres supuestos
claves requeridos para la prueba 1.- Existe una
solución tal que se satisfaga xTz,(i) gt ?. 2.-
Los pesos solo se modifican cuando el vector de
entrada no es clasificado correctamente. 3.-
Existe un lÃmite 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 perceptrón.
44Limitaciones La regla de aprendizaje del
perceptrón converge a una solución en un número
finito de pasos, si la solución existe. Entonces
qué problemas puede resolver un
perceptrón?.  Un perceptrón de una neurona
divide el espacio de entrada en dos regiones. La
frontera entre las regiones está definida por la
ecuación 1wTb 0. La frontera es lÃneal
(Hiperplano). Los perceptrones se pueden utilizar
para clasificar vectores de entrada que se puedan
separar por una frontera lÃneal.
Desafortunadamente muchos problemas no son
linealmente separables. Un ejemplo clásico es la
función lógica XOR.  Las entradas/salidas para
la función XOR son
Pi ti
45Gráficamente tenemos este problema y otros no
separables linealmente
Â
Â
               Â
Â
46Esta fue la falla del perceptrón básico para
resolver problemas simples y que minimizaron el
interés sobre la investigación del campo de las
redes neurales en los años 1970. Rosenblatt
investigó ANN más complejas las cuales superaban
la limitación del perceptrón básico, pero no pudo
aplicar efectivamente la regla del perceptrón a
tales redes.
Aparecen los perceptrones multicapas, las cuales
pueden resolver problemas de clasificación
arbitrarios (aparece el backpropagtion para
entrenar tales redes).