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.
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 Conceptos de machine learning
3.1 Qué es el machine learning
3.2 Aprendizaje supervisado
3.3.1 Modelos lineales
3.3.2 Modelos probabilísticos
3.3.3 Arboles de decisión
3.3.4 Redes neuronales
3.4 Aprendizaje no supervisado
3.4.1 Clustering
3.4.2 Reducción de la dimensionalidad
4 Machine learning en la práctica
4.1 Python para machine learning
4.2 Construcción de modelos a partir de datos
4.3 Exploración y preparación de datos
4.4 Evaluación de modelos
4.5 Selección de modelos
4.6 Redes neuronales y Tensorflow
4.8 Desarrollo de modelos no supervisados
Semana | Tema | Material | Actividades | |
---|---|---|---|---|
Oct 28 | 1. Introducción | Lecturas y recursos: - [Russell21] Chap 1 - The must-watch TED Talks on AI from 2023 | ||
Nov 4 | 1.3 Agentes inteligentes 2.1 Agentes y Búsquedas | Clase asíncrona: - Qué es un agente (video 1:53) - Ejemplo robot Roomba (video 2:23) - Ejemplo agente reflejo (video 2:21) - PacMan reflejo (video 1:29) - Tipos de agentes (video 3:47) - Agentes que planean (video 7:23) - Problemas de búsqueda (video 6:01) - Ejemplo viaje a Rumania (video 4:19) - Ejemplo PacMan (video 10:56) - Grafo del espacio de estados (video 3:13) - Arbol de búsqueda (video 4:53) - Algoritmos de búsqueda (video 3:47) Lecturas y recursos - [Russell21] Chap 2, Sect 3.1-3.2 (slides) - [CS188-Berkeley] Planning agents (slides,video) | Práctica 2 | |
Nov 11 | 2.2 Búsqueda no informada 2.3 Búsqueda informada | Clase asíncrona: - Búsqueda en profundidad (DFS) (video 6:55) - Propiedades algoritmos de búsqueda (video 8:14) - Propiedades DFS (video 2:45) - Búsqueda en amplitud (BFS) (video 3:20) - Propiedades BFS (video 6:57) - DFS iterativa (video 1:55) - Búsqueda costo uniforme (UCS) (video 3:36) - Problema de los pancakes (video 6:27) - Demo UCS (video 0:56) - Búsqueda informada (video 7:03) - Ejemplo heurísticas (video 3:32) - Búsqeuda voraz (video 5:51) - A* (video 9:47) - Terminación A* (video 4:48) - Heurísticas admisibles (video 10:57) Lecturas y recursos - [Russell21] Sect 3.3-3.6 - [CS188-Berkeley] Uninformed search (slides,video) - [CS188-Berkeley] A* Search and Heuristics (slides,video) | Práctica 3 | |
Nov 18 | 4.1 Python para machine learning | Clase asíncrona: - [ai4eng] Trabajando con los materiales del curso - [ai4eng] Talleres y plataforma de autocorrección - [ai4eng] Introducción a Python para ML | LAB 01.01 - Practice submission (notebook, video) LAB 01.02 - Metrics (notebook, video) LAB 02.01 - Python (notebook, video) LAB 02.02 - Numpy (notebook) LAB 02.03 - Pandas (notebook) LAB 02.04 - Card trick (notebook, video) | |
Dic 2 | 3.1 Qué es el machine learning 3.2 Aprendizaje supervisado 3.3.1 Modelos lineales | Clase asíncrona: Introducción a machine learning (slides): - 1. Kepler y Brahe (video ) - 2. Datos y ML (video ) - 3. 4 paradigmas de la ciencia (video ) - 4. Definición e historia (video ) - 5. Aprendizaje supervisado (video ) - 6. Aprendizaje no supervisado (video ) - 7. Otros tipos de aprendizaje (video ) - 8. Ejemplos de aplicación (video ) - 9. El proceso de ML (video ) - 10. Inducción de modelos a partir de datos(video ) - 11. Problemas mal condicionados (video ) - 12. Espacio de hipótesis y parsimonia (video ) Clasifición binaria usando un modelo lineal (notebook): - 1. Un modelo sencillo de clasificación (video ) - 2. Función lineal (video ) - 3. Cómo distinguir entre dos clases (video ) - 4. Discriminación lineal (video ) - 5. Función de pérdida (video ) - 6. Implementación de la función de pérdida (video ) - 7. Gradiente descendente (video ) - 8. Algoritmo de gradiente descendente (video ) - 9. Tamaño del paso (video ) - 10. Cálculo del gradiente (video ) - 11. Gradiente descendente en batch (video ) - 12. Gradiente descendente estocástico (video ) - 13. Función de predicción aprendida (video ) Recursos adicionales: [Russell21] Sect 19.1, 19.2, 19.6 (slides) Carl Sagan, La armonía de los mundos | Práctica 4 | |
Dic 9 | 4.2 Construcción de modelos a partir de datos | Clase asíncrona: - [ai4eng] Generación de modelos | LAB 03.01 - Model generation (notebook, video) LAB 03.02 - Time series model (notebook, video) Práctica 4.5 | |
Dic 9 | 3.3.2 Modelos probabilísticos | Clase asíncrona: - 1. Introducción (video) - 2. Probabilidad condicional (video) - 3. Teorema de Bayes (video) - 4. Aplicación del teorema de Bayes (video) - 5. Teorema de Bayes y clasificación (video) - 6. Clasificadores Bayesianos (video) - 7. Clasificador Naïve Bayes (video) - 8. Naïve Bayes entrenamiento (video) - 9. Estimación atributos discretos (video) - 10. Estimación atributos continuos (video) - 11. Predicción (video) - 12. Corrección de estimación (video) Recursos adicionales: [Russell21] Chapter 12 (slides 49-60) [CS188-Berkeley] Naïve Bayes 1 (slides) (video) [CS188-Berkeley] Naïve Bayes 2 (slides) (video) | Práctica 5 | |
Dic 16 | 4.3 Exploración y preparación de datos | Clase asíncrona: - [ai4eng] Gestión de datos | LAB 04.01 - Cleaning data (notebook, video) LAB 04.02 - Building datasets (notebook, video) | |
Ene 13 | 3.3.3 Arboles de decisión | Clase asíncrona: - 1. Problema de clasificación del restaurante (video) - 2. Arboles de decisión (video) - 3. Expresvidad (video) - 4. Espacio de hipótesis (video) - 5. Intuición del algoritmo (video) - 6. Algoritmo de inducción árboles de decisión(video) - 7. Selección del nodo raiz (video) - 8. ¿Cómo medir la información? (video) - 9. Entroía (video) - 10. Cálculo de la entropía (video) - 11. Ganancia de información (video) - 12. Probabilidades a partir de los datos (video) - 13. Entropía ponderada (video) - 14. Selección de atributos (video) Recursos adicionales: [Russell10] Sect 19.3 (slides) | Práctica 6 | |
Ene 20 | 4.4 Evaluación de modelos 4.5 Selección de modelos | Clase asíncrona: - [ai4eng] Gestión de modelos | LAB 05.01 - Prediction impact (notebook, video) LAB 05.02 - Model evaluation (notebook, video) | |
Ene 27 | 3.3.4 Redes neuronales | Clase asíncrona: - 1. Perceptrón (video) - 2. Función AND (video) - 3. Función de activación y umbral (video) - 4. Función XOR (video) - 5. Clase MLPClassifier en Scikit-Learn (video) - 6. Ejemplo red neuronal (video) - 7. Neural Network Playground 1 (video) - 8. Neural Network Playground 2 (video) - 9. Optimización aleatoria de parámetros (video) Recursos adicionales: Notebook: Redes Neuronales [Russell10] Sect 18.6 (slides) [Alp10] Chap 11 (slides) Neural Network Playground | Práctica 7 | |
Feb 3 | 4.6 Redes neuronales y Tensorflow | Clase asíncrona: - [ai4eng] Diseño de algoritmos | LAB 07.01 - Optimization for ML (notebook, video) LAB 07.02 - Neural networks (notebook, video) Práctica 8 | |
Feb 10 | 3.4 Aprendizaje no supervisado 3.4.1 Clustering | Clase asíncrona: - 1. Clustering (video 6m) - 2. K-means (video 3m) - 3. Visualización de K-means (video 5.5m) - 4. Algoritmos e implementación (video 5m) - 5. Ejemplos (video 4m) - 6. Medidas de desempeño (video 4m) - 7. Selección de K (video 5.5m) - 8. Coeficiente de silueta (video 5.5m) - 9. Selección de K con CS (video 2m) - 10. Otros modelos de clustering (video 5m) Recursos adicionales: Notebook: Agrupamiento | Práctica 9 | |
Feb 17 | 4.8 Desarrollo de modelos no supervisados | Clase asíncrona: - [ai4eng] Métodos no supervisados | LAB 06.01 - Clustering companies (notebook, video) | |
Feb 24 | 3.4 Aprendizaje no supervisado 3.4.2 Reducción de la dimensionalidad | Clase asíncrona: - 1. Intro reducción de dimensionalidad (video m) - 2. Varianza e información (video m) - 3. Direcciones de máxima varianza (video m) - 4. Análisis de componentes principales (PCA) (video m) - 5. Aplicación PCA (video m) - 6. Algebra lineal de PCA (video m) - 7. Singular Value Decomposition (video m) - 8. Transformación de los datos PCA (video m) - 9. Ejemplo dataset Wine (video m) - 10. Varianza acumulada (video m) - 11. Ejemplo dataset dígitos (video m) - 12. Representación en términos de componentes principales (video m) - 13. Visualización de componentes principales (video m) Recursos adicionales: Notebook: análisis de componentes principales |