Facultad de Ciencias Exactas y Naturales
Universidad Nacional del Nordeste




Programa



Temario
  1. Introducción general
  2. Introducción python, numpy
  3. Estadística
  4. Modelos lineales: Regresión y clasificación
  5. Clustering. PCA. Reducción dimensionalidad
  6. Arboles y bosques
  7. Kernels y SVMs.
  8. Redes neuronales. Backpropagation. Entrenamiento.
  9. Redes convolucionales. Grafos
  10. Redes recurrentes: LSTM y GRU
  11. Aprendizaje profundo. Residuales. UNET. Modelos generativos: GANs y VAEs
  12. Transformers. Modelos de lenguaje


Examen final

Martes 5 de Diciembre 17:00-20:30.

Modulo Fecha Tema
0 2023-08-15 Tue Intro ML
1 2023-08-18 Fri Python
1 2023-08-22 Tue Python
1 2023-08-25 Fri Python
2 2023-08-29 Tue Estadistica
2 2023-09-01 Fri Estadistica
3 2023-09-05 Tue Modelos lineales
3 2023-09-07 Thu Modelos lineales
4 2023-09-12 Tue Clustering
4 2023-09-15 Fri Clustering
5 2023-09-19 Tue Arboles
5 2023-09-22 Fri Arboles
6 2023-09-26 Tue SVM - Kernels
6 2023-09-29 Fri SVM - Kernels
  2023-10-03 Tue Semana consulta
7 2023-10-10 Tue Redes
7 2023-10-12 Thu Redes
8 2023-10-17 Tue Convolucionales
8 2023-10-20 Fri Convolucionales
9 2023-10-24 Tue Deep learning
9 2023-10-27 Fri Deep learning
10 2023-10-31 Tue Recurrentes
10 2023-11-03 Fri Recurrentes
11 2023-11-07 Tue Transformers
11 2023-11-10 Fri Transformers
12 2023-11-14 Tue Consulta
  2023-12-05 Tue 17:30 Defensa.

Proyectos finales

Optimización y aplicación de SVMs en la clasificación de datos biomédicos

  1. El conjunto de datos "Heart Disease UCI" se enfoca en la clasificación de pacientes en función de la presencia o ausencia de enfermedades cardíacas. Contiene una variedad de características clínicas y biomédicas que se utilizan para predecir si un paciente tiene una enfermedad cardíaca. Este conjunto de datos es útil para aplicaciones de diagnóstico y pronóstico de enfermedades cardíacas. Acceder al conjunto de datos "Heart Disease UCI" a través del siguiente enlace: Base de datos - G-drive
  2. Preprocesar el conjunto de datos (ej. eliminar muestras con valores faltantes, y escalar/normalizar las variables de entrada)
  3. Realizar un análisis exploratorio de los datos (ej. calcular la matriz de correlación para identificar las variables más importantes, verificar que las clases estén balanceadas)
  4. Empleando el conjunto de entrenamiento, utilizar la función GridSearchCV para encontrar el mejor conjunto de hiperparámetros para el modelo de SVM. Ajustar los siguientes hiperparámetros: C, kernel, gamma, degree
  5. Evalúa el rendimiento del modelo con los mejores hiperparámetros en el conjunto de prueba.
  6. Calcula la matriz de confusión para el conjunto de entrenamiento y de prueba.

Clasificación de tormentas a partir de la base de datos CIKM.

La base de datos CIKM posee imagenes de un radar meteorológico con la evolución de la tormenta, a través de la reflectividad en una secuencia de 90 minutos. Esta base de datos fue utilizada por la empresa Alibaba para una competencia de predicción de tormentas a corto plazo (nowcasting) con técnicas de deep learning. Base de datos a proveer.
  1. Realice un código para la lectura de la base de datos a partir de imágenes PNG.
  2. Realice una reducción de la dimensionalidad a partir de usar secuencias de longitud variada de los distintos eventos. Compare las tecnicas de PCA, T-NSE y UMAP.
  3. A partir de la representación en baja dimensionalidad realice un clustering de los tipos de tormentas utilizando K-MEANS y HDBSCAN. Compare.
  4. Realice un análisis de las características de cada cluster.

Arboles y bosques aleatorios aplicados a monitoreo de Parkinsons

  1. Definir el pipeline [metodología] que utilizará para experimentar en la construcción y comprensión de los modelos a implementar
  2. Bajar la base de datos Parkisons Telemonitoring
  3. Base de datos - UCI
  4. Construcción, experimentación y análisis de modelos
  5. - Construir 2 modelos de árboles de decisión y 2 modelos de bosques aleatorios.
    - En cada uno de los modelos [1 fila de la tabla] experimentar con diferentes valores de hiperparámetros, según la técnica de ML utilizada. Ejecutar el código con diferentes configuraciones y observar los valores de la(s) métrica(s) seleccionadas
    - Analizar los resultados, Construir una tabla [cada modelo representado en 1 fila de la tabla], Indicar: i) valores de hiperparámetros modificados en columnas correspondientes. ii) valores de métricas seleccionadas para apoyar la toma de decisiones.
    - Proponer el modelo más adecuado. Especificar el criterio sobre el cual basa su decisión

Redes convolucionales aplicadas a caras

  1. Definir el pipeline [metodología] que utilizará para experimentar en la construcción y comprensión de los modelos, basados en redes convolucionales con arquitecturas ALEXNET a implementar
  2. Bajar la base de datos Face Images
  3. Base de datos - UCI
  4. Construcción, experimentación y análisis de modelos
  5. - Construir 2 modelos de árboles de decisión y 2 modelos de bosques aleatorios.
    - En cada uno de los modelos [1 fila de la tabla] experimentar con diferentes valores de hiperparámetros, según la técnica de ML utilizada. Ejecutar el código con diferentes configuraciones y observar los valores de la(s) métrica(s) seleccionadas.
    - Analizar los resultados, Construir una tabla [cada modelo representado en 1 fila de la tabla], Indicar: i) valores de hiperparámetros modificados en columnas correspondientes. ii) valores de métricas seleccionadas para apoyar la toma de decisiones.
    - Proponer el modelo más adecuado. Especificar el criterio sobre el cual basa su decisión

Identificación de nubes de tormentas a partir de imágenes del satélite LandSat

Usando la base de datos de las imágenes del satelite LandSat-8 se propone identificar las nubes de tormenta para luego clasificar que tipo de tormenta tenemos usando una arquitectura UNET.
  1. Baje los datos correspondientes que estan disponibles en la plataforma kaggle:
  2. Base de datos - Kaggle
  3. Realice un chequeo y primer analisis de la base de datos.
  4. Desarrolle una arquitectura UNET, utilizando de base el codigo del práctico Modulo 9.
  5. Baje los datos correspondientes que estan disponibles en la plataforma kaggle:
  6. Entrene la red para la segmentación de las imágenes y la detección de las nubes.
  7. 3.1 Analice que función de costo sería la mas conviente para el problema.
    3.2 Compare la peformance de la convolución transpuesta con la transformación bilineal en el upscaling.
  8. Analizar los tamaños y cantidades de nubes encontrados en las imágenes.

Clasificación de abstracts de publicaciones científicas.

Se propone un método automático que nos permita clasificar los temas de un conjunto de abstracts de publicaciones. Puede utilizar el paquete de github BERT-topic para realizar el proyecto final (sin ser obligatorio). Base a proveer.
  1. Cargue la base de datos y haga un primer análisis general de los abstracts.
  2. Realice un embedding de los textos a un espacio vectorial. Propuestas: puede usar skip-gram/word2vec o BERT para realizar esto (un desafío mayor pero que también factible seria el uso de Llama).
  3. Realice una reducción de dimensionalidad a través de PCA, T-NSE o UMAP.
  4. Utilice metodos de clusterización para dividir los abstracts por tópicos. Puede comparar las performances de por ejemplo K-Means con HDBSCAN
  5. Con tf-idf puede determinar de que esta hablando cada grupo de clusters.

Bibliografía
  • Bishop C., 2006: Pattern Recognition and Machine Learning. Springer.
  • Goodfellow I., Bengio Y., Courville A., 2017. Deep Learning. MIT Press
  • Murphy, K.P., 2012. Machine learning: a probabilistic perspective. MIT press.
  • James, G., Witten, D., Hastie, T. and Tibshirani, R., 2013. An introduction to statistical learning (Vol. 112, p. 18). New York: springer.
  • Zhang, A., Lipton, Z.C., Li, M. and Smola, A.J., 2021. Dive into deep learning. arXiv preprint arXiv:2106.11342.
  • Stevens, E., Antiga, L. and Viehmann, T., 2020. Deep learning with PyTorch. Manning Publications.
  • Géron A., 2019: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. OReilly Media Inc.


    FaCENA - UNNE

    Contacto: cursoml.unne (@) gmail.com

    2 Aug 2023