Curso

Programa del curso — Machine Learning

Fuente de verdad del curso. La numeración de sesiones, módulos y contenidos de este documento manda sobre cualquier otro archivo del repositorio. Si un README de módulo o un notebook contradice esta tabla, se corrige el otro archivo, no este.

Ficha

CampoValor
ProgramaMaestría en Ingeniería de Sistemas y Computación
InstituciónUniversidad Tecnológica de Pereira
DocenteMSc. Délany Ramírez del Río — delram@utp.edu.co
Intensidad48 horas — 14 sesiones de 3.5 h
Distribución2 sesiones por semana durante 7 semanas
Modalidad de trabajoTeoría en .md + notebooks Python ejecutables
LenguajePython 3.11 (scikit-learn, PyTorch, MLflow, FastAPI)
EvaluaciónProyecto integrador transversal + quiz teórico por módulo

Objetivo general

Que el estudiante sea capaz de formular, construir, evaluar y desplegar soluciones de Machine Learning sobre datos reales, comprendiendo los fundamentos matemáticos de los algoritmos, eligiendo el modelo adecuado con criterio y llevando el resultado hasta un servicio consumible y trazable.

Objetivos específicos

  1. Distinguir los tipos de aprendizaje y encuadrar un problema real como una tarea de ML.
  2. Aplicar el ciclo de vida completo de un proyecto de ML con control de versiones de código y datos.
  3. Preparar datos: recolección, limpieza, análisis exploratorio e ingeniería de características, evitando la fuga de datos (data leakage).
  4. Implementar y diagnosticar modelos de regresión y clasificación, desde la formulación matemática hasta la evaluación honesta.
  5. Seleccionar modelos con validación cruzada y optimización de hiperparámetros.
  6. Aplicar métodos de ensamble e interpretar sus predicciones.
  7. Descubrir estructura con métodos no supervisados y reducción de dimensionalidad.
  8. Comprender los fundamentos del deep learning como puente al curso especializado.
  9. Desplegar un modelo como API, con trazabilidad de experimentos y monitoreo.

Malla — 6 módulos, 14 sesiones

MóduloSesionesHorasCarpeta
1. Fundamentos y ciclo de vidaS1–S310.5modulo-1-fundamentos-ciclo-vida/
2. Datos: preprocesamiento e ingeniería de característicasS4–S57.0modulo-2-datos-caracteristicas/
3. Supervisado I: regresión y evaluaciónS6–S810.5modulo-3-regresion-evaluacion/
4. Supervisado II: clasificación y ensamblesS9–S1110.5modulo-4-clasificacion-ensambles/
5. No supervisado y deep learningS12–S137.0modulo-5-no-supervisado-deep-learning/
6. MLOps: trazabilidad y despliegueS143.5modulo-6-mlops-despliegue/
1449

Detalle por sesión

Módulo 1 — Fundamentos y ciclo de vida

SesiónTemaContenidos
S1Introducción al Machine LearningDefinición y alcance. IA vs. ML vs. DL. Tipos de aprendizaje: supervisado, no supervisado, por refuerzo. Taxonomía de problemas. Ecosistema Python. Entorno reproducible. Primer flujo fit/predict de punta a punta.
S2Ciclo de vida de un proyecto de MLLas 7 etapas del ciclo. Definición del problema: métricas de negocio vs. métricas técnicas. Estructura de un proyecto de ML. Control de versiones con Git. Versionado de datos con DVC.
S3Fundamentos matemáticosÁlgebra lineal con NumPy: vectores, matrices, producto punto, normas y distancias. Descomposiciones (eigen, SVD). Cálculo: derivadas, gradientes, regla de la cadena. Probabilidad: distribuciones y teorema de Bayes. Conexión con los algoritmos del curso.

Módulo 2 — Datos: preprocesamiento e ingeniería de características

SesiónTemaContenidos
S4Recolección, limpieza y EDADatos estructurados vs. no estructurados. Lectura desde CSV, SQL y API. 🔵 Web scraping con BeautifulSoup. Valores faltantes, duplicados y outliers. Análisis exploratorio y visualización.
S5Ingeniería de característicasEscalado y normalización. Codificación de variables categóricas. Transformaciones. Selección de características: filtro (SelectKBest), envoltura (RFE) y embebidos. Pipeline y ColumnTransformer. Fuga de datos (data leakage).

Módulo 3 — Supervisado I: regresión y evaluación

SesiónTemaContenidos
S6Regresión linealRegresión simple y múltiple. Mínimos cuadrados ordinarios. Descenso del gradiente implementado a mano. Supuestos y análisis de residuales. Métricas: MSE, RMSE, MAE, R2R^2 y R2R^2 ajustado.
S7Regresión avanzadaMulticolinealidad y VIF. Regresión polinómica. Regularización: Ridge (L2L_2), Lasso (L1L_1) y Elastic Net. Interpretación de coeficientes y selección implícita de variables.
S8Evaluación y selección de modelosCompromiso sesgo-varianza. Sobreajuste y subajuste. Validación cruzada: k-fold, estratificada y temporal. Curvas de aprendizaje y de validación. Búsqueda de hiperparámetros: grid, aleatoria y bayesiana (Optuna). Reproducibilidad.

Módulo 4 — Supervisado II: clasificación y ensambles

SesiónTemaContenidos
S9ClasificaciónRegresión logística: odds, log-odds, máxima verosimilitud y softmax multiclase. KNN. SVM y kernels. Métricas: matriz de confusión, accuracy, precisión, recall, F1, ROC-AUC y curva PR. Ajuste del umbral. Clases desbalanceadas.
S10Árboles de decisión y baggingEstructura de un árbol. Medidas de impureza: Gini y entropía. Profundidad, poda y sobreajuste. Bootstrap aggregating. Random Forest. Importancia de variables.
S11Boosting e interpretabilidadAdaBoost. Gradient Boosting. XGBoost y LightGBM. Stacking. Interpretabilidad: permutation importance y SHAP.

Módulo 5 — No supervisado y deep learning

SesiónTemaContenidos
S12Aprendizaje no supervisadoClustering: K-Means (y K-Means++), jerárquico aglomerativo (dendrograma), DBSCAN. Validación: método del codo, coeficiente de silueta, índice de Davies-Bouldin. Reducción de dimensionalidad: PCA, t-SNE, 🔵 UMAP. 🔵 Detección de anomalías.
S13Deep learning (puente)Perceptrón y perceptrón multicapa (MLP). Funciones de activación. Retropropagación. Entrenamiento en PyTorch: optimizadores, batches, early stopping, dropout. Cuándo no usar deep learning. 🔵 Vistazo a CNN y transfer learning.

Nota. Esta sesión es un puente hacia el curso especializado de Deep Learning del programa; no pretende cubrirlo, sino dar el fundamento y el criterio para decidir cuándo un problema tabular no necesita una red neuronal.

Módulo 6 — MLOps: trazabilidad y despliegue

SesiónTemaContenidos
S14De modelo a productoMLflow: tracking, comparación de runs, model registry. Serialización y versionado del modelo. API con FastAPI: endpoints /health y /predict. Empaquetado con Docker. Monitoreo y drift. Reentrenamiento. Sustentación del proyecto integrador.

Evaluación

ComponentePeso sugeridoDescripción
Proyecto integrador (6 entregas)60 %Un caso único que crece módulo a módulo hasta desplegarse como API. Ver proyecto-integrador/.
Quizzes teóricos (6, uno por módulo)25 %Preguntas conceptuales de cierre de módulo. Carpeta quiz/ de cada módulo.
Ejercicios y participación15 %Ejercicios guiados de cada módulo (ejercicios/).

Los pesos son una sugerencia; ajústalos al reglamento del programa antes de publicar el microcurrículo.

Prerrequisitos

  • Programación en Python a nivel intermedio (estructuras de datos, funciones, pandas básico).
  • Estadística descriptiva e inferencial básica.
  • Álgebra lineal y cálculo diferencial a nivel de pregrado en ingeniería.

La sesión S3 repasa los fundamentos matemáticos necesarios, pero no los enseña desde cero.