- g2i,
Bonjour à tous !
J’essaye de faire de la reconnaissance d’images sur un dataset personnel. Je l’ai donc converti en un tableau numpy de taille (n_images, height, width)
et je compte utiliser Keras par la suite.
Je souhaiterai réaliser un preprocessing sur mes images. J’ai deux options que j’aimerais tester :
- Centrer chaque image autour de zéro et leur mettre un écart-type de 1 ;
- Utiliser PCA
Dans le cours CS231n de Stanford, il est écrit :
Common pitfall. An important point to make about the preprocessing is that any preprocessing statistics (e.g. the data mean) must only be computed on the training data, and then applied to the validation / test data. E.g. computing the mean and subtracting it from every image across the entire dataset and then splitting the data into train/val/test splits would be a mistake. Instead, the mean must be computed only over the training data and then subtracted equally from all splits (train/val/test).
Je comprends bien l’utilité de cet avertissement, mais je ne vois pas comment il peut s’appliquer aux techniques de preprocessing décrites plus haut dans le cours. En particulier, si on retire de chaque images la moyenne de ses pixels, le réaliser sur l’entièreté du dataset ou sur le dataset d’entraînement puis sur le dataset de validation n’a aucune différence. Je comprends en revanche cette distinction dans le cas où l’on retire de chaque image la moyenne de tout le dataset d’entraînement.
La même question s’applique au PCA d’ailleurs, comment séparer les deux ?
Merci d’avance !