web-dev-qa-db-fra.com

Quelle est la différence entre les termes précision et précision de validation

J'ai utilisé LSTM de Keras pour construire un modèle qui peut détecter si deux questions sur le débordement de pile sont en double ou non. Quand je lance le modèle, je vois quelque chose comme ça aux époques.

Epoch 23/200
727722/727722 [==============================] - 67s - loss: 0.3167 - acc: 0.8557 - val_loss: 0.3473 - val_acc: 0.8418
Epoch 24/200
727722/727722 [==============================] - 67s - loss: 0.3152 - acc: 0.8573 - val_loss: 0.3497 - val_acc: 0.8404
Epoch 25/200
727722/727722 [==============================] - 67s - loss: 0.3136 - acc: 0.8581 - val_loss: 0.3518 - val_acc: 0.8391

J'essaie de comprendre la signification de chacun de ces termes. Laquelle des valeurs ci-dessus est la précision de mon modèle. Je suis relativement nouveau dans l'apprentissage automatique, donc toute explication serait utile.

8
Dookoto_Sea

Lors de la formation d'un modèle d'apprentissage automatique, l'une des principales choses à éviter est le sur-ajustement. C'est à ce moment que votre modèle correspond bien aux données d'entraînement, mais qu'il n'est pas en mesure de généraliser et de faire des prévisions précises pour des données qu'il n'a pas vues auparavant.

Pour savoir si leur modèle est trop adapté, les scientifiques des données utilisent une technique appelée validation croisée, où ils divisent leurs données en deux parties - l'ensemble de formation et l'ensemble de validation. L'ensemble d'apprentissage est utilisé pour entraîner le modèle, tandis que l'ensemble de validation est uniquement utilisé pour évaluer les performances du modèle.

Les mesures sur l'ensemble de formation vous permettent de voir comment votre modèle progresse en termes de formation, mais ce sont les mesures sur l'ensemble de validation qui vous permettent d'obtenir une mesure de la qualité de votre modèle - dans quelle mesure il est capable de faire de nouvelles prédictions basées sur des données il n'a jamais vu auparavant.

Dans cette optique, loss et acc sont des mesures de perte et de précision sur l'ensemble d'apprentissage, tandis que val_loss et val_acc sont des mesures de perte et de précision sur l'ensemble de validation.

À l'heure actuelle, votre modèle a une précision de ~ 86% sur l'ensemble d'entraînement et ~ 84% sur l'ensemble de validation. Cela signifie que vous pouvez vous attendre à ce que votre modèle fonctionne avec une précision de ~ 84% sur les nouvelles données.

Je remarque que lorsque vos époques passent de 23 à 25, votre métrique acc augmente, tandis que votre métrique val_acc diminue. Cela signifie que votre modèle s'adapte mieux à l'ensemble d'entraînement, mais perd sa capacité de prédire les nouvelles données, ce qui indique que votre modèle commence à s'adapter au bruit et commence à s'adapter.

Voilà donc une explication rapide sur les mesures de validation et comment les interpréter.

20
Primusa

RNN (LSTM) est différent de CNN, il peut donc y avoir différentes causes. Pour le modèle LSTM de Keras, je modifierai deux arguments LSTM;

  • Unités: vers le bas
  • Avec état: faux

En général, ce sont des possibilités dans la formation de réseaux neuronaux et la différence de précision de l'ensemble de données de validation. Je recueille des réponses sur Internet

Sourosh

  • Prétraitement (signification nulle, normalisation, etc.) vers votre ensemble de formation ou votre ensemble de validation, mais pas les deux
  • Certaines couches qui fonctionnent différemment pendant l'entraînement et l'inférence à partir de zéro, votre modèle peut être incorrectement implémenté
  • Sur-ajustement

dk14

  • Pas assez de points de données, trop de capacité
  • Commande
  • Pas/mauvaise mise à l'échelle/normalisation des fonctionnalités
  • Taux d'apprentissage trop élevé
0
Cloud Cho