Neural Network Training Labs
Laboratorio 22 · Central · 23 / 31

🎯 Incertidumbre y calibración

Incertidumbre y calibración

Objetivo

Medir confianza, Brier score, ECE y temperature scaling.

Dataset real

No constituye una herramienta clínica ni consejo médico.

Fundamento matemático

Calibrar logits z/T en validación y evaluar una vez en test.

Protocolo experimental

  1. Descargar y verificar la procedencia.
  2. Conservar o crear una partición reproducible.
  3. Ajustar transformaciones únicamente con train.
  4. Seleccionar modelo e hiperparámetros usando validation.
  5. Evaluar test una sola vez tras congelar la decisión.
  6. Comparar con la línea base: Regresión logística calibrada.
  7. Guardar configuración, entorno, métricas, predicciones, gráficos y modelo.

Ejecución

python labs/22_uncertainty_calibration/train.py --quick
python labs/22_uncertainty_calibration/train.py --config improved

Preparar únicamente el dataset:

python -m neural_labs.cli dataset --lab 22_uncertainty_calibration

Inferencia y exportación:

neural-labs predict --lab 22_uncertainty_calibration --run latest --input sample.json
neural-labs export --lab 22_uncertainty_calibration --run latest --format onnx --verify

Métricas

accuracy, f1, roc_auc, brier, ece.

Archivos

Ejercicios

Material formativo v3

Comandos profesionales

neural-labs quality --lab 22_uncertainty_calibration --quick
neural-labs benchmark --lab 22_uncertainty_calibration --quick --split-seed 42 --training-seeds 41 42 43
neural-labs leaderboard

Sellado del experimento

La partición se controla con split_seed; la inicialización y el entrenamiento con training_seed. El conjunto test se abre solamente después de seleccionar el checkpoint mediante validación y escribir experiment.lock.json.

🧠 Teoría

Teoría — Incertidumbre y calibración

Propósito

Medir confianza, Brier score, ECE y temperature scaling.

Idea central

Este laboratorio estudia calibración probabilística usando breast_cancer_wisconsin, un dataset público real procedente de UCI.

Un clasificador no solo decide una clase: también emite una confianza, la probabilidad que asigna a esa decisión. Un modelo está calibrado cuando esa confianza coincide con la frecuencia real de acierto: de todas las predicciones hechas con 80 % de confianza, aproximadamente el 80 % deberían ser correctas. La exactitud responde "¿acierta?"; la calibración responde "¿son creíbles sus probabilidades?", y son cosas distintas: una red puede acertar mucho y aun así ser sistemáticamente sobreconfiada, gritando 99 % cuando debería decir 70 %.

Esta distinción es crítica cuando la probabilidad alimenta una decisión posterior —fijar un umbral, priorizar un caso, cuantificar riesgo—. En un dataset de diagnóstico como breast_cancer_wisconsin, una confianza mal calibrada puede inducir una falsa sensación de certeza. El laboratorio mide la calidad probabilística con Brier score y ECE, y corrige la sobreconfianza con temperature scaling, ajustado en validación y evaluado una sola vez en test.

Fundamento matemático

Calibrar logits z/T en validación y evaluar una vez en test.

Una red de clasificación produce logits z (puntuaciones sin normalizar) que se convierten en probabilidades con softmax: pₖ = e^{zₖ} / Σⱼ e^{zⱼ}. Las redes profundas modernas tienden a la sobreconfianza: el entrenamiento con entropía cruzada empuja los logits a valores extremos —porque acercarse a probabilidad 1 en la clase correcta reduce la pérdida indefinidamente— y el resultado son probabilidades más agudas de lo que la evidencia justifica. Calibrar no cambia qué clase se predice; cambia cuán afiladas son las probabilidades.

El Brier score mide el error cuadrático medio entre la probabilidad predicha y el resultado real: BS = (1/N)·Σₙ Σₖ (p_{n,k} − y_{n,k})², donde y es el vector one-hot de la etiqueta. Penaliza a la vez errores de clasificación y de confianza: predecir 0.9 en la clase correcta cuesta menos que predecir 0.6, pero predecir 0.9 en la clase equivocada cuesta mucho. Es una proper scoring rule: se minimiza reportando las probabilidades verdaderas.

El Expected Calibration Error (ECE) cuantifica directamente el desajuste entre confianza y acierto. Se agrupan las predicciones en B intervalos según su confianza; en cada intervalo b se comparan la exactitud observada acc(b) y la confianza media conf(b), y se promedia la brecha ponderando por el número de ejemplos: ECE = Σ_b (|Bᵦ|/N) · |acc(b) − conf(b)|. Un modelo perfectamente calibrado tiene ECE = 0; un valor alto revela sobreconfianza (conf > acc) o subconfianza (conf < acc), visible en el reliability diagram.

El temperature scaling es la corrección más simple y efectiva: divide todos los logits por un único escalar T > 0 antes del softmax, p̂ₖ = e^{zₖ/T} / Σⱼ e^{zⱼ/T}. Con T > 1 las probabilidades se suavizan (baja la confianza), con T < 1 se agudizan; T = 1 no cambia nada. Como el mismo T multiplica todos los logits, el orden relativo se conserva y por tanto la exactitud y el ranking (AUC) no cambian: solo se recalibra la confianza. El valor óptimo T* se ajusta minimizando la entropía cruzada (o el NLL) sobre el conjunto de validación, nunca sobre test —ajustar sobre test contaminaría la evaluación—. Luego se evalúan Brier y ECE una sola vez en test con ese T* congelado. Es importante entender que temperature scaling captura la incertidumbre aleatórica (ruido inherente); no distingue lo que el modelo no sabe (incertidumbre epistémica), para lo cual se recurre a MC Dropout o ensambles.

Protocolo científico

Riesgos de interpretación

No constituye una herramienta clínica ni consejo médico.

El dataset refleja su proceso de recolección y no representa automáticamente otros períodos, países o poblaciones. Una asociación predictiva no demuestra causalidad.

Pregunta crítica

¿Una mayor accuracy implica probabilidades confiables?

🔗 Referencias

Las referencias apuntan a las obras; no se reproduce su contenido, la redacción es original.

🔬 Experimentos

Plan de experimentos — Incertidumbre y calibración

Hipótesis principal

Medir confianza, Brier score, ECE y temperature scaling. La hipótesis debe aceptarse o rechazarse comparando el modelo con Regresión logística calibrada y no solo observando que la pérdida disminuye.

Experimento mínimo

  1. Ejecutar baseline.yaml con tres semillas.
  2. Ejecutar improved.yaml con las mismas semillas.
  3. Mantener fija la partición de datos dentro de cada semilla.
  4. Elegir la variante con validation.
  5. Comparar la variante elegida contra la línea base en test.
  6. Revisar intervalos de confianza, errores y costo computacional.

Experimento específico

Comparar ece y brier antes y después.

Variables controladas

Tabla que debe completarse

Variante Semilla Métrica validation Métrica test Tiempo Parámetros Observación
baseline 41
baseline 42
baseline 43
improved 41
improved 42
improved 43

Criterio de conclusión

La conclusión debe declarar magnitud de la mejora, incertidumbre, costo adicional, errores relevantes y condiciones bajo las cuales el resultado podría no repetirse.

📝 Evaluación

Evaluación — Incertidumbre y calibración

Evidencias obligatorias

Preguntas

  1. Explique con sus palabras: Calibrar logits z/T en validación y evaluar una vez en test.
  2. ¿Qué información del dataset solo puede utilizarse durante entrenamiento?
  3. ¿Por qué la línea base Regresión logística calibrada es una comparación razonable?
  4. ¿Una mayor accuracy implica probabilidades confiables?
  5. ¿Qué cambiaría antes de usar este modelo fuera del laboratorio?

Rúbrica

Criterio Insuficiente Adecuado Excelente Peso
Integridad de datos mezcla particiones separación correcta auditoría, hashes y justificación 20%
Implementación no ejecuta entrena y evalúa código claro, reusable y probado 20%
Diseño experimental resultado aislado comparación controlada multi-semilla e incertidumbre 20%
Análisis repite métricas interpreta errores identifica sesgos, límites y costo 25%
Comunicación incompleta reporte entendible model card y conclusiones verificables 15%

La aprobación exige al menos 70% y cero errores críticos de fuga de datos.