Inteligencia artificial

Esta es la página de la unidad de aprendizaje Inteligencia artificial, impartida en agosto-diciembre 2018 por Arturo Berrones (teoría y fundamentos matemáticos de los métodos de aprendizaje a máquina) en colaboración con Elisa Schaeffer (aspectos computacionales de la implementación y aplicación de los métodos) para estudiantes de PISIS de la FIME, UANL, los lunes V1–4 (de 12:00 a 15:20) en el 5303.

Contenido del curso

Bibliografía principal

  1. Goodfellow, Bengio & Courville: Deep Learning, MIT Press, 2016. (Para las sesiones con Arturo, libremente disponible en línea)
  2. Bishop: Pattern Recognition and Machine Learning, Springer, 2006. (Para las sesiones con Arturo, disponible en la biblioteca)
  3. Ng: Machine Learning Yearning — Technical Strategy for AI Engineers in the Era of Deep Learning, draft version, 2018. (Para las sesiones con Elisa, disponible en línea con suscripción gratuita.)

Temario

Los semestres de posgrado consisten en veinte semanas de clase. Teniendo la fecha de clase y así conociendo los asuetos que puedan llegar a afectar, se precisará el temario a nivel de fechas.

  1. Arturo & Elisa: Introducción a la IA y asuntos organizacionales
  2. Elisa: (Leer capítulos 1–12 de Ng antes de llegar) Planteamiento del problema para las tareas, selección de datos de entrenamiento y la herramienta a utilizar (p.ej. scikit-learn con python3 / neuralnet con R) según la capacidad de la computadora a utilizar y conocimientos anteriores del participante
  3. Arturo: Conceptos de aprendizaje supervisado y no supervisado
  4. Arturo: Weka para regresión, clasificación y agrupamiento
  5. Elisa: Entrega de tarea 1. (Leer capítulos 13–19 de Ng antes de llegar) Análisis de errores
  6. Arturo: Introducción al aprendizaje supervisado mediante redes neuronales artificiales usando scikit-learn
  7. Elisa: Entrega de tarea 2. (Leer capítulos 20–27 de Ng antes de llegar) Sesgo y varianza
  8. Arturo: Estructura matemática de los modelos de aprendizaje supervisado y la optimización de sus parámetros
  9. Elisa: Entrega de tarea 3. (Leer capítulos 28–32) de Ng antes de llegar) Curvas de aprendizaje
  10. Arturo: Examen teórico (25 % de la calificación)
  11. Elisa: Entrega de tarea 4; clínica de preparación de pósters en LaTeX
  12. Arturo: Aprendizaje por refuerzo (simulación detallada de modelos básicos mediante el problema "multi-bandit" e introducción a los modelos avanzados)
  13. Elisa: (Leer capítulos 33–40 de Ng antes de llegar) Desempeño y selección de datos
  14. Arturo: Aprendizaje Bayesiano (redes Bayesianas, "naive" Bayes, modelos Gaussianos y RNAs Bayesianas)
  15. Elisa: Entrega de tarea 5. (Leer capítulos 41–45 de Ng antes de llegar) Broncas y pruebas
  16. Arturo: Casos de estudio avanzados de reconocimiento de patrones mediante redes neuronales artificiales
  17. Elisa: (Leer capítulos 46–55 de Ng antes de llegar) Variantes y direcciones futuras
  18. Arturo: Plataformas actuales para implementar redes neuronales a gran escala: TensorFlow, Theano, etc.
  19. Elisa: Entrega de portafolio de las tareas, encuesta docente, co-revisión preliminar de pósters
  20. Arturo & Elisa: Sesión de pósters de proyectos finales (25 % de la calificación)

Las tareas se asignan de forma presencial y verbal en clase. Para personas que suelen olvidar detalles o confundirse sobre lo que había que hacer, se recomienda tomar apuntes, sacar fotos del pizarrón o hasta grabar en su celular en video el planteamiento de cada tarea para consultas posteriores. En los reportes (como en cualquier actividad escrita a nivel posgrado sobre un trabajo computacional), se califica la calidad de los siguientes aspectos:

Para personas que no hicieron tesis de licenciatura o sienten que no dominan de manera adecuada aún los pre-requisitos en términos de redacción científica, se recomienda lectura previa del libro de Zobel y para personas que tienen deficiencias en sus conocimientos de estadística, puede ser útil apoyarse en el libro de Lane y colegas. No se recomienda inscribir la unidad de aprendizaje si el participante no puede leer textos técnicos en inglés de forma cómoda y eficiente.

Participantes que quieran realizar las actividades de las tareas de manera presencial están bienvenidos a las sesiones de la clase de simulación de Elisa, donde pueden aclarar dudas y presentar avances entre las sesiones de esta unidad de aprendizaje. No se otorgan puntos por esta asistencia adicional y es completamente voluntario. Sin embargo, es necesario llegar al inicio de la sesión y esperar que los participantes de simulación estén avanzando ya sus actividades antes de solicitar atención personalizada y tomar en cuenta si hay otras personas en espera para que todos puedan seguir avanzando en sus actividades correspondientes de forma satisfactoria.

Calificación

El 25 % proviene de las actividades de la parte teórica con Arturo, el 25 % del póster sobre el proyecto final (evalución mitad y mitad entre los profesores) y el restante 50 % de las cinco tareas computacionales entregadas a Elisa (10 % cada una).

No existen actividades adicionales tipo segunda oportunidad ni extensiones a las fechas de entrega. La entrega es siempre al inicio de la sesión de forma presencial según las instrucciones del profesor. Repetir en tareas futuras errores ya indicados por los profesores en las revisiones de las tareas anteriores resultará en una reducción de puntos.

Resultados

Repo T1 T2 T3 T4 T5 SP Total
Alan 5 8 9 10 9 3 44
Alberto 4 6 8 5 9 39½
Alejandro 4 6 7 7 7 35½
Astrid 5 7 9 8 9 44½
Mario 4 9 9 10 9 43½
Mayra 3 6 8 9 9 7 42

Herramientas

Antes de llegar a las sesiones de Elisa, es indispensable tener instaladas versiones recientes de

igual como una cuenta de SourceForge (se requiere uso adecuado de control de versiones y queda prohibido realizar revisiones fuera del repositorio); todo esto es de uso gratuito y obligatorio. Se recomienda estudiar tutoriales de las herramientas relacionadas de antemano; el propósito de la docencia a nivel posgrado no es instruir en el uso básico de herramientas computacionales sino la aplicación fructífera de ellas en resolución de problemas, por lo cual no se dedicarán sesiones de clase a cuestiones de instalación o uso básico de las mismas, aunque con gusto se aclaran dudas a personas que claramente ya se esforzaron de forma autodidácta en lo principal y necesitan orientación o aclaración conceptual (no confundas tu profesor con Google; jamás preguntes sin haber primero intentado averiguar por tu cuenta).

Actualizada el 6 de diciembre del 2018.
URL: http://elisa.dyndns-web.com/~elisa/teaching/sys/ai/