0% encontró este documento útil (0 votos)
283 vistas45 páginas

Red Neuronal Perceptron Unicapa - Multicapa PDF

El documento describe la regla de aprendizaje del perceptrón. Explica que el perceptrón es un tipo de red neuronal supervisada que aprende mediante la modificación de sus pesos y sesgos para mover las salidas lo más cerca posible de las salidas deseadas. Se detalla el proceso de aprendizaje del perceptrón, incluyendo la presentación de ejemplos de entrada y salida deseada, la comparación de la salida real con la deseada, y la modificación de los parámetros para corregir errores.

Cargado por

Luis E Pemberthy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
283 vistas45 páginas

Red Neuronal Perceptron Unicapa - Multicapa PDF

El documento describe la regla de aprendizaje del perceptrón. Explica que el perceptrón es un tipo de red neuronal supervisada que aprende mediante la modificación de sus pesos y sesgos para mover las salidas lo más cerca posible de las salidas deseadas. Se detalla el proceso de aprendizaje del perceptrón, incluyendo la presentación de ejemplos de entrada y salida deseada, la comparación de la salida real con la deseada, y la modificación de los parámetros para corregir errores.

Cargado por

Luis E Pemberthy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Regla 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.
Reglas 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}
Reglas 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.
Reglas 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.
Reglas 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.


Arquitectura del perceptrón
p W
Rx1
SxR
n a
+ Sx1 Sx1

1 b
S
Sx1

La salida de la red perceptrónica esta dada por:


a = hardlim(Wp+b)
Redes de perceptrones
w1,1 w1,2 ….. w1,R wi,1
w2,1 w2,2 ….. w2,R wi,2
W= ….. y sea iw = ....
wS,1 wS,2 ….. wS,R wi,R
un vector compuesto por los elementos de la i-ésima fila de W.
1wT
2wT
W = ….
swT

ai = hardlim(ni) = hardlim(iwTp + bi)


Redes 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(Wp+b)
= hardlim(1wTp+b) = hardlim(w1,1p1 + w1,2p2 + b)
Redes 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.
Redes 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.
Redes de perceptrones
p2
a=1
1
1w
1 p1

a=0
n=0

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 0]T, con lo que la salida de
la red será:
Redes de perceptrones
a = hardlim(n) = hardlim(Wp+b)
= hardlim(1wTp+b) = 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:
1wTp+b = 0
Redes 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).
Redes 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:
pi ti
0 0 0
0 1 0
1 0 0
1 1 1
Redes 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:

1w
AND
Redes 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 2]T

Finalmente necesitamos un vector de sesgo b. Podemos


escoger un punto sobre la frontera de decisión que satisfaga
1wTp+b = 0.
Redes de perceptrones

Si se escoge p = [1.5 0]T, entonces 1wTp+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 p2 = [0 1]T la salida será:
a = hardlim(n) = hardlim(1wTp2+b) = hardlim = [2 2] 0 - 3 = hardlim(-1) = 0
1

la cual es la salida t2 = 0.
Hay que experimentar con diferentes fronteras de decisión.
Redes 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: iwTp+bi = 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.
Redes 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:


pi ti

1 2 1
-1 2 0
0 -1 0

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).
2 1 1w

CONSTRUCCIÓ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:
a = harlim(1WT p1) =hardlim [1.0 –0.8] 1 = hardlim(-0.6) = 0
2

La 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.
Un 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).
2 1

1w
3

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á:


1wnuevo = 1Wviejo + p1 = + =
-0.8 2 1.2

Esta operación se ilustra a continuación:


2 1

1w

3
Ahora nos movemos sobre los próximos
vectores de entrada y cambiamos los pesos
repetidamente, hasta que las entradas sean
clasificadas correctamente.
Trabajando con p2 encontramos como salida de la red:

a = harlim(1WT p2) = hardlim [2.0 1.2] -1 = hardlim(0.4) = 1


2
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:

2.0 -1 3
1wnuevo = 1Wviejo - p2 = - =
1.2 2 -0.8
2 1

1w
3

Ahora le presentamos el vector p3:

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:
3.0 0 3
1wnuevo = 1Wviejo – p3 = - =
-0.8 -1 0.2

2 1

1w

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.
Ahora 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
Regla 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
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
2 1

1w
3

Ahora le presentamos el vector p3:

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:
3.0 0 3
1wnuevo = 1Wviejo – p3 = - =
-0.8 -1 0.2

2 1

1w

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.
Ahora 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
En 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
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).
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:


1
a = harlim(W p1 + b) = hardlim [0.5 –1 –0.5] -1 + 0.5 = hardlim(2.5) = 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:

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
La tercera iteración comienza de nuevo con el primer vector de entrada:

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.
PRUEBA 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

zq = el vector de entrada aumentado


1
La 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:
Bibliografía

Inteligencia artificial un enfoque moderno 2da edición Russell.


Norvig. Stuart Russell. Peter Norvig. 2ª Edición. 2ª Edición

Fundamentos en Inteligencia Artificial y Redes Neuronales

9788483227565 INTELIGENCIA ARTIFICIAL: RUSSELL –


2004

Inteligencia artificial: métodos, técnicas y aplicaciones


por Palma Méndez, José Tomás Marín Morales, Roque 2011

También podría gustarte