val_loss
est la valeur de la fonction de coût pour vos données de validation croisée et la perte est la valeur de la fonction de coût pour vos données de formation. Sur les données de validation, les neurones utilisant le décrochage ne suppriment pas les neurones aléatoires. La raison en est que pendant l'entraînement, nous utilisons le décrochage afin d'ajouter du bruit pour éviter un sur-ajustement. Lors du calcul de la validation croisée, nous sommes en phase de rappel et non en phase de formation. Nous utilisons toutes les capacités du réseau.
Grâce à l'un de nos chers amis, je cite et explique le contenu d' ici qui est utile.
validation_split
: Flotter entre 0 et 1. La fraction des données d'apprentissage à utiliser comme données de validation. Le modèle séparera cette fraction des données d'entraînement, ne s'entraînera pas dessus et évaluera la perte et toutes les métriques du modèle sur ces données à la fin de chaque époque. Les données de validation sont sélectionnées parmi les derniers échantillons dans les données x et
y fournies, avant de les mélanger.
validation_data
: tuple (x_val, y_val) ou tuple (x_val, y_val, val_sample_weights) sur lequel évaluer la perte et toutes les métriques du modèle à la fin de chaque époque. Le modèle ne sera pas formé sur ces données. Cela remplacera validation_split.
Comme vous pouvez le voir
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
La méthode utilisée dans Keras
possède un paramètre nommé validation_split, qui spécifie le pourcentage de données utilisées pour évaluer le modèle qui est créé après chaque époque. Après avoir évalué le modèle à l'aide de cette quantité de données, cela sera signalé par val_loss
si vous avez défini verbose sur 1
; de plus, comme la documentation le précise clairement, vous pouvez utiliser soit validation_data
ou validation_split
. Les données de validation croisée sont utilisées pour déterminer si votre modèle sur-ajuste les données ou non. C'est ce que nous pouvons comprendre si notre modèle a une capacité de généralisation ou non.
dropout
- dire qu'il ne l'est pasNone
), l'abandon n'est appliqué que pendant la formation (c'est-à-dire qu'aucun abandon n'est appliqué lors de la validation). En tant que tel, l'une des différences entre la perte de validation (val_loss
) et la perte de formation (loss
) est que, lors de l'utilisation du décrochage, la perte de validation peut être inférieure à la perte de formation (généralement non attendue dans les cas où le décrochage n'est pas utilisé).