Professional Documents
Culture Documents
RESUMEN
La red backpropagation es una red neuronal que cumple con las
siguientes caractersticas (Hilera y Martnez, 2000):
Tipo de red: Multicapa feedforward
Mecanismo de aprendizaje: Supervisado.
Tipo de aprendizaje Aprendizajes por correccin de error.
Tipo de asociacin entrada-salida: Red heteroasociativa.
Pgina 1
OBJETIVOS
General
Conocer las funciones con las cuales se implementa en el MATLAB las redes tipo
Backpropagation.
MARCO TEORICO
Introduccin al Neural Network Toolbox
-Redes Perceptrn
-Redes Backpropagation
-Redes Recurrentes tipo Hopfield
Redes Backpropagation
-Tipo de Red de aprendizaje supervisado que se basa en un algoritmo de gradiente
descendiente (LMS Algorithm Widrow-Hoff).
-El patrn de entrada se propaga por la red hasta generar la salida, despus se calcula el
error; stas salidas de error se propagan hacia las neuronas de la capa anterior. Cada
neurona solo tiene una contribucin del error total.
-El error que genera la red en funcin de sus pesos es una superficie de n dimensiones, al
evaluar el gradiente se obtiene la direccin en la cual la superficie tiene un mayor
crecimiento, por lo tanto se toma la direccin opuesta (negativa) para minimizar el error.
Pgina 2
Algoritmos Backpropagation
Algoritmo Estndar
Pgina 3
-El entrenamiento en redes neuronales puede volverse ms eficiente si realizamos un preprocesamiento principalmente a entradas y targets
-Hay veces que antes de entrenar la red es til escalar las entradas y targets de tal forma
que se distribuyan en un rango especfico, para esto se usa la funcin premnmx
-Los datos son normalizados en el rango [-1 1] y se deben de usar los datos
normalizados para probar la red
Dennis Incacutipa Mamani
Pgina 4
-La funcin postmnmx sirve para que los datos regresen a su estado original.
-Si se quiere aplicar un nuevo set de entradas pero con la distribucin de los datos
normalizados entonces se ocupa la funcin tramnmx35
Anlisis post-entrenamiento
-La eficiencia de una red entrenada puede ser medida viendo los errores que arroja la red
durante el entrenamiento o bien validando el set de training, pero algunas veces es til
medir la red con ms detalle. Una opcin es medir la eficiencia por anlisis regresivo.
Pgina 5
Pgina 6
Personaje
Col1
Col2
Col3
Col4
Col5
Col6
Orejas
Dientes
Ojos
Arrugado
Amable
Bien
Grandes
Grandes
Grandes
Parecido
El lobo
Abuelita
El leador
La salida se va modelar de forma similar: una matriz de seis columnas (cada reaccin de
Caperucita) y tres filas, una para cada personaje.
Personaje
Col1
Col2
Col3
Col4
Col5
Col6
Corre
Grita
Busca al
Ofrece
Beso en la
Bien
Leador
Alimento
Mejilla
Parecido
El lobo
Abuelita
El leador
Pgina 7
El lobo
La abuelita
El Leador
Pgina 8
0.9614
0.9614
0.0337
0.0337
0.0337
0.9330
1.0049
0.4694
0.1356
0.1356
0.1356
0.9307
1.0031
0.4042
Intento B
El segundo intento se realiz con 5 neuronas y un error de 0.0001, el entrenamiento
se realiz en 3 epochs. El resultado de la simulacin de la entrada con esta red fue:
0.9999
0.9999
0.9999
0.0009
0.0009
0.9790
1.0001
1.0000
0.4499
0.4655
Intento C
El tercer intento se realiz con 5 neuronas y un error de 0.000001, el entrenamiento
se realiz en 4 epochs. El resultado de la simulacin de la entrada con esta red fue:
Pgina 9
0.9999
0.9999
0.9999
0.0009
0.0009
0.9790
1.0001
1.0000
0.4499
0.4655
Intento D
El cuarto intento se realiz con 10 neuronas y un error de 0.000001, el entrenamiento
se realiz en 2 epochs. El resultado de la simulacin de la entrada con esta red fue:
1.0001
1.0001
0.0001
0.0001
1.0003
0.9999
1.0001
0.0002
0.9999
1.0003
Intento E
El quinto intento se realiz con 10 neuronas y un error de 0.00000001,
el
entrenamiento se realiz en 3 epochs. El resultado de la simulacin de la entrada con
esta red fue:
1.0000
1.0000
0.0000
0.0000
1.0000
1.0000
1.0000
1.0000
1.0000
Pgina 10
Pgina 11
col3
col4 col5
Arrugado Amable
col6
Bien parecido
col6
Beso mejilla
%Coquetea
salida=[[1 1 1 0 0 0]; [0 0 0 1 1 1]; [0 0 0 1 1 1]]
% Se inicia la red
net = newff(entrada, salida, neuronas);
% Se definen
entrenamiento
los
parmetros
de
net.trainParam.epochs=iteraciones;
net.trainParam.goal=error;
% Se entrena la red
net = train(net, entrada, salida);
% Se simula la red con la entrada
Y = sim(net,entrada)
% Se simula la red con la prueba
prueba = [[0 0 0 0 0 1]; [0 0 0 0. prueba = [[0 0 0 0 0 1]; [0 0 0 0.5 1 0.5]; [0 0 1 1 1
0.5]]; Y = sim(net, prueba)
Dennis Incacutipa Mamani
Pgina 12
BIBLIOGRAFIA
Pgina 13