To equalize the classes in training, we put samples of each class in a different buffer. Then generate each minibatch by picking the same number samples from each buffer. When the smaller buffer runs out of samples to use, we iterate through the smaller buffer from the beginning again until every sample of the larger class is used. This way gives us equal frequency for all categories by going through those circular buffers. We should never go the easy way to equalize frequency by not using all samples in the majority class. Don’t leave data on the floor!
Pour égaliser les classes à l’entraînement, nous plaçons des échantillons de chaque classe dans une mémoire tampon différente. Ensuite, nous générons chaque mini-batch en prélevant le même nombre d’échantillons dans chaque tampon. Lorsque le petit tampon est à court d’échantillons à utiliser, nous itérons à nouveau à travers le petit tampon depuis le début jusqu’à ce que chaque échantillon de la grande classe soit utilisé. De cette façon, nous obtenons une fréquence égale pour toutes les catégories en passant par ces tampons. Nous ne devrions jamais utiliser la méthode facile pour égaliser la fréquence en n’ utilisant pas tous les échantillons de la classe majoritaire. Ne laissez pas de données de côté !