Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ingeniería y Ciencias Agropecuarias
Departamento: Ingeniería
Área: Automatización
(Programa del año 2024)
(Programa en trámite de aprobación)
(Programa presentado el 13/08/2024 11:21:42)
I - Oferta Académica
Materia Carrera Plan Año Periodo
() Optativa: Aprendizaje Automático ING. MECATRÓNICA OCD Nº 19/22 2024 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
AVILA, LUIS OMAR Prof. Responsable P.Tit. Exc 40 Hs
TRIMBOLI, MAXIMILIANO DANIEL Responsable de Práctico A.1ra Simp 10 Hs
ANTONELLI, NICOLAS NEHUEN Auxiliar de Práctico A.1ra Simp 10 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total C - Teoria con prácticas de aula Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
6 Hs. 2 Hs. 4 Hs. 0 Hs. 6 Hs. 2º Cuatrimestre 05/08/2024 15/11/2024 15 90
IV - Fundamentación
El aprendizaje automático (en inglés machine learning) consiste en encontrar patrones en los datos para que las computadoras puedan resolver problemas complejos. En este curso, estudiaremos representaciones y algoritmos que permiten a las máquinas mejorar su desempeño en tareas definidas a partir de la experiencia. En lugar de programar explícitamente a las computadoras para realizar una tarea, el aprendizaje automático nos permite programarlas para que aprendan de ejemplos y mejoren con el tiempo, con o sin intervención humana. Este enfoque plantea una pregunta desafiante: ¿cómo generalizar más allá de los ejemplos proporcionados durante la capacitación para manejar nuevos ejemplos en el momento de la prueba? Este curso enseña cómo formalizar e implementar este proceso de generalización desde múltiples perspectivas, ilustrando los conceptos clave en el campo. El curso ofrece una visión general amplia de los métodos existentes en el aprendizaje automático y una introducción a los sistemas adaptativos en general, con un énfasis particular en los aspectos prácticos de los algoritmos de aprendizaje automático. Abarca una variedad de conceptos, técnicas y algoritmos, comenzando con temas fundamentales como la clasificación y la regresión lineal, y avanzando hacia temas más avanzados como las máquinas de soporte vectorial y los modelos de Markov. Al finalizar el curso, los estudiantes tendrán una comprensión generalizada y la intuición detrás de los métodos modernos de aprendizaje automático, así como una comprensión más formal de cómo, por qué y cuándo funcionan estos métodos.
V - Objetivos / Resultados de Aprendizaje
Comprender los conceptos fundamentales del aprendizaje automático para poder identificar potenciales aplicaciones en el campo de la ingeniería, actuando con pensamiento crítico y creativo.

Utilizar y adoptar técnicas de aprendizaje supervisado, no supervisado y por refuerzos para el análisis, diseño y construcción de sistemas, considerando su aplicación en ingeniería y efectuando un análisis crítico de las distintas técnicas estudiadas.

Aplicar e integrar algoritmos de aprendizaje automático, considerando su aplicación en problemas de ingeniería utilizando lenguaje de alto nivel de programación.
VI - Contenidos
Unidad Temática Nº 1. Introducción al Aprendizaje Automático
Motivación y rol del aprendizaje automático. Aprendizaje supervisado, no supervisado y por refuerzos. Aplicaciones. Redes neuronales.

Unidad Temática Nº 2. Aprendizaje Supervisado
Definición, tipos, y casos de uso. Regresión: regresión lineal, mínimos cuadrados y polinomial. Regularización, regresión Lasso y Ridge. Clasificación: margen máximo; selección de modelos. Regresión logística. Clasificación multiclase. K-vecinos más cercanos. Máquinas de soporte vectorial (SVM). Métricas de evaluación.

Unidad Temática Nº 3. Aprendizaje no supervisado
Técnicas de agrupamiento: definición, tipos, casos de uso y algoritmos más conocidos. Reducción de dimensionalidad. Análisis de componentes principales. Autoencoders.

Unidad Temática Nº 4. Aprendizaje por refuerzos
Problema y componentes. Procesos de decisión de Markov. Ecuación de Bellman. Métodos de Monte-Carlo y diferencias temporales. Algoritmo Q-Learning. Exploración vs. explotación. Métodos on-policy y off-policy.

VII - Plan de Trabajos Prácticos
Resolución de problemas: Se entregarán guías de trabajos prácticos para la resolución de problemas implementando algoritmos o técnicas computacionales aplicando los conceptos desarrollados en las clases teóricas. Los trabajos prácticos serán desarrollados en computadora.

Los temas a desarrollar serán:

1. Aprendizaje Supervisado. Se implementarán y evaluarán algoritmos en lenguaje Python para hallar soluciones a problemas de regresión y clasificación.
2. Aprendizaje No Supervisado. Se implementarán y evaluarán algoritmos en lenguaje Python para un problema de agrupamiento (clustering).
3. Aprendizaje por Refuerzos. Se implementarán y evaluarán técnicas de aprendizaje por refuerzos, experimentando con distintas recompensas para hallar una política óptima en un proceso de Markov.

Trabajo final integrador: durante el cuatrimestre, los alumnos desarrollarán un trabajo integrador donde aplicarán los conceptos aprendidos en las distintas etapas de la asignatura. Este trabajo se realizará de forma individual o grupal según el equipo docente considere adecuado. Al finalizar el cuatrimestre los alumnos presentarán un informe, el cual será evaluado realizando observaciones no sólo de índole temático sino también de redacción, formato, citación bajo normas, etc. Además, los alumnos deberán realizar una defensa del trabajo frente a sus pares.
VIII - Regimen de Aprobación
A - METODOLOGÍA DE DICTADO DEL CURSO:

Metodología de dictado y aprobación de la asignatura: Clases teóricas y prácticas. Los contenidos teóricos y prácticos serán puestos a disposición de los estudiantes a través de la plataforma Google Classroom provista por la universidad.

B - CONDICIONES PARA REGULARIZAR EL CURSO

Asistencia al 80% de las clases teóricas.
Asistencia al 80% de las clases prácticas.
Aprobación del 100% de los trabajos prácticos de aula.

C – RÉGIMEN DE APROBACIÓN CON EXÁMEN FINAL

El alumno será evaluado en un examen final oral sobre los temas teóricos que solicite el tribunal.

D – RÉGIMEN DE PROMOCIÓN SIN EXAMEN FINAL

Asistencia al 80% de las clases teóricas.
Asistencia al 80% de las clases prácticas.
Aprobación del 100% de los trabajos prácticos de aula.
Aprobación de un proyecto integrador con nota mayor a 7.

E – RÉGIMEN DE APROBACIÓN PARA ESTUDIANTES LIBRES
El curso no contempla régimen de aprobación para estudiantes libres.
IX - Bibliografía Básica
[1] Machine Learning. Tom Mitchell. McGraw Hill, 1997. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
[2] Introduction to Machine Learning. Alpaydin, E. MIT Press, 3 ed., 2014. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
[3] Reinforcement Learning: An Introduction. Sutton R. S. and A. G. Barto, MIT Press, Cambridge MA, 2 ed.,2018. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
X - Bibliografia Complementaria
[1] Python Machine Learning: Machine Learning and Deep Learning with Python, scikit learn, and TensorFlow 2, Third Edition, Sebastian Raschka and Vahid Mirjalili, Packt Publishing, 2020.
XI - Resumen de Objetivos
Comprender los conceptos fundamentales del aprendizaje automático.
Utilizar y adoptar técnicas de aprendizaje supervisado, no supervisado y por refuerzos.
Aplicar e integrar algoritmos de aprendizaje automático.
XII - Resumen del Programa
Unidad Temática Nº 1. Introducción al Aprendizaje Automático
Unidad Temática Nº 2. Aprendizaje Supervisado
Unidad Temática Nº 3. Aprendizaje no supervisado
Unidad Temática Nº 4. Aprendizaje por refuerzos
XIII - Imprevistos
Para el caso de medidas de fuerza que alteren sustancialmente el dictado de la asignatura, se implementarán sistemas de autoestudio y consultas mediante la utilización de plataformas on-line.
XIV - Otros
Aprendizajes Previos:

Diseñar soluciones algorítmicas a problemas de complejidad media y alta para su aplicación en la resolución de métodos numéricos y en problemas que requieran desarrollo de software, cumpliendo con las buenas prácticas de programación.
Aplicar sentencias y bloques de programación para la codificación de algoritmos necesarios en los cursos posteriores y en su vida profesional, conociendo las reglas semánticas y sintácticas de lenguajes de programación determinados.

Detalles de horas de la Intensidad de la formación práctica.

Cantidad de horas de Teoría: 20hs
Cantidad de horas de Práctico Aula: 0hs
Cantidad de horas de Práctico de Aula con software específico: 50hs
Cantidad de horas de Formación Experimental: 0hs
Cantidad de horas de Resolución Problemas Ingeniería con utilización de software específico: 0hs
Cantidad de horas de Resolución Problemas Ingeniería sin utilización de software específico: 0hs
Cantidad de horas de Diseño o Proyecto de Ingeniería con utilización de software específico:20hs
Cantidad de horas de Diseño o Proyecto de Ingeniería sin utilización de software específico: 0hs

Aportes del curso al perfil de egreso:

1.1. Identificar, formular y resolver problemas. (Nivel 3)
2.1. Utilizar y adoptar de manera efectiva las técnicas, instrumentos y herramientas de aplicación. (Nivel 2)
2.2. Contribuir a la generación de desarrollos tecnológicos y/o innovaciones tecnológicas. (Nivel 2)
2.4. Aplicar conocimientos de las ciencias básicas de la ingeniería y de las tecnologías básicas. (Nivel 3)
2.5. Planificar y realizar ensayos y/o experimentos y analizar e interpretar resultados. (Nivel 2)
3.3. Manejar el idioma inglés con suficiencia para la comunicación técnica. (Nivel 3)
3.5. Aprender en forma continua y autónoma. (Nivel 3)