Entrenamiento del modelo de regresión
Clase 26 de 29 • Curso de Fundamentos de Redes Neuronales con Python y Keras
Resumen
¿Cómo se prepara el dataset para una red neuronal?
Para que un dataset esté listo para ser procesado por una red neuronal, es crucial realizar ciertos pasos de pre-procesamiento. En este caso, se realizaron las siguientes acciones:
-
Normalización y ajuste de valores: Se normalizan los datos y se ajustan para tener consistencia en su formato y valor numérico.
-
División para Validación Cruzada: Se implementa una base para realizar validación cruzada (k-fold validation).
-
Creación de modelos en función: Los modelos se crean dentro de funciones que permiten su iteración y evaluación múltiple.
¿Cómo se implementa la validación cruzada k-fold en Python?
La validación cruzada es esencial para evaluar la estabilidad y la capacidad generalizadora de un modelo. En este caso, se implementa la validación cruzada k-fold siguiendo los siguientes pasos:
-
Iteración por número de folds: Se define un rango basado en el número de folds
k
. Para cada iteración, se organiza qué datos serán usados como validación y cuáles como entrenamiento. -
Creación de datasets de validación y entrenamiento: Se segmentan los datos en conjuntos de validación y entrenamiento usando el índice de iteración
i
.val_data = train_data[I*num_examples:(I+1)*num_examples] partial_train_data = np.concatenate( [train_data[:I*num_examples], train_data[(I+1)*num_examples:]], axis=0 )
-
Repetición del proceso con los objetivos o etiquetas: Se utiliza la misma lógica para separar las etiquetas (targets) correspondientes.
¿Cómo se entrena y evalúa el modelo?
Una vez organizados los datasets, el modelo se entrena y evalúa mediante las siguientes acciones:
-
Creación del modelo: Se invoca la función
build_modelRegretion
, configurando parámetros como ellearning rate
y el número de ejemplos.model = build_modelRegretion(learning_rate=0.001, input_shape=13)
-
Entrenamiento del modelo: Se usa el método
.fit
para entrenar el modelo en cada conjunto de entrenamiento parcial, permitiendo definir el número de épocas y elbatch size
.history = model.fit( partial_train_data, partial_train_targets, epochs=num_epochs, batch_size=16, validation_data=(val_data, val_targets), verbose=0 )
-
Almacenamiento y análisis de errores: Se almacena el error absoluto medio (MAE) de la validación en una lista para su posterior análisis.
¿Qué sucede al finalizar el proceso de iteración?
Después de completar las iteraciones para cada fold, todo el historial de errores del modelo se almacena para análisis y comparación:
-
Historial de Errores: Se guarda y se revisa el historial de métricas de errores, lo cual permite verificar la efectividad del modelo.
-
Gráficas de resultados: Los resultados finales medios se grafican para observar qué tan cercano está el modelo de los valores reales.
Al controlar el proceso de entrenamiento y validación de esta manera, se puede mejorar significativamente la evaluación del modelo antes de que sea implementado para su uso en producción.
¡Continúa explorando, experimenta, y descubre cómo puedes mejorar tus modelos con cada iteración!