Inteligencia Artificial (IS). Curso Trabajo sobre Inferencia en Redes Bayesianas

Documentos relacionados
Inteligencia Artificial (IS) 2017/18 Propuesta de trabajo

Pra cticas de Algoritmia para problemas difı ciles Especialidad en Computacio n, grado en Ingenierı a Informa tica.

Herramienta Libro de Evaluación

SEGUNDA PRÁCTICA. Programación Curso Ingeniería en Informática Universidad Carlos III de Madrid

Teoría de probabilidades

GENERACIÓN DE EXÁMENES TIPO TEST

Decidiendo en 3D. Soluciones de Negocio

Prácticas de Programación Práctica 1

Cómo inscribirse en las pruebas de conocimientos constitucionales y socioculturales (CCSE) y DELE en España

DISEÑO DE UNA METODOLOGÍA DOCENTE

Universidad Nacional de Educación a Distancia. Ingeniería Técnica en Informática de Sistemas. Introducción a la Inteligencia Artificial (2º curso)

Tarea 3 Búsqueda por Interpolación y Extrapolación

Tareas y métodos de evaluación

Enunciados de las entregas de la asignatura Programación II

Figura 5.7: Página de contacto.

Memoria de la Práctica de Ficheros

MANUAL DE USUARIO - EVALUADO

Mejoras de Atnova Campus 11.0

Práctica Junio. COMPUTADORES. EUITIG. Curso

Proyecto docente de la asignatura

TRABAJO DE INVESTIGACIÓN ORIENTACIÓN INVESTIGACIÓN

Comercial Presupuestos

Guía de apoyo a la investigación No. 12. Guías de apoyo a la investigación de la Unidad de Documentación de Geociencias y Medio Ambiente

Tema: Entorno a C# y Estructuras Secuenciales.

LENGUAJES DE PROGRAMACIÓN. Trabajo Práctico - Septiembre de 2012

Créditos: 6 Horas Presenciales del estudiante: 45 Horas No Presenciales del estudiante: 105 Total Horas: 150 UTILIZACIÓN DE LA PLATAFORMA VIRTUAL:

Modelos Gráficos Probabilistas L. Enrique Sucar INAOE. Sesión 10: Redes Bayesianas Inferencia. 1era parte. [Neapolitan 90]

Metaheurísticas

1. Enunciado. 2. Trabajo del alumno

UNIVERSIDAD DE ANTIOQUIA FACULTAD DE CIENCIAS EXACTAS Y NATURALES INSTITUTO DE FÍSICA PROGRAMA DE MÉTODOS COMPUTACIONALES

GeNie: entorno de desarrollo para la construcción de modelos gráficos de decisión Decision Systems Laboratory, University of Pittsburgh.

Tema: Entorno a C# y Estructuras Secuenciales.

Teoría de los Lenguajes de Programación Práctica curso

DEPARTAMENTO DE ESTADÍSTICA E INVESTIGACIÓN OPERATIVA UNIVERSIDAD DE VALLADOLID

DEPARTAMENTO DE TECNOLOGÍA

Guía Docente. SIMULADOR DE MARKETING 5º curso GRADO OFICIAL EN ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS (GRADE) Curso 2014 /2015.

Tema: Análisis Léxico

UNIVERSIDAD CENTRAL DE VENEZUELA COMISIÓN ELECTORAL CARACAS

e Inteligencia Artificial

SIMULADORES PARA LAS CONTROLADORAS ENCONOR Y CNICE

Manual de Solicitudes para el Empleado

Algoritmos de búsqueda con espacio de memoria limitado

Solución informática

Manual de Usuario. Mayo 2012.

Guía rápida SIMATICA V2.3 SIEMENS, S.A.

NORMAS DEL TRABAJO FIN DE GRADO, GRADO EN GEOGRAFIA Y GESTION DEL TERRITORIO CURSO

Actualización de la Práctica Programación del sistema de simulación gráfica de robots VRS a la versión Visual Studio 2008

Simuladores incluidos en el compilador MSWLogo versión 6.5a

PROCEDIMIENTO TELEMÁTICO PARA LA PRESENTACIÓN DE INSTANCIAS A CONCURSO GENERAL DE TRASLADOS GUÍA EXPLICATIVA PARA LA PRESENTACIÓN DE SOLICITUDES

Pruebas de Acceso a las Enseñanzas Artísticas Superiores de Diseño Navegación de Usuarios

Guía rápida de Moodle para el alumno

CAPÍTULO 4 METODOLOGÍA PROPUESTA

TRABAJO FINAL LA MUJER Y LA NIÑA EN LA CIENCIA Y LA TECNOLOGÍA INGENIERÍA DE SOFTWARE I 2º DE GRADO EN INGENIERÍA INFORMÁTICA CURSO 2017/2018

Análisis y síntesis de sistemas digitales combinacionales

Información general. Obligatoria básica o de fundamentación X. Obligatoria profesional. Horas de trabajo independiente del estudiante

Figura Seleccionar revisores para segunda ronda de revisión

INFORMÁTICA PARA LA INGENIERÍA 1º CURSO 1º SEMESTRE INGENIERÍA DE SISTEMAS DE TELECOMUNICACIÓN PRESENCIAL CURSO 2016/2017 ESCUELA POLITÉCNICA SUPERIOR

Manual de uso. University Application Service for International Students in Spain. Solicitud de Acreditación. Uned Tudela

Redes y Sistemas Complejos

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

GUÍA PARA SOLICITAR AYUDAS DE COMEDOR CON ITACA

Incorporación de la evaluación continua realizada con alf en Gestión de calificaciones

INGENIERÍA DE COMPUTADORES 3. Trabajo Práctico - Septiembre 2012

Especialista en Inteligencia Artificial para Desarrolladores

Especialista en Inteligencia Artificial para Desarrolladores

Metaheurísticas

DISTRIBUCIÓN HORARIA DE LA ASIGNATURA SEGÚN NORMATIVA

Guía Introductoria. 1 Sistemas Expertos e Inteligencia Artificial / Guía I / Ciclo / Ing. Herson Serrano. Introducción. Objetivos Específicos

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Sistemas operativos. CURSO ACADÉMICO - SEMESTRE Primer semestre

Contenido. Página 2 de 10

Manual de Usuario Internet

GC - FR Versión 05

Muestreo, Recogida de información y Análisis de datos

Computación.

NOVEDADES EN MOODLE CURSO 2016/2017

Inteligencia Artificial I

Búsqueda en espacio de estados

MANUAL DE USUARIO APORTACION DE DOCUMENTACION A TRAVÉS DE IMV-MODIM

Guía Pedagógica y de Evaluación del Módulo: Elaboración y mantenimiento de sistemas de información

LENGUAJES DE PROGRAMACIÓN. Trabajo Práctico - Junio de 2015

Convocatoria Criterios para la calificación y evaluación de las pruebas selectivas

Inteligencia Artificial e Ingeniería del Conocimiento

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo

Matemática Discreta II

Ayuda a la carga de Bobinas Manual de Usuario Versión 1.1 (Junio 2016)

MEIC. Manual Usuario MPP Gestión MPP

Explicación del portal

GUÍA DE USUARIO. Aplicativo Web para la carga de probanzas correspondientes a las actividades/producciones de Proyectos de Investigación.

Prueba evaluable de programación con Maxima

Manual para la Presentación. Telemática de la Solicitud de. la Devolución por. Exportaciones

CURSO DE MÉTODOS CUANTITATIVOS I

PROGRAMACIÓN Y AUTOMATIZACIÓN EN EXCEL. APLICACIONES PARA LA INGENIERÍA CIVIL.

Las tecnologías fortaleciendo el poder popular

1. Introducción. 2. Descripción

AgilityContest 3.4.X Desarrollo de Jornadas de Competición en modalidad K.O.

Manual de Profesor Firma de Actas

Normas básicas de estilo, extensión y estructura del TFM

MANUAL DE USO DE LA APLICACIÓN DE BOLSA DE PRÁCTICAS EXTRACURRICULARES Y EMPLEO MÓDULO DE EMPRESAS

Curso 2013/14 Solicitud de Reconocimiento de créditos

Transcripción:

Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial (IS). Curso 2016-17 Trabajo sobre Inferencia en Redes Bayesianas Esta propuesta pretende construir un sistema para realizar inferencia probabilística en dominios representados mediante redes bayesianas. Como se comenta en el Tema 5 de teoría, las redes bayesianas constituyen un formalismo que permite representar de manera compacta y eficiente un modelo probabilístico sobre un dominio concreto. Existen numerosas aplicaciones prácticas de sistemas expertos basados en redes bayesianas 1. Entre otros: Sistemas expertos que manejan información médica. Sistemas para decisión en economía y finanzas. Predicción de fenómenos atmosféricos... 1) Implementación de la estructura de datos Se deberá presentar una Red Bayesiana realista como ejemplo para realizar pruebas. Puede ser inventada o basada en algún ejemplo real (en cuyo caso, explicitar la correspondiente referencia), y deberá tener al menos 10 nodos y estructura de poliárbol. Se podrá utilizar cualquier tipo de datos de Python para representar internamente el grafo de la Red Bayesiana y la tabla de probabilidades asociada. El código diseñado deberá ser capaz de manejar variables discretas 1 En la página web del sistema HUGIN (y en concreto en su enlace sobre Resources) se pueden consultar numerosos ejemplos de aplicaciones comerciales reales de los sistemas expertos basados en redes bayesianas).

con dominios finitos (no sólo variables booleanas). Se deberá programar la manera de poder cargar un ejemplo de Red Bayesiana desde un fichero independiente en formato XMLBIF. 2) Inferencia exacta y aproximada En este trabajo se pide implementar en Python el algoritmo de inferencia probabilística mediante eliminación de variables (EV), y también algún algoritmo de inferencia aproximada (a elegir). 3) Orden de eliminación de las variables La implementación del algoritmo EV que se pide debe seguir los siguientes pasos: 1. Descartar las variables irrelevantes para la consulta antes de comenzar (mostrando un mensaje con la lista de variables descartadas). 2. Obtener todos los factores iniciales a partir de la red, ignorando las variables descartadas y teniendo en cuenta las evidencias. 3. Eliminar las variables ocultas, a través de las correspondientes operaciones sobre los factores. 4. Multiplicar los factores finales (en caso de que haya más de uno). 5. Normalizar. Una cuestión fundamental para la eficiencia de EV es el orden de eliminación de las variables. La idea básica es evitar en la medida de lo posible que aparezcan factores que involucren a muchas variables. Si cuando se decide eliminar una variable, el producto que hay que realizar involucra a muchas variables y/o muchos valores de variables, entonces la tabla resultante puede resultar muy grande y por tanto afectar a la eficiencia del algoritmo. En general, el orden de eliminación óptimo sería aquél que minimizara el tamaño de los factores que se puedan llegar a generar en algún momento durante el proceso. Si bien el conocer de antemano el orden de eliminación óptimo puede llegar a ser computacionalmente costoso, en la práctica se pueden aplicar localmente técnicas heurísticas que decidan en cada paso cuál es la siguiente variable a eliminar, en función del conjunto de factores que se tiene en cada momento. Se pide incorporar estas tres heurísticas en la implementación realizada:

Min Degree: dado un conjunto de factores, la variable que se decide eliminar es la que está çonectadaçon menos variables en el conjunto de factores. Decimos que una variable está conectada con otra respecto de un conjunto de factores, cuando ambas aparecen en un mismo factor del conjunto. Min Fill: dado un conjunto de factores, la variable que se decide eliminar es aquella que al eliminarse introduciría menos conexiones nuevas (conexiones en el sentido explicado en el punto anterior). Min Factor: dado un conjunto de factores, la variable que se decide eliminar es aquella que al eliminarse produciría el factor más pequeño (es decir, el que menos entradas tendría). 4) Asistente recomendador de evidencias En este trabajo se deberá incluir además un recomendador que pueda sugerir aportar más evidencias (si fuese conveniente). La idea es que si un usuario está intentando tomar una decisión basándose en el cálculo de una probabilidad condicionada, hay que intentar que la decisión esté lo más fundamentada posible. El funcionamiento del recomendador será como sigue: Se parte de una inferencia introducida por el usuario (con una variable de consulta y una o más de evidencia). En primer lugar el sistema deberá identificar qué variables de la red son candidatas a ser recomendadas Para cada una de dichas variables, y para cada uno de los valores de su correspondiente dominio, se deberá lanzar un algoritmo de inferencia aproximada añadiendo la evidencia en cuestión. (Se repetirán esas inferencias aproximadas varias veces para evitar ruido) En base a los resultados obtenidos en el punto anterior, el sistema recomendará al usuario una variable. 5) Documentación Escribir (en formato pdf) un pequeño informe sobre el trabajo realizado. Para la elaboración de dicho informe pueden usarse como guía los siguientes puntos:

Descripción del ejemplo elegido, citando la fuente (en su caso). Opcionalmente se podrá incluir también un gráfico de la red. Descripción de la representación escogida para manejar la red y sus tablas de probabilidad asociadas. Descripción informal del diseño del algoritmo de eliminación de variables, de las heurísticas y del recomendador. Una sección de experimentación, con ejemplos concretos de uso del algoritmo y del recomendador. Se deberán incluir comentarios sobre el rendimiento. Listado completo de todas las referencias que se hayan consultado durante la elaboración del trabajo (libros, material online, etc.). Redes bayesianas que se usarán como ejemplos de control El algoritmo que se pide implementar debe ser general y poderse aplicar a inferencia probabilística con cualquier red bayesiana cuyas variables aleatorias sean de dominio finito (aunque no necesariamente booleanas). Se espera que, además del ejemplo elegido, al menos se pueda aplicar a los "Sample problems" que se pueden cargar en AI Space. En concreto, a todas las siguientes redes: Fire Alarm: descrita en el ejemplo 6.10 de [AIFCA-2010]. ( basicfirealarm.xml) Simple diagnosis: ejemplo 6.14 de [AIFCA-2010]. ( InfluenzaSmokes.xml) Electrical diagnosis problem: figura 6.2 de [AIFCA-2010] que desarrolla como red bayesiana el ejemplo 1.10 del mismo libro. ( elec.xml) 6) Comentarios generales Entrega del trabajo El trabajo debe entregarse no después de la fecha de envío fijada para cada convocatoria. El trabajo se presentará en tres ficheros, que se enviarán por email al profesor (ariscosn..at.. us.es):

1. en primer lugar la representación del ejemplo elegido en un fichero XMLBIF, 2. por otra parte, un fichero PY con el código Python3 del trabajo (el fichero deberá estar bien comentado), y, 3. por último, el fichero PDF con la documentación. Presentación del trabajo El trabajo debe ser presentado ante el profesor en el día y hora que se anunciará una vez cumplido el plazo de entrega (se puede realizar también con antelación a dicha fecha previa solicitud al profesor). La presentación es requisito imprescindible para la evaluación de la parte práctica, para ambos alumnos. Para la presentación se aconseja traer portátil personal con todo preparado para la correcta ejecución. El profesor podrá pedir el cálculo de determinadas probabilidades en alguna de las redes anteriores. Se valorará que la introducción de las consultas se haga de manera cómoda. Igualmente, los alumnos deben traer preparadas una serie de consultas como ejemplo, con las que se puede mostrar el funcionamiento de la implementación (se valorará que estas consultas tengan sentido e interés). En la medida de lo posible, salvo imprecisiones en la aritmética del compilador de Python, las respuestas calculadas deben de coincidir con las que calcule AI Space. Importante: Si el fichero.py entregado da error al cargarlo con el intérprete de Python 3, o si salta algún error al realizar inferencias sobre uno de los ficheros de ejemplo, el trabajo no será evaluado. Criteros de evaluación Originalidad e interés del ejemplo elegido. Corrección y eficiencia de la implementación, tanto a nivel de la estructura de datos elegida como en lo relativo al tratamiento de ficheros XMLBIF, y al diseño del algoritmo y la heurística. Se valorará especialmente la originalidad del código (por ejemplo, respecto al material de prácticas o librerías de Python existentes). Claridad y buen estilo general de programación Python. Claridad y buen estilo general de la memoria del trabajo

Desarrollo de la demostración realizada durante la defensa. Respuestas de cada miembro del grupo (de manera individual) a preguntas sobre la realización del trabajo. Posibles mejoras adicionales (Se valorará cualquier aportación original añadida no requerida en esta propuesta) Se podrá utilizar también el material de clase, así como cualquier otra referencia que se estime oportuno (libros, webs, librerías de Python, etc), siempre que aparezca convenientemente reflejado en la documentación. Evidentemente, se espera que el grado de aportaciones originales en el trabajo sea significativo. Posibles mejoras adicionales Sería conveniente que se implementara un mecanismo (no necesariamente gráfico, puede ser un menú de diálogos de texto) con el que sea fácil interactuar con el sistema implementado. Se podría implementar también un diálogo que permita al usuario introducir los detalles de una red bayesiana, de manera que al final se genere un fichero en formato XMLBIF donde se guarde dicha red. Se puede incluir alguna componente aleatoria, por ejemplo para que se generen automáticamente las tablas de probabilidad de los nodos. Cualquier otra aportación original podrá ser valorada, tanto a nivel de funcionalidades adicionales como en lo que se refiere a material auxiliar sobre el ejemplo elegido. Nota Importante: El hecho de detectar plagio, compartición de código o uso de cualquier material que no sea original y del que no se cite convenientemente la fuente, significará automáticamente la calificación de cero en la asignatura para todos los alumnos involucrados. Por tanto a estos alumnos no se les conserva, ni para la actual ni para futuras convocatorias, ninguna nota que hubiesen obtenido hasta el momento. Todo ello sin perjuicio de las correspondientes medidas disciplinarias que se pudieran tomar.