val_loss
es el valor de la función de costo para sus datos de validación cruzada y la pérdida es el valor de la función de costo para sus datos de capacitación. En los datos de validación, las neuronas que usan abandono no eliminan neuronas aleatorias. La razón es que durante el entrenamiento usamos el abandono para agregar algo de ruido para evitar un ajuste excesivo. Durante el cálculo de la validación cruzada, estamos en la fase de recuperación y no en la fase de entrenamiento. Usamos todas las capacidades de la red.
Gracias a uno de nuestros queridos amigos, cito y explico los contenidos de aquí que son útiles.
validation_split
: Flotador entre 0 y 1. La fracción de los datos de entrenamiento que se utilizará como datos de validación. El modelo separará esta fracción de los datos de entrenamiento, no se entrenará en ellos y evaluará la pérdida y cualquier métrica del modelo en estos datos al final de cada época. Los datos de validación se seleccionan de las últimas muestras en los datos x e
y proporcionados, antes de barajar.
validation_data
: tupla (x_val, y_val) o tupla (x_val, y_val, val_sample_weights) para evaluar la pérdida y cualquier métrica del modelo al final de cada época. El modelo no recibirá capacitación sobre estos datos. Esto anulará validation_split.
Como puedes ver
fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)
fit
El método utilizado Keras
tiene un parámetro denominado validation_split, que especifica el porcentaje de datos utilizados para evaluar el modelo que se crea después de cada época. Después de evaluar el modelo utilizando esta cantidad de datos, se informará val_loss
si ha configurado detallado a 1
; además, como la documentación especifica claramente, puede usar cualquiera validation_data
o validation_split
. Los datos de validación cruzada se utilizan para investigar si su modelo se ajusta demasiado a los datos o no. Esto es lo que podemos entender si nuestro modelo tiene capacidad de generalización o no.
dropout
es decir, no se usaNone
), el abandono solo se aplica durante el entrenamiento (es decir, no se aplica abandono durante la validación). Como tal, una de las diferencias entre la pérdida de validación (val_loss
) y la pérdida de entrenamiento (loss
) es que, cuando se usa el abandono, la pérdida de validación puede ser menor que la pérdida de entrenamiento (generalmente no se espera en los casos en que no se usa el abandono).