You are on page 1of 13

Enero 05, 2015

Universidad Andina Nstor


Cceres Velsquez

INFORME DE LA IMPLEMENTACIN DE UNA RED NEURONAL DISTINTA


AL PERCEPTRN (SIMPLE O MULTICAPA)

Dennis Incacutipa Mamani


Ingeniera Meca trnica

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.

Algunos de los campos de aplicacin de la red backpropagation son:


Codificacin de informacin
Traduccin de texto en lenguaje hablado
Reconocimiento en lenguaje hablado
Reconocimiento ptico de caracteres (OCR)

Dennis Incacutipa Mamani

Pgina 1

OBJETIVOS
General

Conocer la manera como se pueden simular redes neuronales con el MATLAB

Conocer las funciones con las cuales se implementa en el MATLAB las redes tipo
Backpropagation.

Dar una solucin con el backpropagatin al problema de la caperucita roja.

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.

Dennis Incacutipa Mamani

Pgina 2

-Las funciones de transferencia deben de ser continuas. Adems se buscan funciones


cuya derivada dependa de la funcin sin derivar.

Algoritmos Backpropagation

Algoritmo Estndar

Dennis Incacutipa Mamani

Pgina 3

traingd aprendizaje por gradiente descendiente (Estndar)


traingdm gradiente descendiente con momentum (low-pass filter)
traingda, traingdx gradiente descendiente, variando el learning rate
trainlm - Levenberg-Marquardt basado en la matriz Hessiana pero hecha con una
aproximacin usando la matriz Jacobian

Redes Backpropagation en MATLAB

-newff(PR, tam, transfer, train)


PR matriz de Rx2 en donde se indican los intervalos que pueden tomar las R
entradas de la red (tam nmero de neuronas de la capa ) ( transfer funcin de
transferencia expresada como cell array ) ( train mtodo de entrenamiento de la red )

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

-m y b corresponden a la pendiente y a la interseccin en el eje de las ordenadas


respectivamente, es decir, representan la mejor regresin lineal que relaciona los targets
con las salidas de la red
-r es un coeficiente de correlacin entre los targets y las salidas, toma valores entre 0 y
1, donde 1 indica una perfecta correlacin

Dennis Incacutipa Mamani

Pgina 5

Resultados arrojados por postreg

IMPLEMENTACIN DE REDES BACKPROPAGATION EN MATLAB PARA RESOLVER


EL PROBLEMA DE LA CAPERUCITA ROJA

La mam de Caperucita Roja le desea ensear como reaccionar antes diferentes


personas que se le puedan acercar de acuerdo con algunas caractersticas que se
pueden identificar.
Si se le acerca alguien con orejas grandes, dientes grandes y ojos
grandes es porque es un lobo, Caperucita debe correr, gritar y buscar al
leador.
Si se le acerca una mujer arrugada y amable, es la abuelita,
debe ofrecerle alimento y darle un beso en la mejilla.
Si se le acerca un hombre amable y bien parecido, es el leador,
debe darle un beso en la mejilla y coquetearle.

Dennis Incacutipa Mamani

Pgina 6

Se describe a continuacin la solucin del problema y su implementacin en Matlab.


Paso No. 1: Definir la estructura de la red backpropagation
La entrada se va a modelar como una matriz de seis columnas (cada una representa
las caractersticas del personaje) y tres filas, una para cada personaje.

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

Paso No. 2: Determinar los valores de entrada y salida


Los valores asignados a la entrada y salida son valores entre 0 y 1. El valor de 0
representa que la caracterstica o accin NO se presenta, el valor de 1 representa que
la caracterstica o accin SI se presenta.
Los valores de entrada y salida para cada personaje se presentan en la siguiente tabla:

Dennis Incacutipa Mamani

Pgina 7

El lobo

La abuelita

El Leador

Dennis Incacutipa Mamani

Pgina 8

Paso No. 3: Determinar las variables de la red


Para el entrenamiento de la red backpropagation en matlab se definen 3 variables:
- Neuronas: Nmero de neuronas usadas en la red
- Epochs: Nmero mximo de iteraciones de entrenamiento de la red
- Error: Mximo error permitido en la salida
Las variables sern modificadas varias veces hasta obtener una salida cercana a
la esperada.
Paso No. 4: Realizar pruebas de entrenamiento
Intento A
El primer intento se realiz con 5 neuronas y un error de 0.01, el entrenamiento
se realiz en 1 epoch. El resultado de la simulacin de la entrada con esta red fue:
0.9614

0.9614

0.9614

0.0740 -0.0014 0.0208

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.0273 -0.0000 0.0007

-0.0000 -0.0000 -0.0000 0.9782


0.0009

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:

Dennis Incacutipa Mamani

Pgina 9

0.9999

0.9999

0.9999

0.0273 -0.0000 0.0007

-0.0000 -0.0000 -0.0000 0.9782


0.0009

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

1.0001 -0.0008 0.0001

-0.0001 -0.0001 -0.0001 0.9991


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

1.0000 -0.0000 -0.0000 -0.0000

-0.0000 -0.0000 -0.0000 1.0000


0.0000

0.0000

0.0000

1.0000

1.0000
1.0000

1.0000
1.0000

Paso No. 5: La prueba


Despus de encontrarse la red entrenada para los personajes principales, se va a
probar cmo reacciona Caperucita Roja ante nuevos personajes:
-

Personaje 1: Un leador bien parecido pero que no es amigable


Personaje 2: Un leador que es amigable, pero es medio arrugado y no
muy bien parecido.
Personaje 3: Una abuelita de grandes ojos, arrugada, amable y ms o
menos simptica.

Dennis Incacutipa Mamani

Pgina 10

Los valores dados a cada caracterstica de cada personaje se resumen en la


siguiente tabla, la cual constituye la entrada de la red neuronal.

Despus de realizar la simulacin de la red con los datos de prueba, se obtienen


los siguientes resultados.

Dennis Incacutipa Mamani

Pgina 11

EXPLICACIN Y EL PROGRAMA EN MATLAB


clc;
neuronas = 10;
error = 0.00000001;
iteraciones = 20;
% Entradas
% col1
col2
% Orejas Dientes Ojos

col3
col4 col5
Arrugado Amable

col6
Bien parecido

entrada=[[1 1 1 0 0 0]; [0 0 0 1 1 0]; [0 0 0 0 1 1]];


% Salidas
% col1
col2
col3
col4
col5
% Correr Gritar Busca leador Ofrece alimento

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

1. Aplicacin de Redes Neuronales http://noticias.espe.edu.ec/aaquijije/

2. Implementecion de un red neuronal en Backpropagation http://poncos.wordpress.com/category/matlab/

3. Aplicacin de Redes Neuronales Usando Matlab, (conceptos,aplicacin y


ejemplos) http://www.cs.buap.mx/~agalvez/nnet.htm

4. Ejemplos de Backpropagation https://espanol.answers.yahoo.com/question/index?qid=20080427200730AAgLXft

Dennis Incacutipa Mamani

Pgina 13

You might also like