You are on page 1of 8

Perceptrn Redes Neuronales

En esta pgina ...

Neurona Modelo
Perceptron Arquitectura
Crear un Perceptron
Perceptron Regla de Aprendizaje (learnp)
Formacin (tren)
Limitaciones y precauciones
Rosenblatt [ Rose61 ] creado muchas variaciones de la perceptrn. Una de las ms simples era una red de una sola
capa cuyos pesos y sesgos podran ser entrenados para producir un vector objetivo correcto cuando se presenta con el
vector de entrada correspondiente. La tcnica de entrenamiento utilizado se denomina regla de aprendizaje del
perceptrn. El perceptrn gener gran inters debido a su capacidad de generalizar a partir de sus vectores de
entrenamiento y aprender de las conexiones inicialmente distribuidos al azar. Perceptrones son especialmente
adecuadas para los problemas simples de la clasificacin de patrones. Son redes rpidas y fiables para los problemas
que se pueden resolver. Adems, una comprensin de las operaciones de la perceptrn proporciona una buena base
para la comprensin de las redes ms complejas.
La discusin de los perceptrones en esta seccin es necesariamente breve. Para una discusin ms detallada, consulte
el Captulo 4, "Perceptron Learning Rule", de [ HDB1996 ], que analiza el uso de varias capas de perceptrones para
resolver los problemas ms difciles ms all de la capacidad de una sola capa.

Neurona Modelo
Una neurona perceptrn, que utiliza el -lmite duro funcin de transferencia hardlim , se muestra a continuacin.

Cada entrada externa se pondera con un peso apropiado W 1j, y la suma de las entradas ponderadas se enva a la
funcin de transferencia de lmite duro, que tambin tiene una entrada de 1 transmitida a ella a travs del sesgo.La
funcin de transferencia de lmite duro, que devuelve un 0 o un 1, se muestra a continuacin.

La neurona perceptrn produce un 1 si la entrada de red en la funcin de transferencia es igual a o mayor que 0;de lo
contrario se produce un 0.
La funcin de transferencia de lmite duro da un perceptrn la capacidad de clasificar los vectores de entrada al dividir el
espacio de entrada en dos regiones. En concreto, las salidas sern 0 si la entrada neta n es menor que 0, o 1 si la
entrada neta n es 0 o mayor. La siguiente figura muestra el espacio de entrada de una de dos entradas neurona lmite
duro con los pesos w 1,1 = -1, 1,2 w = 1 y un sesgo b = 1.

Dos regiones de clasificacin se forman por la decisin lmite de lnea L en


Wp + b = 0. Esta lnea es perpendicular a la matriz de ponderacin W y cambi de acuerdo con el sesgo b. Los vectores
de entrada por encima ya la izquierda de la lnea L se traducir en una entrada neta mayor que 0 y, por lo tanto, causar
la neurona-lmite duro para dar salida a 1. Vectores de entrada por debajo ya la derecha de la lnea L causar la neurona
salida 0. Usted puede escoger los valores de peso y sesgo de orientar y mover la lnea divisoria con el fin de clasificar el
espacio de entrada si lo deseas.
Neuronas de lmite duro sin un sesgo siempre tendrn una lnea de clasificacin pasa por el origen. Adicin de un sesgo
permite la neurona para resolver problemas en los que los dos conjuntos de vectores de entrada no se encuentran en
diferentes lados de la origen. El sesgo permite la frontera de decisin a ser desplazado lejos del origen, como se
muestra en la figura de arriba.
Es posible que desee ejecutar el ejemplo nnd4db programa. Con l se puede mover una frontera de decisin
alrededor, escoja nuevos insumos para clasificar, y ver cmo la aplicacin repetida de la regla de aprendizaje se obtiene
una red que clasificar los vectores de entrada correctamente.

Perceptron Arquitectura
La red perceptrn consta de una sola capa de S perceptrn neuronas conectadas a las entradas de R a travs de un
conjunto de pesos w i, j, como se muestra a continuacin en dos formas. Como antes, los ndices i y j de la red indican
que w i, j es la fuerza de la conexin desde el j-simo de entrada a la i-sima neurona.

La regla de aprendizaje del perceptrn descrito poco es capaz de formar una nica capa. As, slo las redes de una sola
capa se consideran aqu. Esta restriccin impone limitaciones en el clculo un perceptrn puede realizar.Los tipos de
problemas que los perceptrones son capaces de resolver se discuten en Limitaciones y precauciones .

Crear un Perceptron
Puede crear un perceptrn con lo siguiente:
net = perceptrn;
net = configure (neta, P, T);
donde argumentos de entrada son los siguientes:

P es una matriz R-por-Q de vectores de entrada Q de los elementos R cada uno.


T es una matriz de S-por-Q de Q vectores diana de elementos de S cada uno.
Comnmente, el hardlim funcin se utiliza en perceptrones, por lo que es el valor predeterminado.
Los siguientes comandos crean una red perceptrn con un nico vector de entrada de un elemento con los valores 0 y
2, y una neurona con salidas que pueden ser 0 o 1:
P = [0 2];
T = [0 1];
net = perceptrn;
net = configure (neta, P, T);
Usted puede ver lo que la red se ha creado mediante la ejecucin del siguiente comando:
inputweights = net.inputweights {1,1}
que los rendimientos
inputweights =
retrasos: 0
initFcn: 'initzero'
aprender: true
learnFcn: 'learnp'
learnParam: (ninguno)
size: [1 1]
weightFcn: 'dotprod'
weightParam: (ninguno)
userdata: (su aduana Info)
La funcin de aprendizaje por defecto es learnp , que se discute en Perceptron Regla de Aprendizaje (learnp) . La
entrada de red para la hardlim funcin de transferencia es dotprod , que genera el producto de el vector de
entrada y la matriz de peso y aade el sesgo para calcular la entrada de red.
La funcin de inicializacin predeterminada initzero se utiliza para establecer los valores iniciales de los pesos a
cero.
Del mismo modo,
sesgos = net.biases {1}
da
sesgos =
initFcn: 'initzero'
aprender: 1
learnFcn: 'learnp'
learnParam: []
Tamao: 1
userdata: [1x1 struct]
Se puede ver que la inicializacin por defecto para el sesgo es tambin 0.

Perceptron Regla de Aprendizaje (learnp)


Perceptrones estn entrenados en ejemplos de comportamiento deseado. El comportamiento deseado se puede
resumir en un conjunto de insumos, los pares de salida

donde p es una entrada a la red y t es el (objetivo) de salida correcta correspondiente. El objetivo es reducir elcorreo de
error, que es la diferencia t - una entre la respuesta de una neurona y el vector objetivo t. La regla de aprendizaje del
perceptrn learnp calcula los cambios deseados en los pesos y sesgos del perceptrn, dado un vector de
entrada py el error e asociada. El vector objetivo T debe contener valores de 0 1, porque perceptrones
(con hardlim funciones de transferencia) solamente puede emitir estos valores.
Cada vez learnp se ejecuta, el perceptrn tiene una mejor oportunidad de producir las salidas correctas. La regla de
perceptrn se ha demostrado que converger en una solucin en un nmero finito de iteraciones si existe una solucin.
Si no se utiliza un sesgo, learnp trabaja para encontrar una solucin mediante la alteracin de slo el vector de
pesos w para punto hacia vectores de entrada para ser clasificado como 1 y lejos de vectores para ser clasificado como
0. Esto resulta en una frontera de decisin que es perpendicular a w, y que clasifica correctamente los vectores de
entrada.
Hay tres condiciones que pueden ocurrir durante una sola neurona una vez que un vector de entrada p se presenta y de
la red de respuesta a se calcula:
CASO 1 Si un vector de entrada es presentado y la salida de la neurona es correcta (A = T y E = t - a = 0)., Entonces el
vector de pesos w no se altera.

. CASO 2 Si la salida de neurona es 0 y debera haber sido 1 (a = 0 y T = 1, y E = t - a = 1), se aade el vector de


entrada p para el vector de pesos w. Esto hace que el punto de vector de peso ms cerca del vector de entrada,
aumentando la posibilidad de que el vector de entrada se clasifica como un 1 en el futuro.
. CASO 3 Si la salida de neurona es 1 y debera haber sido 0 (a = 1 y t = 0, y E = t - a = -1), el vector de entrada p se
resta del vector de pesos w. Esto hace que el punto de vector de peso ms lejos del vector de entrada, aumentando la
posibilidad de que el vector de entrada se clasifica como un 0 en el futuro.
La regla de aprendizaje del perceptrn se puede escribir de forma ms sucinta en trminos del error e = t - a, y el
cambio que deben introducirse en la w vector de pesos:
CASO 1. Si e = 0, a continuacin, hacer un cambio w igual a 0.
CASO 2. Si e = 1, luego hacer un cambio w igual a p T.
CASO 3 Si e = -1, y luego hacer un cambio w igual a -. P T.
Los tres casos se puede escribir con una sola expresin:

Usted puede obtener la expresin de los cambios en el sesgo de la neurona por sealar que el sesgo es ms que un
peso que siempre tiene una entrada de 1:

Para el caso de una capa de neuronas que tiene

La regla de aprendizaje perceptrn se puede resumir de la siguiente manera:

donde e = t - a.
Ahora trata de un ejemplo sencillo. Comience con una sola neurona que tiene un vector de entrada con slo dos
elementos.
net = perceptrn;
net = configure (neto [0; 0], 0);
Para simplificar las cosas, ajustar el sesgo igual a 0 y los pesos a 1 y -0.8:
net.b {1} = [0];
w = [1 -0.8];
net.IW {1,1} = w;
El par de blancos de entrada viene dada por
p = [1; 2];
t = [1];
Puede calcular la salida y el error con
a = neto (p)
A =
0
e = ta
e =
1
y utilizar la funcin learnp para encontrar el cambio en los pesos.
dw = learnp (w, p, [], [], [], [], e, [], [], [], [], [])
dw =
1 2
Las nuevas ponderaciones, a continuacin, se obtienen como
w = w + dw
w =
2,0000 1,2000
El proceso de bsqueda de nuevos pesos (y prejuicios) se puede repetir hasta que no haya errores. Recordemos que la
regla de aprendizaje del perceptrn est garantizado para converger en un nmero finito de pasos para todos los

problemas que pueden ser resueltos por un perceptrn. Estos incluyen todos los problemas de clasificacin que son
linealmente separables. Los objetos para ser clasificados en tales casos pueden estar separados por una sola lnea.
Es posible que desee probar el ejemplo nnd4pr. Te permite elegir los nuevos vectores de entrada y aplica la regla
de aprendizaje para clasificarlos.

Formacin (tren)
Si sim y learnp se utilizan varias veces para presentar las entradas para un perceptrn, y para cambiar los pesos
perceptrn y sesgos de acuerdo con el error, el perceptrn eventualmente encontrar los valores de peso y sesgo que
resuelven el problema, dado que el perceptrn puede resolverlo. Cada recorrido a travs de todos los vectores de
entrada de entrenamiento y de destino se denomina pasar.
La funcin tren realiza un bucle de clculo. En cada pasada a las funciones de tren avanza a travs de la
secuencia especificada de los insumos, el clculo de la salida, el error, y el ajuste de red para cada vector de entrada en
la secuencia como se presentan las entradas.
Tenga en cuenta que el tren no garantiza que la red resultante hace su trabajo. Debe comprobar los nuevos
valores de W y b calculando la salida de la red para cada vector de entrada para ver si se alcanzan todos los
objetivos. Si una red no lleva a cabo con xito se puede entrenar ms a fondo llamando tren de nuevo con los nuevos
pesos y sesgos ms formacin pases, o puede analizar el problema para ver si se trata de un problema adecuado para
el perceptrn. Los problemas que no pueden ser resueltos por la red perceptrn se discuten enLimitaciones y
precauciones .
Para ilustrar el procedimiento de formacin, trabajar a travs de un problema simple. Considere la posibilidad de un
perceptrn de una sola neurona con una sola entrada de vector que tiene dos elementos:

Esta red, y el problema que va a tener en cuenta, son bastante simples que usted puede seguir a travs de lo que se
hace con los clculos a mano, si quieres. El problema se discute a continuacin se deduce que encontrarse en
[ HDB1996 ].
Suponga que tiene el siguiente problema de clasificacin y quisiera resolverlo con una sola entrada, la red perceptrn de
dos elementos del vector.

Utilice los pesos iniciales y los prejuicios. Denotemos las variables en cada etapa de este clculo mediante el uso de un
nmero en parntesis despus de la variable. As, por encima, los valores iniciales son W (0) y B (0).

Comience por calcular una salida del perceptrn para el primer vector de entrada p 1, usando los pesos iniciales y los
prejuicios.

La salida a no es igual al valor objetivo t 1, a fin de utilizar la regla perceptrn para encontrar los cambios incrementales a
los pesos y sesgos basados en el error.

Puede calcular los nuevos pesos y sesgos utilizando las reglas de actualizacin perceptrn.

Ahora presentar el prximo vector de entrada, p 2. La salida se calcula a continuacin.

En esta ocasin, el objetivo es 1, por lo que el error es cero. Por lo tanto no hay cambios en los pesos o sesgo, por lo
que W (2) = W (1) = [-2 -2] y P (2) = P (1) = -1.
Usted puede continuar de esta manera, la presentacin de p 3 siguiente, el clculo de una salida y el error, y hacer
cambios en los pesos y sesgos, etc Despus de hacer una pasada por todas las cuatro entradas, se obtienen los
valores de W (4) = [-3 -1] y B (4) = 0. Para determinar si se obtiene una solucin satisfactoria, la banda una vez a travs
de todos los vectores de entrada para ver si todos ellos producen los valores objetivo deseados. Esto no es cierto para
la cuarta entrada, pero el algoritmo converge en la sexta presentacin de una entrada. Los valores finales son
W (6) = [-2 -3] y B (6) = 1.
Esto concluye el clculo manual. Ahora, cmo se puede hacer esto utilizando el tren de la funcin?
El siguiente cdigo define un perceptrn.
net = perceptrn;
Considere la posibilidad de la aplicacin de una sola entrada
p = [2; 2];
que tiene el objetivo
t = [0];
Establecer las pocas a 1, de manera que el tren pasa a travs de los vectores de entrada (slo uno aqu)
slo una vez.
net.trainParam.epochs = 1;
net = tren (neto, p, t);
Los nuevos pesos y sesgos son
w = {1,1} net.iw, b = net.b {1}
w =
-2 -2
b =
-1
Por lo tanto, los pesos iniciales y los prejuicios son 0, y despus del entrenamiento en slo el primer vector, tienen los
valores [-2 -2] y -1, del mismo modo que la mano calculado.
Ahora aplique el segundo vector de entrada p 2. La salida es 1, ya que ser hasta que se cambian los pesos y sesgos,
pero ahora el objetivo es 1, el error ser 0, y el cambio ser cero. Se podra proceder de esta manera, a partir del
resultado anterior y la aplicacin de un nuevo tiempo vector de entrada despus de un tiempo. Pero usted puede hacer
este trabajo de forma automtica con el tren .
Aplicar tren durante una poca, una sola vez en la secuencia de los cuatro vectores de entrada. Comience con la
definicin de la red.
net = perceptrn;
net.trainParam.epochs = 1;
Los vectores de entrada y los objetivos son
p = [[2; 2] [1; -2] [-2, 2] [-1, 1]]
t = [0 1 0 1]
Ahora entrenar a la red con
net = tren (neto, p, t);
Los nuevos pesos y sesgos son
w = {1,1} net.iw, b = net.b {1}
w =
-3 -1
b =
0
Este es el mismo resultado que usted consigui previamente de forma manual.
Finalmente, simular la red entrenada para cada una de las entradas.
a = neto (p)
A =

0 0 1 1
Las salidas an no son iguales a los blancos, por lo que necesita para entrenar la red durante ms de un pase.Intente
usar palabras ms pocas. Esta carrera da un rendimiento error absoluto promedio de 0 despus de dos pocas:
net.trainParam.epochs = 1,000;
net = tren (neto, p, t);
De este modo, la red fue entrenada por el momento las entradas se presentaron en la tercera poca. (Como ya saben
de clculo manual, la red converge en la presentacin de la sexta vector de entrada. Esto ocurre en medio de la
segunda poca, pero se necesita la tercera poca de detectar la convergencia de la red.) Los pesos finales y los
prejuicios son
w = {1,1} net.iw, b = net.b {1}
w =
-2 -3
b =
1
La salida simulada y los errores de los diversos insumos son
a = neto (p)
A =
0 1 0 1
error = a
= error
0 0 0 0
Usted confirma que el procedimiento de formacin tiene xito. La red converge y produce las salidas de destino correcto
para los cuatro vectores de entrada.
La funcin de formacin por defecto para las redes creadas con newp es trainc . (Usted puede encontrar esta
ejecutando net.trainFcn.) Esta funcin de formacin se aplica la regla de aprendizaje del perceptrn en su
forma pura, en que los vectores de entrada individuales se aplican de forma individual, en secuencia, y correcciones a
los pesos y sesgos se realizan despus de cada presentacin de un vector de entrada. Por lo tanto, la formacin
perceptrn con tren converger en un nmero finito de pasos a menos que el problema presentado no se puede
resolver con un perceptrn simple.
La funcin de tren se puede utilizar de diversas maneras por otras redes, as. Escriba ayudan a
entrenar para leer ms acerca de esta funcin bsica.
Es posible que desee probar varios programas de ejemplo. Por ejemplo, demop1 ilustra la clasificacin y la formacin
de un perceptrn simple.

Limitaciones y precauciones
Perceptrn redes deben ser entrenados con adaptar , que presenta los vectores de entrada a la red de uno en uno y
hace correcciones a la red sobre la base de los resultados de cada presentacin. El uso de adaptar de esta manera
garantiza que cualquier problema linealmente separables se resuelve en un nmero finito de presentaciones de
formacin.
Como se indica en las pginas anteriores, perceptrones tambin pueden ser entrenados con la funcin de
trenes . Comnmente cuando el tren se utiliza para perceptrones, que presenta las entradas a la red en lotes, y
hace correcciones a la red basado en la suma de todas las correcciones individuales. Lamentablemente, no hay ninguna
prueba de que un algoritmo de este tipo de formacin converge para perceptrones. En esa cuenta el uso
de trenes no se recomienda para los perceptrones.
Redes perceptrn tienen varias limitaciones. En primer lugar, los valores de salida de un perceptrn pueden tomar slo
uno de dos valores (0 o 1) a causa de la funcin de transferencia de lmite duro. En segundo lugar, perceptrones slo
pueden clasificar conjuntos linealmente separables de vectores. Si una lnea recta o un plano se pueden extraer para
separar los vectores de entrada en sus categoras correctas, los vectores de entrada son linealmente separables. Si los
vectores no son linealmente separables, el aprendizaje nunca se llegar a un punto en que todos los vectores se
clasifican correctamente. Sin embargo, se ha comprobado que si los vectores son linealmente separables, perceptrones
entrenados adaptativa siempre encontrar una solucin en un tiempo finito. Es posible que desee probar demop6. Se
muestra la dificultad de tratar de clasificar los vectores de entrada que no son separables linealmente.
Es justo, sin embargo, sealar que las redes con ms de un perceptrn se pueden utilizar para resolver los problemas
ms difciles. Por ejemplo, suponga que tiene un conjunto de cuatro vectores que desea clasificar en distintos grupos, y
que las dos lneas se pueden dibujar para separarlos. Una red de dos neurona puede ser encontrado de tal manera que
sus dos lmites de decisin clasifican las entradas en cuatro categoras. Para la discusin adicional sobre perceptrones y
examinar problemas perceptrn ms complejos, consulte [ HDB1996 ].
Los valores atpicos y la Regla Normalizado Perceptron
Tiempos de entrenamiento largas pueden ser causados por la presencia de un valor atpico vector de entrada cuya
longitud es mucho ms grande o ms pequeo que los otros vectores de entrada. Aplicando la regla de aprendizaje del

perceptrn implica sumar y restar vectores de entrada a partir de los pesos y sesgos actuales en respuesta al error. Por
lo tanto, un vector de entrada con elementos de gran tamao puede llevar a cambios en los pesos y sesgos que tardan
mucho tiempo para un vector de entrada mucho menor que superar. Es posible que desee probar demop4 ver como
un valor atpico afecta a la formacin.
Al cambiar la regla de aprendizaje del perceptrn ligeramente, puede hacer que los tiempos de entrenamiento
insensibles a los vectores de entrada extremadamente grandes o pequeos valores atpicos.
Esta es la regla original para actualizar los pesos:

Como se muestra arriba, el ms grande de un vector de entrada p, mayor es su efecto en el vector de pesos w. Por lo
tanto, si un vector de entrada es mucho mayor que otros vectores de entrada, los vectores de entrada ms pequeas
deben ser presentado muchas veces para tener un efecto.
La solucin es para normalizar la regla de modo que el efecto de cada vector de entrada en los pesos es de la misma
magnitud:

La regla perceptrn normalizado se implementa con la funcin de learnpn , que se denomina exactamente
comolearnp . El normalizada funcin de regla de perceptrn learnpn tarda un poco ms de tiempo para ejecutar,
pero reduce el nmero de pocas considerablemente si hay vectores de entrada de valores atpicos. Usted puede tratar
de demop5 para ver cmo funciona este principio de prctica normalizada

You might also like