I have a dataset comprised of different ethnic groups and I want to build a classification model on this data. When I do this I find that the performance of the algorithm is better on some groups than on others, which is not desirable.
My first thought was to simply balance the ethnicities when I build my batches for the forward passes. E.g. if I have four distinct ethnic groups my in my data, and a batch size of 16 I'd just pass 4 samples from each group. This doesn't actually help much at all really. I think what's happening is the classification model is just lowering the cross-entropy on the easiest group, while letting the other groups suffer.
Is there a model that's able to optimize the 4 groups "fairly"? I would much prefer the performance of my model was quite good across all groups, than excellent at one and poor at the others.