What is the best way to organize the classes if we're training multiple classification models? Let's say we have 6 classes to predict. And we want to train 2 Multinomial Logistic Regression models (one model for 3 classes and another for the other 3) instead of training one global Multinomial Logistic Regression model to predict all 6 at once.
My two questions are:

*

*Is it actually beneficial to train multiple models instead of just one global one? (knowing that in my actual case I have hundreds, sometimes thousands, of classes which is why intuitively it seems to me that training one global LR model would give poor results).


*If so, what is the best way to organize the classes: put the most similar classes in each of the 2 groups (the hypothesis being that having a "specialized" model for the most similar and thus hard to distinguish inputs would help the model better tease out the differences), or put the most dissimilar classes in each of the  groups (the alternative hypothesis being that it would make it easier for each of the "specialized" models to distinguish between their respective classes).
More context:
To give more details about my actual situation: it's an intent classification task based on text data. I have a chatbot that can have up to 1000 or more intents to classify. Instead of having one big bot that holds all the data (which is utterances data that is vectorized with TF-IDF), I have multiple specialized bots (one for small-talk, one for greetings, etc.) in order to improve comprehension. Which is why I'm wondering if this approach is the good one in the first place (or if there is better), and if so then would that stratification approach described in bulletpoint 2 yield any improvement.
Thanks in advance.

That might make sense, if there's a hierarchy in the tasks. E.g. if there's a set of broad groups of tasks, one could first have a model that picks which group of classes is relevant and then a second set of models, from which you pick one based on that output. That's sometimes called model cascades and is closely related to "mixture of experts" approaches. However, the need for the first model (which I think you would need from what you describe, unless that can be determined by simple rules from some other information) means you'd have to train at least that model on all data.
It's not obvious/intuitive to me that this would always be a good idea. E.g., if you do this via fine-tuning a (neural network) language model, then learning to do multiple tasks (e.g. training the model to simultaneously predict the group of tasks and the specific tasks) can do remarkably well. The main value of the joint training of all the tasks is that suitable representation are learnt in intermediate layers of the model that get informed by all tasks. The main reason not to do it (as far as I am aware) is model size/training speed (which is where interest in mixtures of experts has been huge). I'm less sure whether the considerations above also apply to other model classes (e.g. XGBoost/LightGBM/catboost or categorical logistic regression) that "just" use TF-IDF features.
In short, it may be a good idea depending on what you want to prioritize (inference speed, training time, accuracy etc.), but whether it is in your specific case requires testing (e.g. via some suitable cross-validation).
