I have a database table with 79,512 rows, each of which describes a category. Each row has a title and a description, and can even have a supercategory. Often, supercategories have categories.

I'm trying to train a model to predict each category's supercategory, to be used in a later model that will categorize other data. However, I never get more than a 20% accuracy on this model. My target is 84% accuracy.

These are multilingual datasets I am working with, so the pretrained model I use is also multi-lingual. However, it is also case-sensitive.

By my count, there are an average 9.86 supercategories per category.

How do I improve the accuracy?

EDIT: I suppose I had better clarify: There is a wide variety of languages here, none of them comprising more than 50% of the whole dataset. Perhaps I should translate the data?

  • $\begingroup$ Do you have a validation dataset? Are you measuring the accuracy on it? Are you evaluating the overfitting? Are you applying early stopping on worsening of the validation accuracy? $\endgroup$
    – noe
    Feb 24 at 16:45
  • $\begingroup$ @noe: At this point, both training and validation accuracy are very low. $\endgroup$
    – moonman239
    Feb 24 at 17:06
  • $\begingroup$ One idea I have is to NOT freeze the pretrained model, so that the model gets exposure to my dataset's domain. $\endgroup$
    – moonman239
    Feb 24 at 17:15
  • $\begingroup$ When fine-tuning, don't you use a very low learning rate? $\endgroup$
    – noe
    Feb 24 at 17:36
  • $\begingroup$ It doesn't make much sense that the training accuracy is low. Have you checked that your model overfits properly training with a single batch? (this is a typical sanity check for deep learning training) $\endgroup$
    – noe
    Feb 24 at 18:29


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.