Multi-Label Classification where each label is a Multi-class problem

Multi-Label classification works by building multiple binary classifiers for each class. So If I have 20 labels, the model will build 20 binary classifiers


Example:

cat(yes/no)

sunny(yes/no)

windy(yes/no)

Output:

cat, windy




But how can I train Multi-Label Classification where each label is a Multi-class or binary-class problem?

Expected output:

label1 - pug (multi-class: pug, dalmatian, husky, german_shepherd)

label2 - sunny(multi-class: sunny, rainy, winter)

label3 - not a tree(binary: tree)



Hack(but will not work):

Melt down the multi-class, so now I will have 8 labels:

[pug, dalmatian, husky, german_shepherd, sunny, rainy, winter, tree]


But the problem with this approach is, I could also get dalmatian as well as husky. Similarly, I could get both sunny and rainy with this approach.


I need to results to be mutually non exclusive for each label.

If you want complicated outputs, you have to create a very complicated training set.

ok. Whats the change i need to do in NN architecture for supporting Multi-label Multi-class problem

The simplest method is to train several separate models, one to output each label.