I have a problem where I need to classify something around 50 different classes. Some of the classes are very similar to one another and the algorithm tends to confuse them. However, I can create a tailored synthetic dataset for my problem and I am now wondering if I can tackle the hard cases by tweaking the distribution in training data, which seems a bit simpler than tweaking the loss function.

Normally, I would create a dataset with uniform distribution for all the classes to avoid all bias. But could artificially oversampling the classes that are easily confused lead to improved performance? Could you point me to resources about this?

Note this is not about classifying imbalanced data, which most of the papers related to oversampling seem to be tackling. My test data is rather balanced.

  • $\begingroup$ Feel free to ignore me as I don't have much experience with this but could you not do a 2-step model. I.e. for classes that get confused often, merge them together into a single class. If you model selects this merged class then have a second model which is trained for deciding between the 2. Again not my area of expertise so could be talking out my rear here ! $\endgroup$ – gowerc Feb 26 at 10:08
  • $\begingroup$ A search for "hard example mining", may result in some reading that interests you, though it's more example-centric rather than class-centric. For example: cv-foundation.org/openaccess/content_cvpr_2016/papers/… $\endgroup$ – bogovicj Feb 26 at 16:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.