Inteligencia Artificial 2022
Inteligencia Artificial es un término que se escucha ampliamente hoy en día. Sin embargo, es un área del conocimiento que ya tiene varias décadas. Este es un curso introductorio a la inteligencia artificial, la cual es un área donde se mezclan muchas disciplinas: lógica, programación, matemática, estadística y probabilidad, algoritmos, robótica. Al inicio del curso se hace una revisión histórica de las diferentes áreas y campos de aplicación de la inteligencia artificial, para luego entrar en los temas de lógica proposicional y el sistemas de estados, y el desarrollo de modelos basados en reglas y sistemas expertos. Se hace una revisión de algoritmos de búsqueda como BFS, DFS, y backtracking, entre otros, así como el desarrollo de heurísticas y algunos métodos de optimización combinatoria: algoritmos genéticos, evolución diferencial. Luego, combinamos estos conocimientos con el área de probabilidad, para estimar incertidumbre en los modelos. Desarrollaremos métodos de redes bayesianas, y modelos ocultos de Markov. Seguidamente, haremos una introducción al aprendizaje automático, en donde desarrollamos algunos modelos de agrupamiento de datos, clasificación y estimación predictiva. Finalmente, el curso termina con temas de actualidad, como el aprendizaje profundo, en donde implementaremos redes neuronales, principalmente aplicadas a dos campos importantes: visión computacional, y procesamiento del lenguaje, para finalizar con algunos temas de aprendizaje por refuerzo.
El curso requiere madurez por parte del estudiante, pues se integran contenidos de muchos cursos de computación, matemática y estadística. Entre los prerrequisitos se encuentra tener un buen dominio de las técnicas vistan en los cursos de matemática discreta, grafos, autómatas, lógica, programación y algoritmos, cálculo, álgebra lineal, probabilidad y estadística.
Programa del curso
Horario
- Martes y jueves, de 19:50 a 21:30 horas.
Office Hours
- Viernes de 18:00 a 20:00 horas, o por solicitud del estudiante. También pueden enviar sus dudas por correo electrónico.
Material del curso
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
01 | 13.01.2022 | Introducción. Historia de las redes neuronales. Aula 01 |
|
02 | 18.01.2022 | Historia de la IA. Estado del arte actual. Aula 02 |
Russell y Norvig, Capítulo 1. |
03 | 20.01.2022 | Agentes racionales. Clasificación de ambientes. Aula 03 |
Russell y Norvig, Capítulo 2. |
04 | 27.01.2022 | Métodos de Búsqueda. Representación. Aula 04 Aula 04 notas |
Russell y Norvig, secciones 3.1 y 3.2. |
T1 | 29.01.2022 | Tarea 1 Fecha de entrega: Viernes 04 de febrero. |
|
05 | 01.02.2022 | Estrategias de Búsqueda: BFS, DFS, Greedy, Backtracking. Aula 05 Aula 05 notas |
Simulación de Algoritmos shortest path visualgo.net/en/sssp |
06 | 03.02.2022 | Algoritmos: ruta más corta, árbol de expansión mínima. Aula 06 |
Simulación de Algoritmos shortest path cmps-people.ok.ubc.ca/ylucet/DS/Dijkstra.html |
07 | 08.02.2022 | Heurísticas. Algoritmo A*. Aula 07 |
Pathfinding simulation: A* y otros. https://qiao.github.io/PathFinding.js/visual/ |
T2 | 09.02.2022 | Tarea 2 Fecha de entrega: Jueves 24 de febrero. |
|
08 | 10.02.2022 | Comentarios sobre heurísticas y A*. |
Path Finding Introduction to A* Heuristics |
09 | 15.02.2022 | Búsqueda en espacios continuos. Aula 09 |
Aula 09 notas |
10 | 17.02.2022 | Descenso gradiente. Steepest Descent. Ejemplos. Aula 10 |
Aula 10 notas |
11 | 22.02.2022 | Otros métodos de descenso. Descenso gradiente estocástico. Aula 11 notas |
Métodos de gradiente estocástico ruder.io Optimization test functions Test functions Test functions |
12 | 24.02.2022 | Optimización libre de derivadas. Método de Nelder-Mead. Aula 12 |
Aula 12 notas |
13 | 01.03.2022 | Enfriamiento simulado. Aula 13 Aula 13 notas |
TSP con simulated annealing |
T3 | 01.03.2022 | Tarea 3 Fecha de entrega: Martes 15 de marzo. |
|
14 | 03.03.2022 | Distribución normal multivariada. ¿Cómo generar muestras aleatorias de una normal? Aula 14 notas |
multivariate_normal.ipynb |
15 | 08.03.2022 | Algoritmos de Estimación de Distribución. UMDA. Aula 15 |
Aula 15 notas |
16 | 15.03.2022 | Algoritmos genéticos. Aula 16 Aula 16 notas |
Ejemplos de operadores |
17 | 17.03.2022 | Algoritmos genéticos II. Aula 17 |
Operadores de cruce para permutaciones GA_for_TSP.pdf |
18 | 22.03.2022 | Ejercicio con algoritmos genéticos. |
Para el problema del TSP: cities_1.csv cities_2.csv Para el problema del Sudoku: sudoku_puzzle.jpg |
19 | 24.03.2022 | Ejemplo: Problema de asignación de recursos. Aula 19 notas |
|
20 | 29.03.2022 | Estimación empírica de distribuciones. Aula 20 |
1D-kernel-density.ipynb 2D-kernel-density.ipynb |
21 | 05.04.2022 | Agrupamiento y CLasificación. K-medias. Aula 21 |
k-means.ipynb horse.jpg tree.jpg |
22 | 07.04.2022 | Presentación de avances del proyecto. |
|
23 | 21.04.2022 | Clasificadores lineales. El clasificador logístico. Aula 22 |
Aula 22 notas logistic.ipynb |
24 | 26.04.2022 | Perceptrón. Introducción a redes neuronales. Aula 23 |
Tensorflow Playground Karpathy Neural Network Demo |
25 | 28.04.2022 | Redes neuronales. Aula 24 |
Tensorflow installation guide plotmatrix.py test.ipynb |
26 | 03.05.2022 | Redes neuronales: hiper-parámetros, entrenamiento y validación. Pre-procesado de datos. Aula 25 |
Blog de S. Ruder sobre algoritmos estocásticos |
27 | 05.05.2022 | Presentación de avances del proyecto. |
|
28 | 10.05.2022 | Entrenamiento de redes neuronales en Keras. Aula 26 notas |
Keras_Day1.zip |
T4 | 10.05.2022 | No se les olvide entregar la tarea de algoritmos genéticos. | Tarea 4 Fecha de entrega: Martes 17 de mayo. |
29 | 12.05.2022 | Entrenamiento de redes neuronales en Keras II. Aula 27 notas |
|
30 | 17.05.2022 | Ingeniería de features. Aula 28 notas |
|
T5 | 17.05.2022 | Implementar una red neuronal multicapa para entrenar el Snake. | Tarea 5 Fecha de entrega: Viernes 03 de junio. |
Proyecto de Curso
No. | Fecha | Tópicos | Observaciones |
---|---|---|---|
. | 08.03.2022 | Proyecto Snake | |
01 | 07.04.2022 | Primera Entrega. | Entrega de ambiente visual, ideas IA. |
02 | 05.05.2022 | Segunda entrega. | Evaluación primer algoritmo IA (A*, GA, BN). |
03a | 31.05.2022 | Avances Tercera Entrega. | Evaluación segundo algoritmo IA (MH, NN, RL). |
03b | 02.06.2022 | Tercera Entrega + Torneo. | Torneo Presencial. |
Referencias
Textos:
Otras Referencias:
-
El-Ghazali Talbi (2009). Metaheuristics: From Design to Implementation. Wiley.
-
A. E. Eiben, J. E. Smith (2003). Introduction to Evolutionary Computing. Springer.
-
M. Mitchell (1999). An Introduction to Genetic Algorithms. MIT Press.
-
C. Bishop (2000). Pattern Recognition and Machine Learning. Springer.
-
T. Hastie, R. Tibshirani, J. Friedman (2013). The Elements of Statistical Learning. Springer.
-
Daphne Koller, Nir Friedman (2012). Probabilistic Graphical Models. MIT Press.
-
K. Murphy (2012). Machine Learning: a Probabilistic Perspective. MIT Press.