Está en la página 1de 5

Prcticas en MATLAB de Redes Neuronales

PERCEPTRON
hardlim; hardlims; initp; learnp; plotc; plotpv; simup; trainp; trainpn

hardlim:
Funcin de transferencia Escaln
Esta funcin de transferencia proporciona el valor de la salida de una neurona igual a 1 si la entrada
supera un valor umbral, y si no lo supera la salida toma el valor 0.
hardlim (N): Obtiene una matriz de vectores de salida para una capa de neuronas con una matriz de N
entradas con umbral 0.
hardlim (N,): Obtiene una matriz de vectores de salida para una capa de neuronas con una matriz de N
entradas con umbral -. Esta funcin en la versin 5.3 de Matlab produce un Warning para evitarlo
puede ser utilizada la operacin: hardlim(netsum(n, )).
Para evitar que los WARNINGS aparezcan en pantalla se puede poner: nntwarn off
EJEMPLO:
N = [-1.0 -0.5 0.0;
1.0 2.0 3.0];
b=[ -0.15;
-1.15];
hardlim (N) ==== 0 0 1

hardlim (N,b) === 0 0 1

111

011

hardlim(netsum(N,b))

hardlims:
Funcin de transferencia Hard limit Simtrica
Esta funcin de transferencia proporciona el valor de la salida de una neurona igual a 1 si la entrada
supera un valor umbral, y si no lo supera la salida toma el valor -1.
hardlims (N): Obtiene una matriz de vectores de salida para una capa de neuronas con una matriz de N
entradas con umbral 0.
hardlims (N,): Obtiene una matriz de vectores de salida para una capa de neuronas con una matriz de
N entradas con umbral . Esta funcin en la versin 5.3 de Matlab produce un Warning para evitarlo
puede ser utilizada la operacin: hardlims(netsum(n, ))
EJEMPLO:
N = [-1.0 -0.5 0.0;

Perceptron

Prcticas en MATLAB de Redes Neuronales


1.0 2.0 3.0];
b=[ -0.15;
-1.15];
hardlims (N) ==== -1 -1 1

(hardlims(netsum(n,b)) hardlims (N,b) === -1 -1 1

111

-1 1 1

initp:
La utilizaremos para inicializar una capa de Percepton.
[W,b]= initp (R,S): Utiliza el nmero de entradas R y el nmero de neuronas S y obtiene los pesos y
umbrales para un perceptron de una capa con S neuronas.
[W,b]= initp (P,T): Alternativamente bien R o S pueden ser reemplazados por una matriz de vectores de
entrada P y una matriz de vectores destino T respectivamente. El nmero de entradas y salidas ser el
nmero de filas de P y T.
EJEMPLO:
p = [-2.2; 0.5];
[W, b] = initp (p,3)
W = 0.5678 -0.5322

b= 0.4567

0.3432 0.2321

-0.2234

-0.5462 -0.8382

0.6756

learnp:
Regla de aprendizaje del perceptron.
La regla de aprendizaje del perceptron ajusta los pesos y umbrales de unas capa para obtener una
clasificacin correcta de los vectores de entrada.
learnp (P,E): Proporciona la matriz de cambio de pesos para una capa dada una matriz de vectores de
entrada P y un vector de error E.
[dW,db] = learnp (P,E) devuelve la matriz de cambio de pesos y el vector de cambio de umbral.

La aplicacin estandar de la regla de aprendizaje del Perceptron en problemas donde los vectores de
entrada tienen valores muy diferentes puede ser demasiado lenta . En estos casos es conveniente la
normalizacin de vectores y para ello se trabaja con la denominada regla de aprendizaje del percetron
normalizada, cuya descripcin es learnpn (P,E).

Perceptron

Prcticas en MATLAB de Redes Neuronales

plotpc:
Dibuja la lnea de clasificacin dada por el perceptron.
Las neuronas hard limit realizan la clasificacin dividiendo el espacio de entradas en dos regiones con
una lnea (si la neurona tiene dos entradas) un plano (si tiene tres entradas) y un hiperplano (para ms
de tres entradas).

plotpc(W,b): Dibuja la lnea de clasificacin para una capa de 2 o 3 entradas de neuronas hard-limit con
matriz de pesos W y vector umbral b. Esta funcin devuelve el handle a la lnea de clasificacin para que
pueda ser usado en llamadas sucesivas.
plotc(W,b,h): toma el h obtenido en aplicaciones previas de plotpc y borra la lnea vieja obteniendo la
nueva lnea de clasificacin.

plotpv:
Dibuja vectores de entrada con salidas 0/1.
A menudo es conveniente dibujar los vectores de entrada para el adiestramiento de una capa de
neuronas asi como la clasificicacin en un momento dado hecha por la red.
plotpv(P,T): dibuja vectores de entrada de 2 o tres elementos de la matriz P con smbolos
correspondientes a la salida deseada dentro de la matriz T. Si T contiene vectores de un solo elemento
entonces las salidas deseadas 0 se dibujan como os y las salidas 1 como +s. Si T contiene vectores de
dos elementos las entradas son mapeadas como: [0,0]es mapeado como o, [0,1] como +, [1,0]como*, y
[1,1]como x.
plotpv(P,T,v): difiere solamente en que la escala de los ejes viene dada por un vector columna de cuatro
valores v : [x_min, x_max, y_min, y_max].
Esta funcin solamente es vlida para capas de tres o menos neuronas con tres o menos entradas.

simup:
Simula una capa de perceptrones.
Una capa de perceptrones consta de un conjunto de neuronas hard-limit. Las capas de perceptrones
pueden ser entrenadas rpidamente, siendo tilies para tareas simples de clasificacin.

simup(P,W,b): toma una matriz de vectores de entrada P la matriz de pesos W y el vector umbral b de
una capa de perceptron, y proporciona las salidas de la capa.

EJEMPLO:

Perceptron

Prcticas en MATLAB de Redes Neuronales


[W,b] = initp ([0 1;-5 5],3) crea una capa de perceptron con tres neuronas cuyas salidas estn en los
intervalos [0 1] y [-5 5] respectivamente.
La respuesta de la capa a una entrada de [2;-3] puede ser calculada como:
a = simup ([2;3], W, b)
La respuesta es:
a= 0
0
1

trainp y trainpn:
Adiestra una capa de perceptron con la regla delta
Una capa de neuronas es entrenada para producir vectores destino booleanos cuando se le presentan los
correspondientes vectores de entrada.

[W, b, te] = trainp (W, b, P, T, tp) Proporciona una nueva matriz de pesos y un nuevo vector umbral
despus del entrenamiento con la matriz de pesos, el umbral inicial y el vector de salida deseada
utilizando el parmetro de entrenamiento tp. Los parmetros opcionales tp son:
tp(1) iteraciones entre los pasos de adaptacin (por defecto toma el valor 1).
tp(2) mximo nmero de iteraciones para el entrenamiento (por defecto 100)
[W, b, te] = trainpn (W, b, P, T, tp) se diferencia de la anterior en que se utiliza la regla del perceptron
normalizada.
EJEMPLO:
P=[-0.5 -0.5 0.3 0.0;

T = [1 1 0 0];

-0.5 0.5 -0.5 1.0];


[W,b]= initp(P,T);
[W,b, iteraciones]= trainp(W,b,P,T,[1,20]);
A = simup(P,W,b);

Perceptron

Prcticas en MATLAB de Redes Neuronales

Ejecrcios de la prctica n.1


1. Utilizando la funcin learnp, simular un perceptron con dos neuronas de entrada y
una neurona binaria de salida, y entrenarlo para clasificar 7 vectores de entrada en dos
posibles clases.
a) Utilizar como patrones de entrenamiento:
x1 = (-0.3,0.3)

d1 = 0

x2 = (0.1,0.3)

d2= 1

x3 = (0.2,0.5)

d3= 1

x4 = (-0.1, 0.4)

d4 = 0

x5 = (0.5, -0.5)

d5 = 0

x6 = (0.1, 0.1)

d6 = 0

x7 = (0.7, 0.5)

d7 = 1

En el diseo se ha de dibujar la frontera de decisin obtenida para cada modificacin de


pesos.
b) En el programa obtenido en el apartado anterior cambiar el patrn
x7 = (0.7, 0.5) por x7 = (40,16) y comprobar que ocurre.

2. Efectuar el mismo diseo del apartado anterior pero utilizando la funcin trainp.

3. Comprobar, en ambos casos, el funcionamiento para todos los patrones de entrada y


determinar la salida que proporciona la red diseada para los patrones:
p1 = (-0.3, -0.8)
p2 = (0.9, 0.3)
p3 = (0.24, 0.15)
p4 = (-0.1, -0.9)
4. Disear un Perceptron con 3 neuronas de entrada y una neurona de salida que permita
clasificar 12 vectores en dos categoras, utilizando como patrones de entrenamiento 8
vectores con valores bipolares.

Perceptron

También podría gustarte