Traduction du livre d'Andrew Un, Passion for Machine Learning, chapitres 36 et 37

chapitres précédents


Formation et test sur des échantillons de distribution différente


36. Quand vous devez former et tester des algorithmes sur différentes distributions


Les utilisateurs de votre application féline ont téléchargé 10 000 images, que vous avez marquées comme des images avec des chats et des images sans chats. Vous disposez également d'une large sélection de 200 000 images collectées en ligne. Comment alors choisir les échantillons de formation, de validation et de test?


Étant donné que 10 000 images téléchargées par les utilisateurs reflètent avec précision la distribution probabiliste réelle des données sur lesquelles votre algorithme devrait bien fonctionner, vous pouvez utiliser ces images pour la validation et les échantillons de test. Si vous apprenez un algorithme d'apprentissage en profondeur qui nécessite beaucoup de données, vous pouvez utiliser 200 000 exemples supplémentaires sur Internet pour le former. Dans ce cas, votre formation et votre test avec un échantillon de validation auront une distribution de probabilité différente. Comment cela affectera-t-il votre travail?


Au lieu de jouer avec la sélection des données pour la formation, la validation et les échantillons de test, nous pourrions prendre les 210 000 de nos images, les mélanger et sélectionner au hasard les données pour chaque échantillon. Dans ce cas, les trois échantillons contiendront des données de la même distribution.


Mais je suis contre cette approche. En raison du fait qu'environ 97,6% des données (205 000/210 000 ≈ 97,6%) des échantillons de validation et d'essai proviendront de données trouvées sur Internet (non reçues des utilisateurs) et ne refléteront pas la distribution réelle sur laquelle il est nécessaire d'obtenir une qualité élevée. N'oubliez pas notre recommandation pour la sélection des échantillons de validation et de test:


Choisissez des échantillons de validation et de test qui reflètent les données que votre algorithme recevra après le lancement de l'application et sur lesquelles il devrait fonctionner correctement


, , .


: . « », « » « ». . A B, . ( «» , , .) .


. , . , . , , .


, . , , , .


, 10000 , 5000 . 5000 . , 205 000, 5000 , 200 000 , . .


. , , . 20 000 , . 500 000 , . 10 000 10 000 500 000 .


, , , , .


37. ,


, 10 000 . . 20 000 , . 20 000 + 10 000 = 30 000 20 000 , ?


( , ), , . , , 20000 , .


, , . / , 20000 . , , .


, , x -> y, . , - , , , , , .


20000 :


  1. , . , , , . , .
  2. , (, , , . .). , , «» . , , , , . , .

, . , , , « - , . , »


, , , . , , , . «» , , .


( ), , .


, , , . , , , , , . , :


image


Ces documents ne contiennent rien qui ressemble à des chats. Ils sont également complètement différents des distributions d'échantillons de validation et de test. Il est inutile d'inclure ces données comme exemples négatifs. Le bénéfice du premier effet décrit ci-dessus sera négligeable - le réseau de neurones ne sera probablement pas en mesure d'extraire quoi que ce soit de ces données qui l'aidera à mieux fonctionner sur la validation et les échantillons de test de votre application. L'inclusion de ces données entraînera la perte de ressources informatiques et réduira peut-être la capacité du réseau neuronal à se rapprocher des fonctions (en fin de compte réduire ses capacités de reconnaissance).


continuation


All Articles