Question sur la soustraction de la moyenne dans le train / valide / ensemble de test

11

Je fais du prétraitement des données et je vais ensuite construire un Convonets sur mes données.

Ma question est: disons que j'ai un total de jeux de données avec 100 images, je calculais la moyenne pour chacune des 100 images, puis je la soustrais de chacune des images, puis je la divise en train et en jeu de validation, et je fais de même étapes à traiter sur un ensemble de tests donné, mais il semble que ce ne soit pas une manière correcte de le faire selon ce lien: http://cs231n.github.io/neural-networks-2/#datapre

" Piège commun . Un point important à souligner au sujet du prétraitement est que toutes les statistiques de prétraitement (par exemple, la moyenne des données) doivent uniquement être calculées sur les données de formation, puis appliquées aux données de validation / test. Par exemple, calculer la moyenne et la soustraire de chaque image à travers l'ensemble de données, puis la division des données en fractionnements train / val / test serait une erreur. Au lieu de cela, la moyenne doit être calculée uniquement sur les données de formation, puis soustraite également de toutes les divisions (train / val / test). "

Je suppose que ce que dit l'auteur est que, ne calculez pas la moyenne et ne la soustrayez pas dans chaque image, mais calculez la moyenne de l'ensemble des images (c'est-à-dire (image1 + ... + image100) / 100) et soustrayez la moyenne à chacune de l'image.

Je ne comprends pas très bien quelqu'un peut-il expliquer? et peut-être aussi expliquer pourquoi ce que je faisais est mal (si c'est vraiment faux).

Sam
la source
Bienvenue dans la communauté. Veuillez voir ma réponse ci-dessous.
usεr11852

Réponses:

6

Supposons que vous ayez 100 images au total; 90 sont des données d'entraînement et 10 sont des données de test.

Les auteurs affirment à juste titre que l'utilisation de la totalité de l'échantillon de 100 images pour calculer la moyenne de l'échantillon est incorrecte. C'est parce que dans ce cas, vous auriez une fuite d'informations. Les informations provenant de vos éléments «hors échantillon» seraient déplacées vers votre ensemble de formation. En particulier pour l'estimation de , si vous utilisez 100 au lieu de 90 images, vous permettez à votre ensemble d'entraînement d'avoir une moyenne plus informée qu'il ne devrait en avoir aussi. Par conséquent, votre erreur d'entraînement serait potentiellement plus faible qu'elle ne devrait l'être. uμ^μ^

Le estimé est courant tout au long de la procédure de formation / validation / test. Le même doit être utilisé pour centrer toutes vos données. (Je mentionne cela plus tard car j'ai la légère impression que vous utilisez la moyenne de chaque image distincte pour centrer cette image.) uμ^μ^

usεr11852
la source
Merci pour la réponse, cela a du sens. Et oui, je calcule la moyenne de chaque image, donc le estimé devrait en fait être calculé par l'ensemble des 90 images d'entraînement plutôt que sur chaque image? Une raison pourquoi? Ne puis-je pas centrer chacune des images individuelles dans l'ensemble d'entraînement 90? μ^
Sam
1
L'estimation devrait être une image elle-même. Si vous centrez chacun individuellement, le centrage que vous ne contrôlez pour aucune tendance globale dans l'échantillon entier. μ^
usεr11852
@ usεr11852 Pourquoi une information plus éclairée nuirait-elle à notre modèle? Cela ne provoquerait pas les informations de «variable de réponse hors échantillon», n'interfère en aucune façon dans notre formation, non? Alors pourquoi l'erreur de train serait-elle faible?
GeneX
1
Une information valide ne "nuira jamais à un modèle"; après avoir décidé du modèle à utiliser (sur la base d'un schéma de rééchantillonnage / maintien), nous formerons le modèle final sur toutes les données . Néanmoins, lors de la formation si nous estimons utilisant l'ensemble de données, ces informations supplémentaires refléteront de bonnes idées irréalistes. Cela peut conduire à des erreurs de test plus faibles que prévu exactement parce que nous savons quelque chose sur les données de tests que nous ne serions pas autrement en mesure d'utiliser pendant la formation. ( Exemple : Imaginons que nous développions un modèle d'activité physique. Nos données incluent les adolescents, les adultes et les personnes âgées et (suite)μ^
usεr11852
... par un coup de chance, toutes les personnes âgées se retrouvent dans l'ensemble de test. Si nous calculons uniquement l'âge moyen dans notre ensemble d'entraînement, nous obtiendrons évidemment un âge moyen inférieur à celui de l'ensemble de notre échantillon. L'utilisation de cet âge moyen manifestement biaisé détériorera probablement les Aperformances du modèle s'il Ane se généralise pas bien à différents âges. Si nous calculons l'âge moyen dans l'ensemble de données, nous obtiendrons un âge moyen plus représentatif. Si nous utilisons maintenant cet âge moyen non biaisé dans le modèle, Anous obtiendrons probablement de meilleures performances qu'auparavant malgré une A
mauvaise