# M3 · Modelos de Aprendizaje Automático **Máster en Inteligencia Artificial, Automatización y Agentes Digitales** · Next Educación · Próxima edición **6 ECTS · 12 sesiones de una hora · Responsable de producción y coordinación: Sami Halawa Ribas** ## Descripción Construcción, validación e interpretación de modelos supervisados y no supervisados, con énfasis en la validación honesta, la selección de métricas y la comunicación de resultados al negocio. ## Competencias del módulo 1. Construir modelos supervisados y no supervisados. 2. Seleccionar métricas adecuadas. 3. Mejorar modelos mediante validación y tuning. 4. Interpretar resultados. 5. Comunicar hallazgos al negocio. ## Evaluación | Instrumento | Peso | |---|---:| | Prácticas de sesión | 35% | | Competición interna de modelado | 40% | | Informe e interpretación | 25% | ## Mapa de sesiones | # | Sesión | Entregable | |---:|---|---| | 1 | Marco del aprendizaje supervisado | Cuaderno con línea base y diagnóstico. | | 2 | Validación: particiones y validación cruzada | Cuaderno con esquema verificado e intervalo de la métrica. | | 3 | Modelos lineales y regularización | Cuaderno con comparación y variables seleccionadas. | | 4 | Árboles y modelos de conjunto | Modelo ajustado con comparación documentada. | | 5 | Métricas de clasificación y umbral de decisión | Cuaderno con umbral recomendado y justificación económica. | | 6 | Modelos no supervisados: segmentación | Segmentación con ficha de cada segmento. | | 7 | Reducción de dimensionalidad y detección de anomalías | Detector con umbral y protocolo de alerta. | | 8 | Optimización de hiperparámetros | Estudio de optimización con conclusión sobre el presupuesto. | | 9 | Interpretabilidad y explicación de modelos | Informe de interpretabilidad de dos páginas. | | 10 | Equidad, sesgo y robustez del modelo | Informe de auditoría con decisión razonada. | | 11 | Taller: competición interna de modelado | Envío reproducible y defensa. | | 12 | Evaluación del módulo y defensa | Prueba resuelta y defensa realizada. | --- ## Programación sesión a sesión ### Sesión 01 — Marco del aprendizaje supervisado **Objetivos** - Formular un problema como tarea de aprendizaje supervisado. - Comprender el compromiso sesgo-varianza. - Establecer una línea base defendible. **Contenidos** - **Formulación** - Entrada, objetivo y función de pérdida - Regresión, clasificación y ranking - Supuestos que asume el aprendizaje supervisado - Cuándo el problema no es supervisado - **Sesgo y varianza** - Descomposición del error - Sobreajuste y subajuste con ejemplos - Capacidad del modelo y tamaño de muestra - Curvas de aprendizaje - **Línea base** - El modelo trivial y por qué siempre se calcula - Reglas de negocio como línea base - Comparación honesta contra la línea base - Umbral de mejora que justifica el proyecto **Práctica — Línea base y curva de aprendizaje** Construcción de la línea base y diagnóstico de sesgo-varianza sobre el dataset del proyecto. 1. Implementar el modelo trivial. 2. Ajustar un modelo simple. 3. Trazar la curva de aprendizaje. 4. Diagnosticar si falta dato o falta capacidad. - *Stack:* scikit-learn, matplotlib - *Entregable:* Cuaderno con línea base y diagnóstico. **Lecturas** - Hastie et al., ESL, cap. 7 (secciones 7.1-7.3) *Materiales:* `teoria/M3_S01_Marco_del_aprendizaje_supervisado.html` · `code/M3_S01_Marco_del_aprendizaje_supervisado.ipynb` --- ### Sesión 02 — Validación: particiones y validación cruzada **Objetivos** - Diseñar un esquema de validación adecuado al problema. - Evitar la fuga a través de la partición. - Estimar la incertidumbre de la métrica. **Contenidos** - **Esquemas** - Hold-out, k-fold y estratificado - Validación agrupada por entidad - Validación temporal y ventanas deslizantes - Validación anidada - **Fugas** - Fuga por preprocesado fuera del fold - Fuga por duplicados entre particiones - Fuga temporal - Detección práctica de fuga - **Incertidumbre** - Variabilidad entre folds - Intervalos sobre la métrica - Cuántos folds y por qué - Comparación estadística entre modelos **Práctica — Esquema de validación a prueba de fugas** Diseño y verificación del esquema de validación del proyecto, incluida la variante temporal. 1. Diseñar el esquema adecuado al caso. 2. Implementarlo con pipeline de scikit-learn. 3. Introducir una fuga deliberada y detectarla. 4. Reportar métrica con intervalo. - *Stack:* scikit-learn - *Entregable:* Cuaderno con esquema verificado e intervalo de la métrica. **Lecturas** - scikit-learn: cross-validation user guide *Materiales:* `teoria/M3_S02_Validacion_particiones_y_validacion_cruzada.html` · `code/M3_S02_Validacion_particiones_y_validacion_cruzada.ipynb` --- ### Sesión 03 — Modelos lineales y regularización **Objetivos** - Ajustar e interpretar modelos lineales y logísticos. - Aplicar Ridge, LASSO y Elastic Net con criterio. - Usar el modelo lineal como referencia interpretable. **Contenidos** - **Modelos lineales** - Regresión lineal y logística - Interpretación de coeficientes y odds - Supuestos y diagnóstico de residuos - Multicolinealidad y su efecto - **Regularización** - Ridge: reducción de varianza - LASSO: selección de variables - Elastic Net: cuándo - Selección de lambda por validación cruzada - **Uso práctico** - Estandarización obligatoria - Trayectorias de coeficientes - Estabilidad de la selección - El lineal como línea base fuerte **Práctica — Ridge, LASSO y Elastic Net comparados** Ajuste de las tres variantes con selección de lambda y análisis de coeficientes. 1. Estandarizar y ajustar las tres variantes. 2. Seleccionar lambda por validación cruzada. 3. Trazar trayectorias de coeficientes. 4. Comparar selección y rendimiento. - *Stack:* scikit-learn, matplotlib - *Entregable:* Cuaderno con comparación y variables seleccionadas. **Lecturas** - Hastie et al., ESL, cap. 3 *Materiales:* `teoria/M3_S03_Modelos_lineales_y_regularizacion.html` · `code/M3_S03_Modelos_lineales_y_regularizacion.ipynb` --- ### Sesión 04 — Árboles y modelos de conjunto **Objetivos** - Comprender el funcionamiento de árboles, bosques y boosting. - Ajustar gradient boosting con criterio. - Reconocer sus modos de fallo. **Contenidos** - **Árboles** - Criterios de división y poda - Ventajas e inestabilidad - Tratamiento nativo de categóricas y nulos - Interpretabilidad real de un árbol - **Conjuntos** - Bagging y random forest - Boosting: AdaBoost y gradient boosting - XGBoost, LightGBM y CatBoost - Hiperparámetros que realmente importan - **Modos de fallo** - Extrapolación fuera del rango - Categóricas de altísima cardinalidad - Sobreajuste con boosting sin parada temprana - Coste computacional y de inferencia **Práctica — Gradient boosting ajustado** Ajuste de un modelo de boosting con parada temprana y comparación contra el lineal regularizado. 1. Ajustar con parada temprana. 2. Explorar los hiperparámetros relevantes. 3. Comparar con la línea base y el lineal. 4. Medir tiempo de inferencia. - *Stack:* LightGBM, scikit-learn - *Entregable:* Modelo ajustado con comparación documentada. **Lecturas** - Ke et al., LightGBM (paper) *Materiales:* `teoria/M3_S04_Arboles_y_modelos_de_conjunto.html` · `code/M3_S04_Arboles_y_modelos_de_conjunto.ipynb` --- ### Sesión 05 — Métricas de clasificación y umbral de decisión **Objetivos** - Elegir la métrica correcta según el coste de los errores. - Interpretar curvas ROC y precisión-exhaustividad. - Fijar el umbral con criterio económico. **Contenidos** - **Métricas** - Matriz de confusión y sus derivadas - Exactitud: por qué engaña con clases desbalanceadas - Precisión, exhaustividad y F - AUC-ROC frente a AUC-PR - **Curvas** - Construcción e interpretación - Comparación de modelos con curvas - Efecto del desbalanceo - Calibración de probabilidades - **Umbral** - Umbral por coste asimétrico - Umbral por capacidad operativa - Revisión periódica del umbral - Comunicación del umbral al negocio **Práctica — Selección de umbral por coste** Curvas, calibración y elección de umbral con la matriz de costes del caso. 1. Trazar ROC y PR. 2. Evaluar la calibración y corregirla. 3. Calcular el valor esperado por umbral. 4. Recomendar umbral operativo. - *Stack:* scikit-learn, matplotlib - *Entregable:* Cuaderno con umbral recomendado y justificación económica. **Lecturas** - Provost & Fawcett, Data Science for Business, cap. 8 *Materiales:* `teoria/M3_S05_Metricas_de_clasificacion_y_umbral_de_decision.html` · `code/M3_S05_Metricas_de_clasificacion_y_umbral_de_decision.ipynb` --- ### Sesión 06 — Modelos no supervisados: segmentación **Objetivos** - Aplicar técnicas de agrupamiento con criterio. - Evaluar la calidad de una segmentación. - Traducir clusters a segmentos accionables. **Contenidos** - **Técnicas** - k-medias y sus supuestos - Agrupamiento jerárquico - DBSCAN y densidad - Modelos de mezcla - **Evaluación** - Silueta e índices internos - Estabilidad de la solución - Elección del número de grupos - Cuándo no hay estructura - **Accionabilidad** - Perfilado e interpretación de segmentos - Nombrado y tamaño mínimo útil - Traducción a acción comercial - Seguimiento en el tiempo **Práctica — Segmentación accionable** Segmentación completa con evaluación de estabilidad y perfilado de negocio. 1. Preparar y escalar variables. 2. Comparar tres técnicas. 3. Evaluar estabilidad por remuestreo. 4. Perfilar y nombrar los segmentos. - *Stack:* scikit-learn, pandas - *Entregable:* Segmentación con ficha de cada segmento. **Lecturas** - Hastie et al., ESL, cap. 14 (14.3) *Materiales:* `teoria/M3_S06_Modelos_no_supervisados_segmentacion.html` · `code/M3_S06_Modelos_no_supervisados_segmentacion.ipynb` --- ### Sesión 07 — Reducción de dimensionalidad y detección de anomalías **Objetivos** - Reducir dimensionalidad conservando señal. - Usar proyecciones para exploración y para modelado. - Detectar anomalías con métodos no supervisados. **Contenidos** - **Reducción** - PCA: interpretación y varianza explicada - Componentes como variables de entrada - t-SNE y UMAP: uso y abuso - Cuándo la reducción perjudica - **Anomalías** - Enfoque por densidad, por distancia y por aislamiento - Isolation Forest y One-Class SVM - Autoencoder como detector - Evaluación sin etiquetas - **Aplicación** - Fraude, calidad industrial y monitorización - Umbral de alerta y volumen operable - Falsos positivos y coste humano - Revisión con experto de dominio **Práctica — Detector de anomalías con umbral operativo** Construcción de un detector y calibración del volumen de alertas al equipo operativo. 1. Aplicar dos detectores. 2. Comparar en las anomalías etiquetadas disponibles. 3. Fijar umbral por capacidad de revisión. 4. Documentar el protocolo de alerta. - *Stack:* scikit-learn - *Entregable:* Detector con umbral y protocolo de alerta. **Lecturas** - Liu et al., Isolation Forest (paper) *Materiales:* `teoria/M3_S07_Reduccion_de_dimensionalidad_y_deteccion_de_anom.html` · `code/M3_S07_Reduccion_de_dimensionalidad_y_deteccion_de_anom.ipynb` --- ### Sesión 08 — Optimización de hiperparámetros **Objetivos** - Buscar hiperparámetros de forma eficiente. - Evitar el sobreajuste al conjunto de validación. - Decidir cuándo parar la búsqueda. **Contenidos** - **Estrategias** - Búsqueda en rejilla y aleatoria - Optimización bayesiana - Halving y presupuesto sucesivo - Espacios de búsqueda razonables - **Rigor** - Validación anidada - Sobreajuste al conjunto de validación - Semillas y reproducibilidad - Registro de todos los experimentos - **Economía** - Coste de la búsqueda frente a la mejora obtenida - Rendimientos decrecientes - Cuándo mejorar el dato en vez del modelo - Criterio de parada **Práctica — Búsqueda con presupuesto acotado** Optimización bayesiana con presupuesto fijo y análisis de rendimientos decrecientes. 1. Definir el espacio de búsqueda. 2. Ejecutar con presupuesto acotado. 3. Analizar la ganancia por iteración. 4. Concluir si compensa continuar. - *Stack:* Optuna, scikit-learn - *Entregable:* Estudio de optimización con conclusión sobre el presupuesto. **Lecturas** - Documentación de Optuna: samplers y pruners *Materiales:* `teoria/M3_S08_Optimizacion_de_hiperparametros.html` · `code/M3_S08_Optimizacion_de_hiperparametros.ipynb` --- ### Sesión 09 — Interpretabilidad y explicación de modelos **Objetivos** - Explicar globalmente y localmente un modelo. - Usar SHAP con corrección. - Comunicar una explicación a un interlocutor no técnico. **Contenidos** - **Interpretabilidad global** - Importancia de variables: permutación frente a impureza - Dependencia parcial y ALE - Modelos sustitutos - Modelos intrínsecamente interpretables - **Explicación local** - SHAP: fundamento y lectura - LIME y sus limitaciones - Contrafactuales - Explicación frente a causalidad - **Comunicación** - Explicación para el usuario afectado - Explicación para el regulador - Explicación para el equipo técnico - Riesgo de sobreinterpretar **Práctica — Informe de interpretabilidad** Explicación global y local del modelo del proyecto con lectura para negocio. 1. Calcular importancia por permutación. 2. Generar dependencias parciales. 3. Explicar tres casos individuales con SHAP. 4. Redactar la lectura para negocio. - *Stack:* shap, scikit-learn - *Entregable:* Informe de interpretabilidad de dos páginas. **Lecturas** - Molnar, Interpretable Machine Learning, caps. 8-9 *Materiales:* `teoria/M3_S09_Interpretabilidad_y_explicacion_de_modelos.html` · `code/M3_S09_Interpretabilidad_y_explicacion_de_modelos.ipynb` --- ### Sesión 10 — Equidad, sesgo y robustez del modelo **Objetivos** - Medir el comportamiento del modelo por subgrupos. - Aplicar mitigaciones y conocer su coste. - Preparar la evidencia que exigirá el Módulo 8. **Contenidos** - **Medición** - Métricas por subgrupo - Paridad demográfica, igualdad de oportunidades y sus tensiones - Imposibilidad de satisfacerlas todas - Tamaño mínimo de subgrupo - **Mitigación** - Pre-proceso, in-proceso y post-proceso - Umbrales por subgrupo: implicaciones legales - Coste en rendimiento global - Documentación de la decisión - **Robustez** - Sensibilidad a perturbaciones - Comportamiento fuera de distribución - Pruebas adversarias sencillas - Registro de limitaciones conocidas **Práctica — Auditoría de subgrupos** Evaluación del modelo por subgrupos, mitigación y medición del coste de la mitigación. 1. Medir la métrica por subgrupo. 2. Identificar la brecha relevante. 3. Aplicar una mitigación. 4. Medir el coste global y decidir. - *Stack:* fairlearn, scikit-learn - *Entregable:* Informe de auditoría con decisión razonada. **Lecturas** - Barocas, Hardt & Narayanan, Fairness and Machine Learning, cap. 2 *Materiales:* `teoria/M3_S10_Equidad_sesgo_y_robustez_del_modelo.html` · `code/M3_S10_Equidad_sesgo_y_robustez_del_modelo.ipynb` --- ### Sesión 11 — Taller: competición interna de modelado **Objetivos** - Aplicar todo el módulo bajo restricción de tiempo. - Trabajar con un conjunto de prueba ciego. - Defender la solución más allá de la métrica. **Contenidos** - **Reglas** - Conjunto de prueba ciego y envío único - Restricción de tiempo de inferencia - Prohibición de fuga y verificación - Criterio: métrica más defensa - **Estrategia** - Cuánto invertir en dato frente a modelo - Cuándo parar - Conjunto de modelos frente a modelo único - **Defensa** - Justificación de las decisiones - Reproducibilidad del envío **Práctica — Competición** Resolución completa de un problema con conjunto de prueba ciego. 1. Explorar y preparar. 2. Modelar y validar. 3. Enviar la predicción única. 4. Defender la solución. - *Stack:* Entorno del máster - *Entregable:* Envío reproducible y defensa. *Materiales:* `teoria/M3_S11_Taller_competicion_interna_de_modelado.html` · `code/M3_S11_Taller_competicion_interna_de_modelado.ipynb` --- ### Sesión 12 — Evaluación del módulo y defensa **Objetivos** - Demostrar dominio del ciclo de modelado. - Interpretar y comunicar resultados. - Cerrar con el modelo que se llevará al Módulo 6. **Contenidos** - **Prueba práctica** - Diagnóstico de un modelo con fuga - Elección de métrica justificada - Lectura de un gráfico SHAP - **Defensa** - Presentación de resultados en siete minutos - Preguntas sobre validación e interpretación - **Cierre** - Devolución individual - Modelo empaquetado para el Módulo 6 **Práctica — Prueba práctica y defensa** Evaluación sumativa del módulo. 1. Resolver la prueba. 2. Defender el modelo. 3. Recibir devolución. - *Stack:* Entorno del máster - *Entregable:* Prueba resuelta y defensa realizada. *Materiales:* `teoria/M3_S12_Evaluacion_del_modulo_y_defensa.html` · `code/M3_S12_Evaluacion_del_modulo_y_defensa.ipynb` ---