Búsqueda de hiperparámetros
Objetivo
Optimizar profundidad, ancho, dropout y learning rate sin tocar test.
Dataset real
- Dataset:
adult_census - Fuente: UCI
- Referencia: https://archive.ics.uci.edu/dataset/2/adult
- Licencia/condiciones: CC BY 4.0
- Uso: los datos se descargan desde la fuente; no hay ejemplos sintéticos ni archivos inventados.
48.842 registros reales del censo de 1994.
Fundamento matemático
Selección por validación; test se usa solo tras elegir la mejor prueba.
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.
- Guardar configuración, entorno, métricas, predicciones, gráficos y modelo.
Ejecución
python labs/13_hyperparameter_search/train.py --quick
python labs/13_hyperparameter_search/train.py --config improved
Preparar únicamente el dataset:
python -m neural_labs.cli dataset --lab 13_hyperparameter_search
Inferencia y exportación:
neural-labs predict --lab 13_hyperparameter_search --run latest --input sample.json
neural-labs export --lab 13_hyperparameter_search --run latest --format onnx --verify
Métricas
accuracy, balanced_accuracy, f1, roc_auc, pr_auc.
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 13_hyperparameter_search --quick
neural-labs benchmark --lab 13_hyperparameter_search --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 — Búsqueda de hiperparámetros
Propósito
Optimizar profundidad, ancho, dropout y learning rate sin tocar test.
Idea central
Este laboratorio estudia búsqueda de hiperparámetros sin tocar test usando adult_census, un dataset público real procedente de UCI. Los hiperparámetros no se aprenden por descenso de gradiente: son decisiones de diseño (número de capas, neuronas por capa, tasa de dropout, learning rate) que gobiernan cómo se aprenden los parámetros. Ajustarlos bien es lo que separa un modelo que memoriza de uno que generaliza.
La idea central del protocolo es tratar la búsqueda como un experimento con tres particiones estrictamente separadas. Se prueban muchas configuraciones, cada una se entrena con train y se puntúa con validation; el conjunto test permanece sellado hasta el final. Esto evita el sesgo de selección optimista: si eligiéramos la mejor configuración mirando test, esa métrica dejaría de ser una estimación honesta del desempeño futuro, porque habríamos ajustado nuestras decisiones al ruido específico de ese conjunto.
Sobre la estrategia de búsqueda, el laboratorio contrasta la intuición ingenua (probar en malla, grid search) con hallazgos empíricos más eficientes. La búsqueda aleatoria suele encontrar buenas configuraciones con menos evaluaciones porque, cuando pocos hiperparámetros dominan el desempeño, muestrear al azar explora más valores distintos de esos hiperparámetros importantes que una malla rígida. Frameworks modernos añaden búsqueda guiada (por ejemplo, muestreo bayesiano) y poda temprana de pruebas poco prometedoras.
Fundamento matemático
Sea λ un vector de hiperparámetros en un espacio de búsqueda Λ (profundidad, ancho, dropout p, learning rate η, …). Para cada λ se entrena un modelo obteniendo parámetros óptimos sobre entrenamiento:
θ*(λ) = argmin_θ ℒ_train(θ; λ)
y se evalúa su calidad en validación. La búsqueda de hiperparámetros es el problema anidado (bilevel):
λ = argmin_{λ ∈ Λ} ℒ_val( θ(λ) )
El punto crítico es que λ se elige mirando validation, nunca test. El error de test solo se mide una vez, con λ* ya congelado, para estimar la generalización sin sesgo.
En la búsqueda en malla se discretiza cada dimensión y se prueban todas las combinaciones: el costo crece como el producto de los tamaños por dimensión (maldición de la dimensionalidad). En la búsqueda aleatoria se muestrean T configuraciones λ⁽¹⁾, …, λ⁽ᵀ⁾ de una distribución sobre Λ y se conserva el mejor. La intuición de por qué gana: si solo d_eff de las d dimensiones influyen de verdad, la malla desperdicia evaluaciones repitiendo los mismos valores de las dimensiones importantes, mientras que el muestreo aleatorio prueba T valores distintos de cada una.
Como cada θ*(λ) depende de la inicialización y del orden de los minibatches, la métrica de validación es una variable aleatoria. Por eso se reporta ℒ_val como media ± desviación sobre varias semillas: comparar dos configuraciones con un único número puede confundir una mejora real con ruido de entrenamiento. La formulación conecta cuatro elementos: representación de entrada, función del modelo, función de pérdida y regla de actualización. El notebook muestra las dimensiones de los tensores y conserva la misma implementación que el script de terminal.
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.
- Reportar variación entre semillas e intervalos de confianza; una métrica puntual no expresa toda la incertidumbre.
Riesgos de interpretación
48.842 registros reales del censo de 1994.
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
¿El mejor trial generaliza a semillas nuevas?
🔗 Referencias
Las referencias apuntan a las obras; no se reproduce su contenido, la redacción es original.
- Géron — Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow (3.ª ed., O'Reilly 2022), cap. 10 — introducción práctica a redes densas y al ajuste de sus hiperparámetros.
- Goodfellow, Bengio & Courville — Deep Learning (MIT Press, 2016), cap. 11 — metodología práctica para seleccionar hiperparámetros y depurar experimentos.
- Bergstra & Bengio (2012), Random Search for Hyper-Parameter Optimization, JMLR — evidencia de por qué la búsqueda aleatoria supera a la malla cuando pocos hiperparámetros dominan.
- Akiba et al. (2019), Optuna: A Next-generation Hyperparameter Optimization Framework, KDD — framework de búsqueda guiada con muestreo eficiente y poda temprana.
- Fuente del dataset: https://archive.ics.uci.edu/dataset/2/adult
- Consulte
docs/experiment-protocol.md,docs/reproducibility.mdydocs/ethics-and-licenses.md.
🔬 Experimentos
Plan de experimentos — Búsqueda de hiperparámetros
Hipótesis principal
Optimizar profundidad, ancho, dropout y learning rate sin tocar test. La hipótesis debe aceptarse o rechazarse comparando el modelo con Regresión logística 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
Analizar presupuesto y estabilidad entre estudios.
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 — Búsqueda de hiperparámetros
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: Selección por validación; test se usa solo tras elegir la mejor prueba.
- ¿Qué información del dataset solo puede utilizarse durante entrenamiento?
- ¿Por qué la línea base Regresión logística es una comparación razonable?
- ¿El mejor trial generaliza a semillas nuevas?
- ¿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.