Apuntes de Inteligencia Artificial

Documentos relacionados
Aprendizaje Automatizado. Redes Neuronales Artificiales

Construcción de una neurona binaria

Sistemas Conexionistas

Práctica 10. Redes Neuronales

Neural Network Toolbox

MATLAB. solución de sistemas de ecuaciones algebraicas no lineales y sistemas de ecuaciones. Cátedra Cálculo de Reactores A-10 Prof.

... Bases de datos con Excel CAPÍTULO Creación de una Base de Datos

Sistema de medición y control de proceso industrial de embotellado con algoritmo de redes neuronales

Las operaciones aritméticas básicas en MATLAB son las más sencillas que se pueden

Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo?

INDICE PARTE I AMBIENTE DE TRABAJO Instalación de Winplot 1.2. Conociendo Winplot Ambiente de trabajo. 1.4.

INTRODUCCION A SIMULINK

Introducción a Matlab.

Optimización del Ángulo del Talud

Tutorial para resolver ecuaciones diferenciales usando MATLAB

CRITERIOS DE SELECCIÓN DE MODELOS

UNIVERSIDAD NACIONAL DEL CALLAO

Traslaciones en el Plano

3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIÓN DE JAULA DE. Un motor de inducción tiene físicamente el mismo estator de una máquina

Guía N 1: Fundamentos básicos(i)

CIRCUITOS COMBINACIONALES CON isplever

CONFIGURACIÓN POLI_WIFI POLITÉCNICO JAIME ISAZA CADAVID

2º ITT SISTEMAS ELECTRÓNICOS 2º ITT SISTEMAS DE TELECOMUNICACIÓN 3º INGENIERÍA DE TELECOMUNICACIÓN AUTÓMATAS Y SISTEMAS DE CONTROL

Profesorado de Nivel Medio y Superior en Biología Matemática - 1º Cuatrimestre Año 2013 FUNCIÓN CUADRÁTICA

Como actualizar las texturas de las hélices de un avión FS9 a FSX?

Universidad de Costa Rica Facultad de Ingeniería Escuela de Ingeniería Topográfica

VECTORES EN EL PLANO CON DERIVE

Acceso a Datos con Visual Basic

Inteligencia Artificial. Aprendizaje neuronal. Ing. Sup. en Informática, 4º. Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

1) Como declarar una matriz o un vector.

Terceros Ekon Sical. Departamento de Informática

Protección de un documento Excel CEC-EPN

Área Académica: ICBI, Sistemas Computacionales. Profesor: M.C.C Víctor Tomás Tomás Mariano

HERRAMIENTAS AVANZADAS PARA LA GESTIÓN DE PROYECTOS

4. Resolución de indeterminaciones: la regla de L Hôpital.

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

TraCI4Matlab: Manual de usuario.

3. ANÁLISIS DE DATOS DE PRECIPITACIÓN.

UTILIZACIÓN DE PLANTILLAS Y ASISTENTES QUE INCORPORA LA APLICACIÓN Y CREACIÓN DE PLANTILLAS PROPIAS

MANUAL DE INSTALACIÓN Y USO DE FBackup

Programación Lineal con Matlab

Creación y manejo de la base de datos y tablas

INTRODUCCIÓN A JCLIC PLAYER

Materia: Matemática de Octavo Tema: Función afín

Redes Neuronales Artificiales

Habilitar el modo de captura de pantalla y configuración de OBS Studio.

: Algorítmica y Estructura de Datos I

Elementos esenciales de Word

Proyecto de investigación: Métodos de Funciones Radiales para la Solución de EDP u(x, y) = 5 4 +cos(5.

Introducción a la Programación en MATLAB

Uso del sistema DReI On Line con Internet Explorer 8

Identificación de Peligros y Valoración de Riesgos.

Tutorial Programa Oziexplorer

PROGRAMA MATHCAD (TUTORIAL)

Inteligencia Artificial

Crear un lanzador, un icono de aplicación, en Gnome

SESIÓN 9 TRABAJO CON LOS OBJETOS GRÁFICOS DE POWER POINT

INSTRUCTIVO BASICO DE RADICADO INTERNO PARA EL MANEJO DEL SISTEMA DE GESTIÓN DOCUMENTAL MERCURIO WEB VERSIÓN 6.0

Administración de la producción. Sesión 9: Hojas de cálculo (Microsoft Excel)

En este manual se propone utilizar el SkyDrive del correo electrónico del CONALEP, sin embargo también es

CLASIFICACIÓN DE PARTÍCULAS MEDIANTE UNA RED NEURONAL ARTIFICIAL

Manual de usuario. Conversión desde programas de gestión bibliográfica: Biblioscape, Citation, EndNote, Papyrus, ProCite i Reference Manager

Gráficos en Matlab

Avance - Soluciones Informáticas Página 1 de 17

Sistemas de Bases de Datos 2 Practica 1

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

Manual de Cargos Automáticos

Práctica N 2 Simulink como herramienta para resolver ecuaciones diferenciales

Modelos Comprimidos. Modelo de Bloque 3D Standard

FACULTAD DE INGENIERÍA

En la parte inferior de la pantalla se podrá ver el estado de la última copia y la fecha y hora actual.

Fundamentos de Excel

ESCUELA DE LA SALUD PROGRAMA TÉCNICO EN SEGURIDAD Y SALUD EN EL TRABAJO SUBMÓDULO BÁSICO GUIA WINDOWS-CARPETAS Y COMPRIMIR

Jesús Manuel Carrera Velueta José Juan Almeida García Fecha de elaboración: Mayo 6 de 2010 Fecha de última actualización:

Manual de Windows XP Copyleft - Jorge Sánchez 2005

UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA UNAN-MANAGUA FAREM - CARAZO

PROGRAMAS PARA LA CLASSPAD MANAGER.

Aprendamos Juntos. FreeMaker Video Converter

Dropbox. Fuente: (dropbox, 2011)

5.6.2 Práctica de laboratorio: Puntos de restauración

Manual para el uso del Correo Electrónico Institucional Via Webmail

Presentaciones Multimedia Práctica 1

Fundamentos de PowerPoint

La primera vez que selecciona el nombre de usuario el programa pide introducir la nueva clave.

MÓDULO SE: SISTEMAS DE ECUACIONES

Una Interfaz Grafo-Matriz

Ordenador local + Servidor Remoto

Módulo de Registro de nombramientos al amparo del Artículo 34 de la Ley del SPC y, artículos 92 y 52 Fracción II de su Reglamento.

Prácticas con VISUAL-CORE. Sesión práctica 0: Instrucciones de instalación del programa VISUAL-CORE

Análisis de cerchas Método de las uniones

Práctica de laboratorio: Utilización de la herramienta Restaurar sistema en Windows Vista

MedicUTN Manual de Usuario

Conocimientos previos

Gestión de bases de datos de mysql desde Dreamweaver

3.2. MANEJO DEL ENTORNO

Transcripción:

PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR FACULTAD DE INGENIERÍA Apuntes de Inteligencia Artificial Laboratorio: Perceptrón Simple JORGE AGUILAR JARAMILLO

LABORATORIO : NEURONA Y PERCEPTRON SIMPPLE Objetivos. Breve revisión de la herramienta Matlab Reforzar el conocimiento adquirido sobre la neurona artificial y el perceptrón de Rosemblatt Implementar el algoritmo visto en clase del perceptrón, pero para neuronas lineales, que acepten cualquier valor Revisar las funciones que implementa Matlab para este caso: o newp y sim 3. LA NEURONA.. Revise los dos demos que trae Matlab sobre la neurona y observe como el valor de los pesos influye en la pendiente, y el valor de b en su ubicación en el eje de las y. 2. Pruebe las diferentes funciones 3. Observe en el segundo demo como varía la salida de la neurona en función de los valores de pesos W y b. 3.2 EL PERCEPTRON El perceptrón es una neurona con una función de transferencia escalón y un mecanismo de ajuste de pesos (aprendizaje) que compara la salida real, yd con la respuesta de salida de la red, y, para cualquier entrada o estímulo dado. Los Perceptrones son bien definidos para reconocimiento/clasificación de patrones El mecanismo de ajuste de pesos se llama regla de aprendizaje del perceptrón. Para ir a los demos, una vez abierto Matlab, en la ventana de comandos, escriba demo. Se abrirá una nueva ventana en la que debe ir al Neural Network que se encuentra en el toolbox. Aquí encontrará los demos de la neurona (neurons) y del perceptron. 5 Jorge Aguilar J.

Ilustración. Esquema de un perceptrón simple (matlab, 26) Matlab trae 6 demos para este tipo de redes:. Fronteras de decisión (Decision Boundaries) 2. Perceptrón learning rule 3. Classification with a 2 input perceptrón 4. Outlier input vectors 5. Normalized perceptrón rule 6. Linearly non separable vector En el primer ejemplo, (Decision Boundaries), se observa como la definición del vector de pesos y el valor de b (umbral) define la frontera de separación entre las dos clases. En el segundo ejemplo, se aplica la regla del perceptrón, en el que se tiene las opciones de aplicar o no un bias (umbral): La opción learn aplica la regla a un solo ejemplo. 52 Jorge Aguilar J.

La opción Train aplica el algoritmo hasta 5 datos, por esta razón normalmente se necesita correr más de una vez esta opción para encontrar una solución. Los demos del 3 al 6, muestran el aprendizaje de esta red para algunos casos particulares 3.3 EJEMPLO DE CLASIFICACIÓN Consideremos un ejemplo de clasificación de 2 clases:.8.6.4.2 -.2 -.4 -.6 -.8 -.4 -.2.2.4.6.8 Consideremos los 5 ejemplos de la figura: x x2 yd (clase).6.2 (azul).2.9 (azul).3.4 (rojo).. (rojo).5.6 (rojo) Resolvamos este problema en Matlab, aplicando un algoritmo como el revisado en clase, para luego resolverlo con las funciones que implementa Matlab para el perceptrón. % Ejemplo de entrenamiento del PS. % Declaramos el vector de entrada P (tomando la convención de Matlab) % y el vector de salida T e inicializamos los pesos, W y el bias (b) P=[.6 -.2 -.3..5;.2.9.4. -.6]; T=[ ]; W=[-2 2]; b=-; % Graficamos estos datos de entrada y clase ( y ) juntamente con la frontera de separación: los valores iniciales. plotpv(p,t); % función para graficar los datos 53 Jorge Aguilar J.

plotpc(w,b); % función para graficar la recta % Definimos un contador para el número de épocas que se refiere al % conjunto de todos los datos nepoc= % calculamos la salida del perceptrón, para estos datos. Y=hardlim(W*P+b); % Introducimos un lazo que ajuste los pesos mientas no se % cumpla la condición de tener la salida del sistema igual a la salida % deseada. while any(y~=t) Y=hardlim(W*P+b); % Salida de la red E=T-Y; % Error [dw,db]= learnp(p,e); % Aprendizaje W=W+dW; % Modificación de pesos b=b+db; % Modificación del valor de b nepoc=nepoc+; disp('epochs='),disp(nepoc), disp(w), disp(b); plotpv(p,t); plotpc(w,b); pause(); end Copie este código en un archivo.m en Matlab (ejemplo, lab.m) en alguna carpeta definida (por ejemplo (C:\Matlab7\Work\LabIA\) Defina esta carpeta en el ambiente de Matlab:. Vaya el menú File en Matlab a la opción Set Path; 2. En la nueva ventana que se despliega haga clic en Add Folder y vaya a la carpeta en la que grabó los archivos. 3. Selecciónela y haga clic en Aceptar 4. La nueva carpeta le aparecerá en la ventana Matlab search path 54 Jorge Aguilar J.

5. Ejecute los botones de control Save y Close Ahora si puede ejecutar el programa, tecleando su nombre del archivo en el Command Window de Matlab Vectors to be Classified Vectors to be Classified.5.5.5.5 P(2) P(2) -.5 -.5 - - -.6 -.4 -.2.2.4.6.8 P() -.6 -.4 -.2.2.4.6.8 P() Los pesos definidos no son una solución al problema Luego de iteraciones la red ha encontrado una solución a este problema RESOLUCIÓN DEL MISMO EJEMPLO DE CLASIFICACIÓN USANDO LAS FUNCIONES DE MATLAB: NEWP Matlab usa la función newp para crear una red perceptrón. Esta función tiene cuatro parámetros de entrada y el resultado (salida de la función) es la red perceptrón. red = newp(pr,s,tf,lf) Donde: pr matriz de los valores máximos y mínimos de los datos de entrada (Nx2), donde N es el número de variables de entrada s Número de neuronas. tf función de transferencia, por defecto = 'hardlim'. 55 Jorge Aguilar J.

lf función de aprendizaje, por defecto = 'learnp'. red la red perceptrón Por lo que, el mismo ejemplo que acabamos de ver, usando la funcion que trae Matlab para definir la red perceptrón se tiene: % Declaramos el vector de entrada P y El vector de salida T. P=[.6.2.3..5;.2.9.4..6]; T=[ ]; % Graficamos plotpv(p,t); % Creamos el objeto red y le asignamos a la variable net: net = newp([-.3.6; -.6.9],); % definimos el número de pases a (como en el caso anterior) entrenamos la red y graficamos los resultados net.adaptparam.passes = ; net = adapt(net,p,t); plotpc(net.iw{},net.b{}); Normalmente se entrena una red para que una vez que aprende, esta sirva para ejemplos nuevos, de los cuales no conocemos la salida y queremos conocer la salida de la red. Matlab trae otra función para clasificar ejemplos nuevos con los que no ha sido entrenada la red: la función sim. Es decir sim da la salida de la red, el y, dándole los datos de entrada y obviamente el objeto net, definido anteriormente: y = sim(net,p); Veamos la aplicación de esta función. Si definimos un dato de entrada, la red debe clasificarlo correctamente. Consideremos el ejemplo. p = [.56;.]; % calculamos la salida de la red. y = sim(net,p); plotpv(p,y); point = findobj(gca,'type','line'); set(point,'color','red'); 56 Jorge Aguilar J.

hold on; plotpv(p,t); plotpc(net.iw{},net.b{}); hold off; Como se observa en la figura la red clasifica en forma correcta el nuevo dato (graficado de color rojo)..5 Vectors to be Classified.5 P(2) -.5 - -.6 -.4 -.2.2.4.6.8 P() PREGUNTAS A RESOLVER. Pruebe dos clases que no sean linealmente separables. Qué se observa? Por qué ocurre esto? Resuelve el caso de dos clases en las que se tenga los datos separados, como se muestra en la figura. Existe alguna diferencia en el entrenamiento con los ejemplos vistos. Cuál es? 57 Jorge Aguilar J.

2.5.5 -.5 - -.5-2 -2 -.5 - -.5.5.5 2 58 Jorge Aguilar J.