Incertidumbre y calibración
Objetivo
Medir confianza, Brier score, ECE y temperature scaling.
Dataset real
- Dataset:
breast_cancer_wisconsin - Fuente: UCI
- Referencia: https://archive.ics.uci.edu/dataset/17/breast+cancer+wisconsin+diagnostic
- Licencia/condiciones: CC BY 4.0
- Uso: los datos se descargan desde la fuente; no hay ejemplos sintéticos ni archivos inventados.
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
- Descargar y verificar la procedencia.
- Conservar o crear una partición reproducible.
- Ajustar transformaciones únicamente con
train. - Seleccionar modelo e hiperparámetros usando
validation. - Evaluar
testuna sola vez tras congelar la decisión. - Comparar con la línea base: Regresión logística calibrada.
- 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
notebook.ipynb: recorrido completo y ejecutable.notebook_student.ipynb: actividades evaluables sin soluciones.notebook_solution.ipynb: resolución docente y pruebas de referencia.train.py: interfaz de terminal que usa el mismo código del cuaderno.configs/baseline.yaml: configuración base.configs/improved.yaml: configuración ampliada.data/dataset.yaml: procedencia, licencia y política de partición.
Ejercicios
- Cambiar una decisión experimental y justificarla.
- Analizar errores por clase o segmento.
- Comparar costo, precisión y latencia.
- Documentar sesgos, limitaciones y usos no recomendados.
Material formativo v3
theory.md: fundamento, protocolo y riesgos de interpretación.experiments.md: hipótesis, variables controladas y tabla multi-semilla.assessment.md: preguntas y rúbrica de evaluación.lesson.yaml: resultados de aprendizaje, prerrequisitos y entregables.
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
- Ajustar transformaciones, vocabulario, normalización y selección de variables solo con
train. - Usar
validationpara arquitectura, hiperparámetros, checkpoint y umbrales. - Evaluar
testuna vez, después de congelar las decisiones. - Comparar contra Regresión logística calibrada.
- Reportar variación entre semillas e intervalos de confianza; una métrica puntual no expresa toda la incertidumbre.
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.
- Guo et al. (2017), On Calibration of Modern Neural Networks, ICML — evidencia de la sobreconfianza de las redes profundas y propuesta de temperature scaling; define ECE y reliability diagrams.
- Gal y Ghahramani (2016), Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning (MC Dropout), ICML — estimación de incertidumbre epistémica manteniendo dropout activo en inferencia.
- Lakshminarayanan, Pritzel y Blundell (2017), Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles, NeurIPS — ensambles como estimador robusto de incertidumbre predictiva.
- Fuente del dataset: https://archive.ics.uci.edu/dataset/17/breast+cancer+wisconsin+diagnostic
- Consulte
docs/experiment-protocol.md,docs/reproducibility.mdydocs/ethics-and-licenses.md.
🔬 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
- Ejecutar
baseline.yamlcon tres semillas. - Ejecutar
improved.yamlcon las mismas semillas. - Mantener fija la partición de datos dentro de cada semilla.
- Elegir la variante con
validation. - Comparar la variante elegida contra la línea base en
test. - Revisar intervalos de confianza, errores y costo computacional.
Experimento específico
Comparar ece y brier antes y después.
Variables controladas
- Dataset y política de partición.
- Semillas declaradas.
- Presupuesto de épocas y criterio de parada.
- Métrica de selección:
accuracyo la especificada en la configuración. - Hardware y versiones registradas en
environment.json.
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
- Dataset preparado y auditoría sin solapamientos.
- Notebook ejecutado sin celdas omitidas.
- Línea base y modelo neuronal comparados.
- Resultados de al menos tres semillas o justificación del costo.
- Análisis de errores y limitaciones.
- Model card actualizada.
Preguntas
- Explique con sus palabras: Calibrar logits z/T en validación y evaluar una vez en test.
- ¿Qué información del dataset solo puede utilizarse durante entrenamiento?
- ¿Por qué la línea base Regresión logística calibrada es una comparación razonable?
- ¿Una mayor accuracy implica probabilidades confiables?
- ¿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.