Post on 08-Dec-2015
description
Alumno:
Erick Hernández Lázaro
Materia: Inteligencia Artificial
Catedrático:
Profra. María de Lourdes Aguilar López
INGENIERÍA MECATRÓNICA
D o m i n g o 0 2 d e N o v i e m b r e 2 0 1 4
Reporte de Neuronas OR y XOR entrenadas utilizando el programa
Matlab
UNIVERSIDAD IBEROAMERICANA PUEBLA
“Reporte de Neuronas OR y XOR entrenadas utilizando el programa Matlab”
Para la puerta lógica OR-exclusiva mejor conocida como XOR se utilizó una
tabla como se muestra a continuación en la tabla 1, en el cual nos sirvió para
construir la matriz necesaria para poder mostrar los resultados exactos a la
neurona.
Tabla de verdad puerta XOR
Tabla 1. Tabla de verdad de la puerta lógica XOR
En la siguiente figura (Figura 1) se pueden observar que los resultados fueron
correctos y coinciden con las respuesta por parte de la neurona. Con base a
esto se puede decir que la neurona ha sido entrenada correctamente.
La figura 1 muestra la matriz introducida en >>Data:input<<, los valores
correctos en >>Data:output<< y los resultados obtenidos como respuesta por
parte de la neurona en >>Data:Percetron_XOR_output<<.
Figura 1. Resultados de la neurona XOR entrenada correctamente.
En la siguiente figura (Figura 2) se puede prestar atención en la ventana
Neuronal Network Training en donde se observa que el tiempo fue menor a 1
segundo y esto fue posible ya que el mínimo valor que se muestra es de
segundos entonces se muestra 0 segundos como tiempo transcurrido para
entrenar la neurona.
De la misma forma se puede observar la gráfica de la neurona entrenada en
relación a cada epoch.
Figura 2. Tiempo transcurrido (Tiempo) y gráfica de la neurona entrenada
(Línea azul).
Para poder entrenar la puerta lógica OR se utilizó nuevamente la tabla de
verdad mostrada (Tabla 2) para poder construir la matriz necesaria para
moestrarle los resultados correctos a la neurona.
Tabla de verdad mostrada OR
Tabla 2. Tabla de verdad moestrada de la puerta lógica OR
En la siguiente figura (Figura 3) se muestran los valores correctos en
>>data:valor_deseado_OR<< y los resultados obtenidos como respuesta por
parte de la neurona en >>Data:Perceptron_OR_output<<. La matriz que se
introdujo fue X=[0011;0101]. En la siguiente figura (Figura 3) se puede
observar que los resultados correctos coinciden con las respuesta por parte
de la neurona, con esto se puede afirmar que la neurona ha sido entrenada
correctamente.
Figura 3. Valores obtenidos y deseados en la neurona OR.
En la siguiente figura (Figura 4) se observa en la ventana Neuronal Network
Training que el tiempo transcurrido para entrenar la neurona OR fue de 1
segundo y le tomó solo 3 epochs (iteracciones).
Figura 4. Tiempo transcurrido para entrenar la neurona.
En la siguiente figura (Figura 5) se observa la gráfica de la neurona entrenada
en relación a cada epoch.
Figura 5. Gráfica de la neurona entrenada (Línea azul).
Resultados
En la siguiente tabla (Tabla 3) se muestran los datos de cada perceptron
programado en el programa matlab.
Datos de cada perceptrón programado
Estructura utilizada XOR OR
Epochs 3 3
Goal 0 0
Tiempo aproximado de entrenamiento de la
red
1
1
Tiempo de cálculo de la salida
Instantáneo Instantáneo
Tabla 3. Datos de cada perceptrón programado OR y XOR
Conclusión
Gracias a la software utilizado que este caso fue Matlab nos fue de gran
ayuda ya que cuenta con las herramientas como la Neuronal Netwok Training
en el cual nos facilitó el entrenamiento a perceptrones ya que nos proporcionó
opciones para introducir un conjunto de datos de entrda que nos llevaron al
resultado de una sola salida. Pasando de la opción con la que cuenta este
programa se puede entrenar un perceptrón creado para aprender el resultado
correcto a partir de una conjunto de entradas.
El perceptron que se entrena requiere de un cierto tiempo para aprender y
probar si los resultados son correctos y esto a su vez concuerdan con lo
establecido de que sea exacto, para ello se realizan alguna iteracciones hasta
coincidir con los resultados esperados. El cero fue establecido como objetivo
para así poder llevar el error mínimo y valor posibe al entrenar el perceptrón.
A entrenar el perceptrón se hicieron pruebas para ver si el perceptrón fue
programa correctamente.
De esta manera se concluye estas actividades que consistió entrenar
perceptrones OR y XOR desde el programa matlab gracias a la herramienta
Neuronal Netwok Training en el cual pudimos entrenar estos perceprones
simples.
ANEXOS
El siguiente código fue utilizado para la entrenación de perceptrones en el programa Matlab y los pasos siguientes fueron realizados en las ventanas emergentes al introducir los comandos nntool, nftool, mostrados en las imágenes anteriores.
• Para la puerta lógica XOR:
input=[0 0 1 1; 0 1 0 1];
output=[0 1 1 0];
>>nntool
>>nftool
• Para la puerta lógica OR:
input=[0 0 1 1; 0 1 0 1];
output=[0 1 1 1];
>>nntool
>>nftool