Explorador de decisiones de una Red Neuronal

Del concepto al código con TensorFlow/Keras · Recurso interactivo para Machine Learning

1. Mapa general

EtapaElemento en Python¿Qué es?¿Qué define / hace?Tipo de decisiónAlgunas alternativas
ArquitecturaSequentialModelo secuencialOrganiza las capas una después de otra.ArquitecturaFunctional API
ArquitecturaDenseCapa totalmente conectadaCada unidad recibe las salidas de la capa anterior.ArquitecturaConv2D, LSTM, GRU, Embedding
Arquitectura128Número de unidadesDefine el tamaño de la capa oculta.Hiperparámetro32, 64, 256…
Arquitecturainput_shape=(784,)Forma de entradaDescribe la estructura de cada ejemplo.Condicionada por datos(28,28,1)…
ArquitecturareluActivaciónIntroduce no linealidad.Hiperparámetrosigmoid, tanh, LeakyReLU
Salida4Unidades de salidaRepresenta las 4 clases.Condicionada por problema1, 2, 10…
SalidasoftmaxActivación de salidaProduce distribución entre clases.Según problemasigmoid, linear
EntrenamientoadamOptimizadorActualiza parámetros aprendidos.HiperparámetroSGD, RMSprop, AdamW
Entrenamientosparse_categorical_crossentropyFunción de pérdidaCuantifica el error a minimizar.Según problemacategorical_crossentropy, binary_crossentropy, mse
EvaluaciónaccuracyMétricaProporción de clasificaciones correctas.Configuraciónprecision, recall, AUC

2. Explorar componentes y alternativas

Selección pedagógica: las alternativas presentadas en este explorador corresponden a opciones representativas de TensorFlow/Keras. No constituyen una lista exhaustiva. Utiliza los botones para comparar sus usos y diferencias principales.
Elemento
¿Qué significa?

¿Cuándo puede utilizarse?

Idea clave

Ejemplo en Keras

3. Activaciones: observa cómo cambia la función

Compara visualmente algunas funciones de activación representativas. La selección no incluye todas las funciones disponibles en Keras.

Nota: las funciones graficadas son una selección pedagógica. TensorFlow/Keras dispone de otras funciones de activación; la elección debe responder al tipo de capa, al problema y a la evidencia obtenida durante la experimentación.

4. “Tengo este problema”: configuración inicial orientativa

Selecciona un problema. La propuesta es un punto de partida pedagógico, no una receta universal.

Configuración sugerida
Por qué

Salida esperada

Observación

5. Anatomía de una línea Dense

Dense(128, activation='relu', input_shape=(784,))
Dense
tipo de capa
→
128
unidades
→
ReLU
activación
→
(784,)
forma de entrada

Lectura: crea una capa totalmente conectada de 128 unidades, usa ReLU y espera vectores de 784 valores.

6. Parámetros aprendidos vs. decisiones configuradas

Parámetros aprendidos

weightsbiases

Cambian durante el entrenamiento.

Decisiones configuradas

128 unidadesReLUAdamloss

Son decisiones de diseño/configuración; varias son hiperparámetros y otras dependen de los datos o del problema.

Predicción
→
Loss
mide error
→
Optimizador
→
Pesos y sesgos
se actualizan

7. Diseño de la arquitectura: capas y neuronas

El número de capas ocultas y de neuronas son hiperparámetros. El modelo no los aprende: quien diseña la red propone una configuración y luego la contrasta con entrenamiento y validación.

¿Cuántas capas y neuronas necesita una red?

Conviene distinguir entre lo que está determinado por los datos o por el problema y aquello que debe decidirse mediante diseño y experimentación.

Parte de la red¿Cómo se determina?Ejemplo
EntradaDepende del número de características que recibe el modelo después de preparar los datos.5 características numéricas → 5 valores de entrada.
Capas ocultasEs una decisión de diseño: un hiperparámetro. Conviene comenzar con una arquitectura simple y aumentar la complejidad si la evidencia lo justifica.Comenzar con 1 capa oculta.
Neuronas ocultasTambién son un hiperparámetro. No existe una cantidad universalmente correcta.Probar 16, 32, 64, 128…
SalidaDepende del tipo de problema. En clasificación multiclase excluyente suele corresponder al número de clases.4 clases → 4 neuronas + Softmax.
ENTRADA
la determinan los datos

5 características
→
CAPA OCULTA
la diseñas y experimentas

Dense(32, ReLU)
→
SALIDA
la determina el problema

4 clases
¿Por dónde comienzo?

Como estrategia inicial, comienza con una red sencilla: por ejemplo, 1 capa oculta con 32 neuronas. Entrena el modelo y observa entrenamiento y validación. Después prueba otra configuración —por ejemplo 64 neuronas o una segunda capa— y compara los resultados.

No existe una fórmula universal para determinar el número óptimo de capas ocultas o neuronas. Son hiperparámetros que se seleccionan mediante experimentación y evaluación.

Atención con la capa de entrada: “5 variables” no siempre significa “5 entradas”. Si una variable categórica se transforma mediante one-hot encoding, puede generar varias columnas. Por eso en Keras resulta útil utilizar Input(shape=(n_features,)), donde n_features corresponde al número final de características que realmente recibe el modelo.
Arquitectura generada
Interpretación

Importante: más capas o neuronas no significan automáticamente un mejor modelo. La decisión debe contrastarse con evidencia de entrenamiento y validación.

8. Hiperparámetros del entrenamiento

epochs, batch_size y learning_rate condicionan cómo se realiza el entrenamiento. Son decisiones configuradas, no parámetros aprendidos.

Código equivalente
Lectura pedagógica

Epochs

Número máximo de recorridos sobre los datos de entrenamiento. Muy pocas pueden dejar aprendizaje incompleto; demasiadas pueden favorecer overfitting.

Batch size

Ejemplos procesados antes de actualizar los parámetros. Afecta frecuencia de actualización y uso de memoria.

Learning rate

Tamaño de los pasos del optimizador. Muy alto puede volver inestable el aprendizaje; muy bajo puede hacerlo lento.

9. Código de ejemplo

modelo = Sequential([
    Dense(128, activation='relu', input_shape=(784,)),
    Dense(4, activation='softmax')
])

modelo.compile(
    optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy']
)

Arquitectura: 784 entradas → 128 unidades con ReLU → 4 salidas con Softmax.

Entrenamiento: loss mide el error; Adam guía la actualización de parámetros; accuracy permite observar el porcentaje de aciertos.