¿Cuál es la diferencia entre val_loss
y loss
durante el entrenamiento en Keras?
P.ej
Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032
En algunos sitios leí que en la validación, la deserción no funcionaba.
machine-learning
deep-learning
keras
Vladimircape
fuente
fuente
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).Respuestas:
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.
Como puedes ver
fit
El método utilizadoKeras
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 a1
; además, como la documentación especifica claramente, puede usar cualquieravalidation_data
ovalidation_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.fuente