Intr. a los Sistemas Inteligentes

2023-I


Descripción del Curso

Profesores

Fabio A. González
Profesor Titular
Depto. de Ingeniería de Sistemas e Industrial
Universidad Nacional de Colombia

Objetivo del curso

Los sistemas inteligentes estudian el desarrollo de agentes inteligentes o racionales. Un agente racional debe ser capaz de actuar para maximizar el mejor resultado esperado. El objetivo del curso es estudiar la teoría y los métodos que permiten construir agentes racionales bajo diferentes condiciones.


Temas

1 Introducción

1.1 Historia de la IA

1.2 Qué es IA

1.3 Agentes inteligentes

2 Solución de problemas

2.1 Agentes y Búsquedas

2.2 Búsqueda no informada

2.3 Búsqueda informada

3 Aprendizaje de máquina

3.1 Qué es aprendizaje de máquina

3.2 Aprendizaje supervisado

3.2.1 Clasificación lineal

3.2.2 Modelos probabilísticos (regresión logística, Naïve Bayes)

3.2.3 Clasificación no lineal (k-nn, árboles de decisión)

3.2.4 Support Vector Machines

3.2.5 Random Forest

3.2.6 Redes Neuronales

3.2.7 Deep learning

3.3 Aprendizaje no supervisado

3.3.1 Reducción de la dimensionalidad

3.3.2 Clustering

3.4 Aprendizaje por refuerzo


Evaluación

  • Quices 15%
  • Participación 10%
  • Examen 30%
  • Talleres 10%
  • Curso DL: 20%
    • Cada entrega: 4%
    • Evaluación final 4%
  • Proyecto 15%

Notas


Recursos del Curso

Bibliografía


Calendario del curso

Semana Tema Material Actividades
Feb 6-13 1. Introducción Clase asíncrona: Inteligencia Artificial (video)
Lectura: [Russell21] Chap 1 (slides)
Recursos adicionales:
[CS188-Berkeley] Introduction to AI (slides) (video)
The Wonderful and Terrifying Implications of Computers That Can Learn, Jeremy Howard, TED
Práctica 1
Feb 22 1.3 Agentes inteligentes
2.1 Agentes y Búsquedas
Clase asíncrona:
Agentes inteligentes (slides)(video)
Agentes y búsquedas (slides)(video )
Lectura:
[Russell21] Chap 2, Sect 3.1-3.2
Recursos adicionales:
[CS188-Berkeley] Planning agents (video)
Práctica 2
Mar 1 2.1 Agentes y Búsquedas
2.2 Búsqueda no informada
Clase asíncrona:
Depth first search (slides) (video)
Breadth first search (slides) (video)
Iterative deepening search, uniform cost search (slides) (video)
Lectura:
[Russell21] Sect 3.3-3.4
Recursos adicionales:
[CS188-Berkeley] Uninformed search (video)
Práctica 3
Taller 1
Mar 8-15 2.5 Búsqueda informada
Clase asíncrona:
A* (slides) (video)
Heurísticas (slides) (video)
Lectura:
[Russell21] Sect 3.5-3.6 (slides)
Recursos adicionales:
[CS188-Berkeley] A* Search and Heuristics (video)
Search algorithms notebook from AIMA
Taller 2
Mar 22 3.1 Qué es aprendizaje de máquina
3.2 Aprendizaje supervisado
Clase asíncrona:
Introducción al ML (slides)(video )
Clasificación binaria usando un modelo lineal (notebook)(video )
Recursos adicionales:
[Russell21] Sect 19.1, 19.2, 19.6 (slides)
Práctica 4
Abr 12 3.2.1 Clasificación lineal
3.2.2 Modelos probabilísticos (regresión logística, Naïve Bayes)
Clase asíncrona:
Clasificador Naïve Bayes (slides 49-60)(notebook)(video 1)(video 2)
Recursos adicionales:
[CS188-Berkeley] Naïve Bayes 1 (slides) (video)
[CS188-Berkeley] Naïve Bayes 2 (slides) (video)
[Russell21] Chapter 12
Notebook: Clasificación Lineal y Evaluación del Desempeño
Práctica 5
Abr 26 3.2.3 Clasificación no lineal (k-nn, árboles de decisión)
Clase asíncrona:
Árboles de Decisión, K-nn (slides)(notebook)(video 1)(video 2)
Recursos adicionales:
[Russell10] Sect 19.3 (slides)
Notebook: Clasificación no lineal, complejidad y sobreajuste
Práctica 6
Taller 3
May 3 3.2.4 Support-vector machines
3.2.5 Random Forest
Clase asíncrona:
Support-vector machines, random forest (notebook 1)(notebook 2)(video 1)(video 2)
Recursos adicionales:
[Russell10] Sects 19.7.5, 19.8.1-2 (slides)
Notebook: Máquinas de vectores de soporte y selección de modelos
Notebook: Random Forests y exploración aleatorizada
Práctica 6.5
May 10 3.2.6 Redes neuronales
Clase asíncrona:
[FundDL] Secc 2.1-2.4
Recursos adicionales:
[Russell10] Sect 18.6 (slides)
[Alp10] Chap 11 (slides)
Neural Network Playground
Notebook: Redes Neuronales
Notebook: Neural Networks in Keras
May 17 3.2.7 Deep learning
Clase asíncrona:
[FundDL] Secc 2.5-2.8
Recursos adicionales:
Introduction to Deep Learning and Applications (slides)
Representation Learning and Deep Learning Tutorial
Notebook: CNN for image classification in Keras
Práctica 7
May 24 3.2.7 Deep learning
Clase asíncrona:
[FundDL] Secc 3
Recursos adicionales:
Deep learning frameworks (slides)
Introduction to TensorFlow (Jupyter notebook)
Neural Networks in Keras (Jupyter notebook)
May 31 3.2.7 Deep learning
Clase asíncrona:
[FundDL] Secc 4.1-4.5
Recursos adicionales:
Deep learning frameworks (slides)
Introduction to TensorFlow (Jupyter notebook)
Neural Networks in Keras (Jupyter notebook)
Jun 7 3.3 Aprendizaje no supervisado
3.3.2 Clustering (agrupamiento)
Clase asíncrona: Agrupamiento (video)
K-means(slides)
Notebook: Agrupamiento
Proyecto Final
Práctica 8
Jun 14 Examen Final
Jun 14 3.3.1 Reducción de la dimensionalidad
Clase asíncrona: Reducción de la dimensionalidad con PCA (video)
Intro to PCA (slides)
A tutorial on principal component analysis (slides)
Reducción de la dimensionalidad con PCA (notebook)
Jun 15 Eentrega Proyecto Final

Actividades Curso Fundamentos de Deep Learning

El objetivo es cursar y aprobar algunas de las actividades del curso Fundamentos de Deep Learning. Se debe revisar el material y completar los laboratorios en las fechas especificadas:

  • Entrega 1 (May 14):
    • LAB 01.01 - WARM UP
    • LAB 2.1 - Customized loss function
  • Entrega 2 (May 21):
    • LAB 2.2 - Sparse Autoencoders
    • LAB 2.4 - Model instrumentation
  • Entrega 3 (May 28):
    • LAB 3.1 - TF model subclassing
    • LAB 3.2 - Low level Tensorflow
  • Entrega 4 (Jun 4):
    • LAB 4.1 - Convolutions
    • LAB 4.2 - Transfer learning