J'espère que les extraits suivants donneront un aperçu de ce que sera ma question. Ils proviennent de http://neuralnetworksanddeeplearning.com/chap3.html
L'apprentissage ralentit ensuite progressivement. Enfin, vers l'époque 280, la précision de la classification cesse de s'améliorer. Les époques ultérieures ne voient que de petites fluctuations stochastiques proches de la valeur de la précision à l'époque 280. Comparez cela avec le graphique précédent, où le coût associé aux données d'entraînement continue de baisser en douceur. Si nous regardons simplement ce coût, il semble que notre modèle s'améliore encore. Mais les résultats de la précision des tests montrent que l'amélioration est une illusion. Tout comme le modèle que Fermi n'aimait pas, ce que notre réseau apprend après l'époque 280 ne se généralise plus aux données de test. Et donc ce n'est pas un apprentissage utile. Nous disons que le réseau est sur-adapté ou surentraîné au-delà de l'époque 280.
Nous formons un réseau de neurones et le coût (sur les données d'entraînement) baisse jusqu'à l'époque 400 mais la précision de la classification devient statique (sauf quelques fluctuations stochastiques) après l'époque 280, nous concluons donc que le modèle est trop adapté aux données de formation après l'époque 280.
Nous pouvons voir que le coût des données de test s'améliore jusqu'à environ 15 ans, mais après cela, il commence à empirer, même si le coût des données d'entraînement continue de s'améliorer. Ceci est un autre signe que notre modèle est trop adapté. Cela pose un casse-tête, cependant, qui est de savoir si nous devrions considérer l'époque 15 ou l'époque 280 comme le moment où le surapprentissage en vient à dominer l'apprentissage? D'un point de vue pratique, ce qui nous importe vraiment, c'est d'améliorer la précision de la classification des données de test, tandis que le coût des données de test n'est rien d'autre qu'un indicateur indirect de la précision de la classification. Il est donc plus logique de considérer l'époque 280 comme le point au-delà duquel le surapprentissage domine l'apprentissage dans notre réseau neuronal.
Par opposition à la précision de la classification des données de test par rapport au coût de formation précédemment, nous plaçons maintenant le coût des données de test contre le coût de la formation.
Ensuite, le livre explique pourquoi 280 est la bonne époque où le surajustement a commencé. C'est ce qui me pose problème. Je ne peux pas envelopper ma tête autour de ça.
Nous demandons au modèle de minimiser le coût et donc le coût est la métrique qu'il utilise comme mesure de sa propre force pour classer correctement. Si nous considérons 280 comme la bonne époque où le sur-ajustement a commencé, n'avons-nous pas en quelque sorte créé un modèle biaisé qui, bien qu'il soit un meilleur classificateur sur les données de test particulières, mais prend néanmoins des décisions avec une faible confiance et est donc plus enclin à dévier des résultats montrés sur les données de test?
la source
Réponses:
Disons que nous voulons prédire si un étudiant obtiendra un entretien d'embauche en fonction de son curriculum vitae.
Supposons maintenant que nous formons un modèle à partir d'un ensemble de données de 10 000 CV et de leurs résultats.
Ensuite, nous essayons le modèle sur l'ensemble de données d'origine, et il prédit les résultats avec une précision de 99%… wow!
Mais voici maintenant la mauvaise nouvelle.
Lorsque nous exécutons le modèle sur un nouvel ensemble de données («invisible») de curriculum vitae, nous n'obtenons qu'une précision de 50%… euh-oh!
Notre modèle ne se généralise pas bien de nos données d'entraînement aux données invisibles.
C'est ce qu'on appelle le sur-ajustement, et c'est un problème courant dans l'apprentissage automatique et la science des données.
Sur-ajustement V / s Sous-ajustement
Nous pouvons mieux comprendre le surajustement en examinant le problème opposé, le sous-ajustement.
Le sous-ajustement se produit lorsqu'un modèle est trop simple - informé par trop peu de fonctionnalités ou trop régularisé - ce qui le rend rigide dans l'apprentissage à partir de l'ensemble de données.
Les apprenants simples ont tendance à avoir moins de variance dans leurs prévisions mais plus de biais vers les mauvais résultats (voir: Le compromis entre la variance et la biais).
D'un autre côté, les apprenants complexes ont tendance à avoir plus de variance dans leurs prévisions.
Le biais et la variance sont des formes d'erreur de prédiction dans l'apprentissage automatique.
En règle générale, nous pouvons réduire l'erreur due au biais, mais nous pouvons en conséquence augmenter l'erreur due à la variance, ou vice versa.
Ce compromis entre trop simple (biais élevé) et trop complexe (variance élevée) est un concept clé en statistique et en apprentissage automatique, qui affecte tous les algorithmes d'apprentissage supervisé.
la source
Quelque chose que j'ai appris à la dure est de tracer les courbes d'apprentissage, je sais, ce n'est pas aussi amusant que d'écrire le code d'apprentissage automatique en soi, mais il est fondamental de comprendre visuellement ce qui se passe.
Une définition générale est que le sur-ajustement se produit lorsque la précision de votre train continue de s'améliorer tandis que votre précision de validation cesse de s'améliorer (ou même commence à empirer).
La solution la plus simple pour éviter le sur-ajustement est l'arrêt précoce (arrêtez la formation dès que les choses semblent mauvaises), bien sûr, la solution la plus simple a un coût: ce n'est pas la meilleure solution. La régularisation et l'abandon sont de bons outils pour lutter contre l'ajustement, mais c'est une autre affaire :)
J'espère que cela aide
la source
Comme le dit la source que vous citez, «le coût des données de test n'est rien d'autre qu'un indicateur indirect de la précision de la classification» Vous pourriez vous demander, pourquoi devrions-nous utiliser un proxy, pourquoi ne pas utiliser la précision directement? La réponse est que vous devez minimiser la fonction de coût en ce qui concerne les poids et les biais. Par conséquent, cela doit être une fonction différenciable des poids et des biais. La précision n'est pas une fonction différenciable et ne peut donc pas être utilisée directement. Mais comme en fin de compte vous vous souciez de la précision, comme vous l'avez vous-même illustré ci-dessus (... veuillez noter que la précision de la classification est de 100% en premier lieu et pourtant le coût est plus élevé ...), vous déterminez le sur-ajustement en fonction de la précision du test ensemble.
la source
Pour comprendre ce que signifie le sur-ajustement et comment il affecte la précision du modèle, vous devez comprendre le compromis biais-variance.
Le sous-ajustement ainsi que le sur-ajustement sont deux problèmes différents qui sont directement liés aux problèmes de variance biaisée. Il est toujours important de comprendre la relation entre trois facteurs différents et comment ces facteurs sont liés aux problèmes de biais-variance (sur-ajustement-sous-ajustement):
1- la taille du modèle. Nombre de paramètres
2- la quantité de données disponibles pour la formation. Nombre d'échantillons d'apprentissage.
3- le nombre d'itérations. itérations de formation.
Établir un lien direct entre l'un de ces facteurs et les problèmes de sur-ajustement-sous-ajustement sans regarder les autres conduira toujours à des conclusions erronées.
En raison de la compréhension de ces facteurs et du lien entre les thèmes en utilisant des équations mathématiques pour éviter les problèmes de sur-ajustement et de sous-ajustement, c'est une tâche difficile, plus elle dépend de la tâche, les gens utilisent des méthodes simples pour découvrir et éviter le sur-ajustement. Le moyen le plus simple est de diviser les données en trois parties différentes, la formation, la validation et les tests. Les tests ne doivent pas être touchés. Utilisez l'ensemble de formation pour former le réseau et l'ensemble de validation pour tester le réseau après chaque itération ou un certain nombre d'itérations. Théoriquement, vous verrez que l'erreur sur l'ensemble de validation diminue progressivement pour les N premières itérations, puis sera stable pendant très peu d'itérations, puis commencera à augmenter. Lorsque l'erreur commence à augmenter, votre réseau commence à sur-ajuster les données de formation et le processus de formation doit être arrêté.
Remarque: la valeur N est très liée aux trois facteurs que j'ai énumérés ci-dessus. C'est toujours une bonne pratique d'avoir un ensemble de formation de démonstration et de tester avec différents modèles, données de formation. Vous verrez que plus le modèle est grand - moins les données d'entraînement sont petites, plus le N. Plus le modèle est petit - plus les données d'entraînement sont grandes, plus le N. Remarque: soyez prudent lorsque vous utilisez de petits modèles pour avoir un problème de sous-ajustement.
la source