Información general
Carga horaria total: 200 horas
Duración: 9 meses
Tiempo de cursado:
- Dos cuatrimestres.
- 28 semanas de cursado.
- 8 horas semanales.
Modalidad: Se establecen dos modalidades: presencialidad física y presencialidad remota. Los/as estudiantes deben elegir la modalidad al momento de la inscripción.
Contenidos de plan de estudios
I – Tramo propedéutico
Módulo 1 – Introducción a Python. Más información
Módulo 2 – Elementos de probabilidad y estadística. Más información
II – Tramo especialización
Módulo 3 – Análisis exploratorio de datos. Más información
Módulo 4 – Aprendizaje automático. Más información
Módulo 5 – Aprendizaje no supervisado. Más información
Módulo 6 – Aprendizaje profundo. Más información
III – Tramo de producción final integradora
Módulo 7 – Proyecto final. Más información
I - Tramo propedéutico
Módulo 1 - Introducción a Python.
Carácter: Obligatorio
Duración: 24 horas
Distribución: 4 horas semanales / 6 semanas
Contenidos mínimos: Introducción al machine learning. Metodologías. Interprete Python. Tipos de variables. Bifurcaciones. Loops. Vectores y matrices. Graficación. Funciones. Lectura y escritura de datos. Clases y objetos. Librerías para datos: Pandas. Numpy. Scikit learn. Pytorch.
Objetivos de aprendizaje: Está previsto una introducción general al problema de machine learning y el planteo metodológico. En este módulo se abordarán los conceptos básicos de programación en Python. Se espera que el estudiante ya posea formación en programación y el presente módulo tiene por objetivo nivelar los conceptos de programación e introducirlos a través del lenguaje python. A lo largo del módulo se expondrán los principales paradigmas de este lenguaje abarcando los conceptos de programación funcional y programación orientada a objetos. Se dará hincapié en las herramientas y librerías del lenguaje que son de utilidad para el procesamiento de datos y el análisis numérico estadístico de estos, incluyendo elementos de las librerías: Numpy, Scikit-learn y Pytorch.
Módulo 2 - Elementos de probabilidad y estadística
Carácter: Obligatorio
Duración: 24 horas
Distribución: 4 horas semanales / 6 semanas
Contenidos mínimos: Distribución binomial. Distribución Multinomial. Distribución Poisson. Distribución Exponencial Distribución Gaussiana Univariada. Gaussiana Multivariada. Distribución Beta. Distribución t-student. Regla de Bayes. Método de máxima verosimilitud. Inferencia Bayesiana. Métodos no paramétricos. Histogramas. Estimadores de densidad por núcleos. Métodos de vecinos cercanos. Teoría de información. Entropía. Cross-entropy.
Objetivos de aprendizaje: Para un entendimiento de los fundamentos teóricos que existen detrás de las técnicas de aprendizaje automático se requiere del conocimiento de los principales conceptos de probabilidad y estadística. Este módulo introductorio y nivelador tiene por objetivo introducir los conceptos esenciales de la probabilidad y estadística que serán requeridos y utilizados en los módulos posteriores. Para esto el módulo introducirá las distribuciones para datos discretos y continuos, de una y varias variables. Se profundizará sobre las técnicas de estimación paramétrica y no-paramétricas. Se expondrá sobre teoría de información y sus aplicaciones en la caracterización de datos. Los conceptos serán directamente evaluados y profundizados en trabajos prácticos con bases de datos actuales.
II - Tramo Especialización
Módulo 3 – Análisis exploratorio de datos
Carácter: Obligatorio
Duración: 32 horas
Distribución: 4 horas semanales / 8 semanas
Contenidos mínimos: Datos estructurados y no estructurados. Formato de almacenamiento de datos (csv, tsv, ascii, sql, binario, netcdf, hdf5). Encabezados. Formato de los datos (numérico, string, fechas y otros). Técnicas y herramientas de exploración y visualización de los datos. Evaluación y corrección de datos. Datos con ruido. Datos faltantes, datos incorrectos. Técnicas para la exploración de los datos. Selección, descubrimiento y diseño de características relevantes para la resolución de un problema dado.
Objetivos de aprendizaje: La primera actividad que debe realizar el científico de datos es la exploración de los datos para conocer sus características generales. Este tipo de exploración involucra también un análisis con diferentes técnicas de visualización de los datos. En este módulo el estudiante verá cómo analizar estadísticamente las distintas variables del conjunto de datos, obtener relaciones y limitaciones que puedan tener las variables. Se abordará cómo a través de este análisis se pueden identificar distintos errores en los datos, como también detectar valores atípicos o anómalos. El análisis exploratorio debe brindar una primera visión acerca de la viabilidad de responder la pregunta al problema planteado por el cliente o la empresa.
Módulo 4 – Aprendizaje automático
Carácter: Obligatorio
Duración: 32 horas
Distribución: 4 horas semanales / 8 semanas
Contenidos mínimos: Modelos lineales para regresión. Modelos lineales para clasificación. Overfitting. Bias-Varianza. Interpretación estadística de la función de pérdida. Árboles y bosques. Kernels y máquinas de soporte vectorial. Redes neuronales. Backpropagation. Entrenamiento por batch y estocástico. Entrenamiento con momento. Detención temprana. Goteo. Regularización. Redes bayesianas.
Objetivos de aprendizaje: Una de las formas más comunes en la cual pueden estar caracterizados los datos es a través de variables de entrada y de salida o respuesta a las variables de entrada (el objetivo). Si tenemos como parte de nuestra base de datos las entradas y las salidas, el objetivo de la ciencia de datos es aprender la relación funcional que hay entre la entrada y la salida para que dada cualquier nueva entrada el sistema pueda predecir cuál sería la salida más probable. En este módulo introduciremos los conceptos del aprendizaje supervisado a través de los modelos lineales, los cuales nos brindan una importante base teórica que explica su funcionamiento. Se persigue que el estudiante obtenga una interpretación estadística de los principales conceptos del aprendizaje automático. Una vez introducidos los conceptos en los modelos lineales se abarcarán otros tres tipos de modelos de aprendizaje: los árboles y bosques aleatorios, las máquinas de soporte vectorial y las redes neuronales completamente conectadas. Finalmente, se expondrán los algoritmos para el entrenamiento de las redes neuronales más modernas que se utilizan.
Módulo 5 - Aprendizaje no supervisado
Carácter: Obligatorio
Duración: 32 horas
Distribución: 4 horas semanales / 8 semanas
Contenidos mínimos: Clustering. K-Means. Mezcla de Gaussianas. HDBscan. Reducción de la dimensionalidad. Análisis en componentes principales (PCA). PCA probabilístico. PCA Bayesiano. PCA con núcleos. Análisis de componentes independientes. Técnicas nolineales: TSNE (t-distributed Stochastic Neighbor Embedding), UMAP (Uniform Manifold Approximation and Projection for Dimension Reduction). Técnicas de muestreo. Muestreo simple con y sin reposición. Muestreo por rechazo. Muestreo de importancia. Importance-sampling-resampling. Gibbs sampling. Markov Chain Monte Carlo. Metropolis Hastings. Muestreo con ensambles. Inferencia aproximada. Naive Bayes. Métodos variacionales Bayesianos.
Objetivos de aprendizaje: En una amplia gama de problemas reales nos encontramos ante una situación en la que tenemos el conjunto de datos pero no poseemos los targets o etiquetas de nuestro problema. En estos casos lo que tenemos que encontrar es una estimación de la densidad de probabilidad de nuestros datos de entrada. Mientras en un problema supervisado aprendemos a predecir en función de un conjunto de ejemplos aquí lo que tenemos que hacer es descubrir patrones o estructuras en los datos. Para esto recurrimos a los algoritmos de agrupamiento que permiten clasificar en grupos a nuestros datos en función de las distancias entre los propios datos de entrada. En general los problemas no-supervisados son de muy alta dimensionalidad ya que estamos caracterizando el espacio de las entradas, por lo que en muchos casos es necesario la aplicación de técnicas que nos permiten reducir la dimensionalidad. Finalmente, en este curso se espera que el estudiante adquiera el conocimiento para determinar densidades de probabilidad, tanto a través de muestreo (no paramétricas) como también a través de inferencia (paramétrica).
Módulo 6 - Aprendizaje profundo
Carácter: Obligatorio
Duración: 32 horas
Distribución: 4 horas semanales / 8 semanas
Contenidos mínimos: Redes convolucionales. Invariancia de traslación. Capas convolucionales y filtros. Pesos compartidos. Mapas de features. Max pooling. Redes convolucionales profundas. Encoders-decoders. Redes residuales. Redes Neuronales recurrentes. Long short-term memory (LSTM) and Gated recurrent unit (GRU). Problemas en el entrenamiento. Inestabilidad de los gradientes. Vanishing gradients. Attention. Transformers. Modelos de lenguaje. Modelos generativos. Máquinas de Bolzmann. GANs. VAEs. Autoencoders. Aprendizaje por refuerzo. Agente y sistema de recompensas. Aprendizaje por imitación.
Objetivos de aprendizaje: Las arquitecturas de las redes neuronales han sido de las áreas que más han evolucionado en los últimos años. A partir de 2012, se proponen estructuras de redes convolucionales de muchas capas que permitió mejorar problemas de clasificación de imágenes por un amplio margen. En el campo de procesamiento de lenguaje natural y en particular de traducción de lenguajes, las redes recurrentes bidireccionales permitieron una amplia mejora (2014) y luego más recientemente las redes de atención y los transformers (2017). En síntesis, el objetivo principal de este módulo es proveer al estudiante las arquitecturas de redes neuronales profundas que son el cutting edge de la tecnología.
III - Tramo de producción final integradora
Módulo 7 - Proyecto final
Carácter: Obligatorio
Duración: 24 horas
Distribución: 4 horas semanales / 6 semanas
El trabajo final es un proyecto individual bajo la supervisión de un tutor designado que consistirá en el desarrollo de un sistema para el procesamiento de datos. El tema será seleccionado por el/la estudiante de las opciones disponibles en la Diplomatura.
El tema del proyecto final a elegir por el estudiante abarca un abanico de opciones en bases de datos de distintas disciplinas para la predicción de series de tiempo, clasificación de datos, procesamiento de lenguaje natural con transformers, aprendizaje profundo para clasificación de imágenes, predicción espacio-temporal con autoencoders. También desafíos presentados por las empresas y organismos del gobierno que sean sponsors de la diplomatura.
La primera semana del periodo del proyecto final está previsto el dictado de un taller de 2 horas donde se expondrán metodologías ágiles de trabajo y herramientas de gestión de proyecto.
El/la estudiante dispondrá de un mínimo de 6 semanas y un máximo de 6 meses con un mínimo de 12 y un máximo de 24 horas de tutorías para el desarrollo del trabajo final. El trabajo final será presentado en un informe de hasta 5 páginas y deberá ser expuesto en forma oral ante un tribunal designado por el Director.
Objetivos de aprendizaje: El continuo avance del área exige de parte de los científicos de datos una permanente actualización y aprendizaje de las nuevas tecnologías, para esto es crucial fomentar el razonamiento independiente y pensamiento crítico. El proyecto final tiene por objetivo que el/la estudiante se enfrente ante un desafío real del científico de datos: dada una base de datos de un proceso (en cualquier área del saber), a través del análisis pormenorizado se debe definir el procesamiento, la exploración y las técnicas de aprendizaje estadístico que se requieren aplicar a los datos para sacar el máximo provecho a la información existente. Para esto el/la estudiante deberá desarrollar y experimentar en forma independiente, aunque guiado por el tutor con todo lo aprendido en los distintos módulos de la diplomatura para implementar técnicas y evaluar los resultados obtenidos.