El objetivo del curso es mostrar una metodología para la aplicación efectiva de diferentes métodos de aprendizaje automático, incluyendo métodos de gran desarrollo en la actualidad, como redes neuronales profundas. Se introducirán las etapas típicas de modelado, entrenamiento, y evaluación. Se utilizarán bibliotecas de código abierto para el lenguaje de programación Python a los efectos de aplicar el conocimiento adquirido sobre diferentes conjuntos de datos disponibles públicamente.
El objetivo del curso es mostrar una metodología para la aplicación efectiva de diferentes métodos de aprendizaje automático, incluyendo métodos de gran desarrollo en la actualidad, como redes neuronales profundas. Se introducirán las etapas típicas de modelado, entrenamiento, y evaluación. Se utilizarán bibliotecas de código abierto para el lenguaje de programación Python a los efectos de aplicar el conocimiento adquirido sobre diferentes conjuntos de datos disponibles públicamente.
-
Conceptos generales de Aprendizaje Automático: Aprendizaje supervisado y no supervisado. Clasificación, regresión, clustering. Sesgo y varianza. Preprocesamiento de datos y extracción de atributos. Atributos discretos y continuos. Atributos faltantes. Medidas de evaluación. Experimentación con bibliotecas para análisis y procesamiento de datos en Python (Pandas, Scikit-learn).
-
Introducción a Redes Neuronales, arquitectura clásica Feed Forward, conceptos básicos (neuronas, capas, función de activación, backpropagation, etc.). (Scikit-learn, Keras).
-
Modelado y aplicación de redes neuronales profundas con Python: Aplicaciones de redes neuronales profundas a diferentes dominios, como procesamiento de lenguaje y de imágenes. Introducción de las arquitecturas más usuales, como redes convolucionales y redes recurrentes. Se trabajará con las bibliotecas de Python para Aprendizaje profundo (Tensorflow, Keras y/o Pytorch).
Informe de proyecto final (en grupo). Prueba escrita individual presencial.