1. Mapa general
| Etapa | Elemento en Python | ¿Qué es? | ¿Qué define / hace? | Tipo de decisión | Algunas alternativas |
|---|---|---|---|---|---|
| Arquitectura | Sequential | Modelo secuencial | Organiza las capas una después de otra. | Arquitectura | Functional API |
| Arquitectura | Dense | Capa totalmente conectada | Cada unidad recibe las salidas de la capa anterior. | Arquitectura | Conv2D, LSTM, GRU, Embedding |
| Arquitectura | 128 | Número de unidades | Define el tamaño de la capa oculta. | Hiperparámetro | 32, 64, 256… |
| Arquitectura | input_shape=(784,) | Forma de entrada | Describe la estructura de cada ejemplo. | Condicionada por datos | (28,28,1)… |
| Arquitectura | relu | Activación | Introduce no linealidad. | Hiperparámetro | sigmoid, tanh, LeakyReLU |
| Salida | 4 | Unidades de salida | Representa las 4 clases. | Condicionada por problema | 1, 2, 10… |
| Salida | softmax | Activación de salida | Produce distribución entre clases. | Según problema | sigmoid, linear |
| Entrenamiento | adam | Optimizador | Actualiza parámetros aprendidos. | Hiperparámetro | SGD, RMSprop, AdamW |
| Entrenamiento | sparse_categorical_crossentropy | Función de pérdida | Cuantifica el error a minimizar. | Según problema | categorical_crossentropy, binary_crossentropy, mse |
| Evaluación | accuracy | Métrica | Proporción de clasificaciones correctas. | Configuración | precision, recall, AUC |
2. Explorar componentes y alternativas
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.
4. “Tengo este problema”: configuración inicial orientativa
Selecciona un problema. La propuesta es un punto de partida pedagógico, no una receta universal.
5. Anatomía de una línea Dense
Dense(128, activation='relu', input_shape=(784,))
tipo de capa
unidades
activación
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
weightsbiases
Cambian durante el entrenamiento.
128 unidadesReLUAdamloss
Son decisiones de diseño/configuración; varias son hiperparámetros y otras dependen de los datos o del problema.
mide error
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.
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 |
|---|---|---|
| Entrada | Depende 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 ocultas | Es 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 ocultas | También son un hiperparámetro. No existe una cantidad universalmente correcta. | Probar 16, 32, 64, 128… |
| Salida | Depende del tipo de problema. En clasificación multiclase excluyente suele corresponder al número de clases. | 4 clases → 4 neuronas + Softmax. |
la determinan los datos
5 características
la diseñas y experimentas
Dense(32, ReLU)
la determina el problema
4 clases
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.
Input(shape=(n_features,)), donde n_features corresponde al número final de características que realmente recibe el modelo.
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.
Número máximo de recorridos sobre los datos de entrenamiento. Muy pocas pueden dejar aprendizaje incompleto; demasiadas pueden favorecer overfitting.
Ejemplos procesados antes de actualizar los parámetros. Afecta frecuencia de actualización y uso de memoria.
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.