View on GitHub

ia2022

Curso de Inteligencia Artificial 2022

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

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