Saltar al contenido

Multilayer perceptron

Clasifica los tumores de mama como benignos o malignos con una red neuronal escrita en NumPy: capas, funciones de pérdida y optimizadores tras una API estilo Keras.

En resumen
  • 97.4 % precisión val.
  • 569 muestras

Mi contribuciónUna API estilo Keras: un modelo CustomSequential que apila capas Dense.

ROL
Solo
CONTEXTO
École 42 · Proyectos de IA
ESTADO
Terminado
RESULTADO
96.5–97.4 % de precisión de validación en tres ejecuciones 80/20 (semilla 42); la ejecución principal con early stopping según la pérdida de validación alcanzó el 96.5 %.
ACTUALIZADO
26 sept 2026
1

Datos

Wisconsin Breast Cancer (Diagnostic), UCI: 569 tumores descritos por mediciones de núcleos celulares, etiquetados como benignos o malignos.

2

Lo que construí

Solo

  1. Una API estilo Keras: un modelo CustomSequential que apila capas Dense.
  2. Pase hacia delante y retropropagación, con pérdidas de entropía cruzada binaria, entropía cruzada categórica y MSE.
  3. Optimizadores SGD y Adam, y early stopping según la pérdida de validación.
  4. Un notebook de Colab que entrena y evalúa el modelo de extremo a extremo.
3

Decisiones clave

Reflejar la API de Keras
Seguí la estructura de la documentación oficial de Keras, con capas, funciones de pérdida y optimizadores como clases separadas tras un único objeto de modelo. Mantuvo el código modular en lugar de un montón creciente de funciones.
4

Resultados

90 %100 %Adam, 24-24, ejecución A97.4 %Early stopping, ejecución principal96.5 %Adam, 24-24, ejecución B94.7 %
Conjunto de datos Wisconsin Breast Cancer (Diagnostic), 569 muestras. Una partición 80/20 (--valid_ratio 0.2, semilla 42); la partición de validación también controla el early stopping; sin conjunto de test separado. Fuente: salidas de MLP_Presentation.ipynb. Las ejecuciones A y B comparten la arquitectura y el optimizador; la diferencia entre ellas es la variación de una ejecución a otra. Celdas del notebook 27 (ejecución A), 22 (ejecución principal) y 29 (ejecución B).

96.5–97.4 % de precisión de validación en tres ejecuciones 80/20 (semilla 42); la ejecución principal con early stopping según la pérdida de validación alcanzó el 96.5 %.

5

Límites

  • La partición de validación también controla el early stopping, y no hay un conjunto de test separado, así que estas puntuaciones son optimistas.
  • Los registros muestran sobreajuste: la precisión de entrenamiento llega a 1.0 y la pérdida de entrenamiento cae a ~0 mientras la pérdida de validación sube a 0.66–0.73 hacia la época 50.
  • Una sola partición de 569 muestras: una semilla distinta podría mover la puntuación unos puntos. La validación cruzada daría un rango.

¿Preguntas sobre este proyecto? → Escríbeme