MLP multiclase
Objetivo
Resolver clasificación no lineal con capas densas, activaciones y regularización.
Dataset real
- Dataset:
dry_bean - Fuente: UCI
- Referencia: https://archive.ics.uci.edu/dataset/602/dry+bean+dataset
- Licencia/condiciones: CC BY 4.0
- Uso: los datos se descargan desde la fuente; no hay ejemplos sintéticos ni archivos inventados.
13.611 granos de siete variedades reales y 16 atributos de forma.
Fundamento matemático
h=ReLU(xW1+b1); logits=hW2+b2.
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 multinomial y Random Forest.
- Guardar configuración, entorno, métricas, predicciones, gráficos y modelo.
Ejecución
python labs/02_mlp_nonlinear/train.py --quick
python labs/02_mlp_nonlinear/train.py --config improved
Preparar únicamente el dataset:
python -m neural_labs.cli dataset --lab 02_mlp_nonlinear
Inferencia y exportación:
neural-labs predict --lab 02_mlp_nonlinear --run latest --input sample.json
neural-labs export --lab 02_mlp_nonlinear --run latest --format onnx --verify
Métricas
accuracy, balanced_accuracy, macro_precision, macro_recall, macro_f1.
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 02_mlp_nonlinear --quick
neural-labs benchmark --lab 02_mlp_nonlinear --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 — MLP multiclase
Propósito
Resolver clasificación no lineal con capas densas, activaciones y regularización.
Idea central
Este laboratorio estudia red multicapa para relaciones no lineales usando dry_bean, un dataset público real procedente de UCI.
Un clasificador lineal solo puede trazar hiperplanos: falla cuando las clases se entrelazan de forma no lineal. El perceptrón multicapa (MLP) resuelve esto apilando capas de neuronas separadas por funciones de activación no lineales. La clave conceptual es que sin esas no linealidades, componer varias capas lineales sería inútil —el producto de matrices sigue siendo una matriz, es decir, otro modelo lineal—. La activación (aquí ReLU) es lo que permite que cada capa doble y pliegue el espacio de representación, de modo que clases inseparables en el espacio original se vuelvan separables en el espacio aprendido.
El problema —clasificar 13.611 granos en siete variedades a partir de 16 atributos de forma— es genuinamente multiclase y no lineal, ideal para observar cómo una capa oculta supera a la regresión logística multinomial. El laboratorio también introduce la regularización (dropout, weight decay) como respuesta al mayor riesgo de sobreajuste que trae la capacidad adicional.
Fundamento matemático
Una red de una capa oculta calcula su predicción en dos etapas. Primero proyecta la entrada a un espacio oculto y aplica una no linealidad; luego proyecta ese espacio oculto a los logits de las clases:
h = ReLU(x·W₁ + b₁) con ReLU(a) = max(0, a)
logits = h·W₂ + b₂
La función ReLU (Rectified Linear Unit) es engañosamente simple: deja pasar los valores positivos y anula los negativos. Su derivada es 1 para a > 0 y 0 para a < 0, lo que la hace barata de calcular y, sobre todo, evita el problema del desvanecimiento del gradiente que sufren la sigmoide y la tanh, cuyas derivadas se aproximan a 0 en sus extremos y frenan el aprendizaje en redes profundas. El "codo" no lineal en a = 0 es lo que aporta la capacidad expresiva: cada neurona ReLU introduce un pliegue lineal por tramos, y su combinación aproxima superficies de decisión arbitrariamente complejas.
Este poder no es una intuición vaga sino un resultado formal: el teorema de aproximación universal (Cybenko 1989 para sigmoides; Hornik 1991 para activaciones generales) demuestra que una red con una sola capa oculta y suficientes neuronas puede aproximar cualquier función continua sobre un conjunto compacto con el error que se desee. El teorema garantiza la existencia de los pesos, no que el descenso de gradiente los encuentre fácilmente; en la práctica, apilar más capas suele ser más eficiente en parámetros que ensanchar una sola.
Para clasificación multiclase, los logits se convierten en una distribución de probabilidad con softmax, que normaliza exponenciales para que sumen 1:
softmax(z)ₖ = e^(zₖ) / Σⱼ e^(zⱼ)
y se entrena minimizando la entropía cruzada categórica, L = −(1/N) Σᵢ ln( p_{i, yᵢ} ), donde p_{i, yᵢ} es la probabilidad que el modelo asigna a la clase verdadera del ejemplo i. En PyTorch, CrossEntropyLoss fusiona softmax y log-verosimilitud de forma numéricamente estable, por lo que la última capa entrega logits crudos. Los gradientes fluyen hacia atrás por retropropagación: ∂L/∂W₂ se calcula directamente y, por la regla de la cadena a través de la ReLU, el error se propaga a la capa oculta (∂L/∂W₁), donde la máscara de la ReLU bloquea el gradiente en las neuronas que estaban inactivas.
La formulación debe conectarse con 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 multinomial y Random Forest.
- Reportar variación entre semillas e intervalos de confianza; una métrica puntual no expresa toda la incertidumbre.
Riesgos de interpretación
13.611 granos de siete variedades reales y 16 atributos de forma.
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
¿La complejidad adicional supera de forma estable a la línea base?
🔗 Referencias
Las referencias apuntan a las obras; no se reproduce su contenido, la redacción es original.
- Goodfellow, Bengio & Courville — Deep Learning (MIT Press 2016), cap. 6 — redes hacia adelante, ReLU, softmax y retropropagación.
- Géron — Hands-On Machine Learning (3.ª ed., O'Reilly 2022), cap. 10 — diseño e implementación de MLP y regularización.
- Prince — Understanding Deep Learning (MIT Press 2024), cap. 3–4 — redes superficiales y profundas con activaciones lineales por tramos.
- Cybenko (1989), Approximation by superpositions of a sigmoidal function, Math. Control Signals Systems — teorema de aproximación universal para sigmoides.
- Hornik (1991), Approximation capabilities of multilayer feedforward networks, Neural Networks — generalización del teorema a activaciones arbitrarias.
- Fuente del dataset: https://archive.ics.uci.edu/dataset/602/dry+bean+dataset
- Consulte
docs/experiment-protocol.md,docs/reproducibility.mdydocs/ethics-and-licenses.md.
🔬 Experimentos
Plan de experimentos — MLP multiclase
Hipótesis principal
Resolver clasificación no lineal con capas densas, activaciones y regularización. La hipótesis debe aceptarse o rechazarse comparando el modelo con Regresión logística multinomial y Random Forest 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 profundidad, activación y dropout.
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 — MLP multiclase
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: h=ReLU(xW1+b1); logits=hW2+b2.
- ¿Qué información del dataset solo puede utilizarse durante entrenamiento?
- ¿Por qué la línea base Regresión logística multinomial y Random Forest es una comparación razonable?
- ¿La complejidad adicional supera de forma estable a la línea base?
- ¿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.