Hi Yong Kuk!



 ykukkim:


multi-label, multi-class  classification

Would you care to explain this for me?


By way of example, in a conventional three-class (“cat,” “dog,” “bird”)
classification problem, given an image, you would say that it is an
image of exactly one of a cat or a dog or a bird.  (And you wouldn’t say
it was “none of the above” unless you explicitly had a fourth, “none of
the above” class.)
In a multi-label (and in this case, three-class) classification problem
you would say that an images does or does not contain a cat, and
also does or does not contain a dog, and also does or does not contain
a bird.  It can contain any combination, and it might not contain any of
the above, and it might contain all three.  You can see that such a
multi-label problem is three binary problems (cat: yes or no, dog:
yes or no, bird: yes or no) run at the same time with the same network.


the sigmoid function is internally performed with BCEWithLogitsloss Have I understood correctly?


Yes, BCEWithLogitsLoss calculates LogSigmoid internally (in effect
calculating Sigmoid internally).  This is numerically more stable than
passing your logits through Sigmoid and then passing them to
BCELoss.  (Unless you have specific reason why you need to use
BCELoss – and understand it – you should always use
BCEWithLogitsLoss instead.)
Best.
K. Frank