I'm currently trying to do supervised learning with three classes (let's say A, B and C). I have a ground-truth which is a bit peculiar, because i have 'membership probabilities/compatibilites' distributed between the three classes for all data.

For example, the ground truth for a data '1' may be '0.80 A, 0.15 B, 0.05 C'. For a data '2', it can be '0.45 A, 0.1 B, 0.45 C' (each score is between 0 and 1 and the sum of the three scores is always equal to 1).

My problem is that i don't find a way to fully exploit these informations:

  • If i do classification, my ground truth is transformed to "1 0 0", and it's pretty annoying because for a data with a very balanced ground-truth, almost half of the information is lost.
  • If i do (multiple-)regression on a 3-dimension vector, i don't take into account the fact that the three results are very correlated (the sum is equal to 1, and the score B cannot be the smallest), as the three prediction will be totally independent.

I have very few data available, so i try to keep the maximum information from them.

I did several researches with the tag 'multi-label' or 'multi-output', but i didn't found anything very relevant.

What's the better way for learning from 'distributed ground-truth' like this ? I'm open to any idea.



1 Answer 1


You can use logistic regression. After all the outputs of logistic functions are probablity of data belonging to each class. In a typical problem you have hard assignments, but the logistic regression produces the class probablities which approach the hard assignments. You may need to modify the standard logistic regression algorithm a bit so that you can use probablities instead of hard assignments.

  • $\begingroup$ Ok, thanks for your response. Do you think i could do the same with naive bayes ? Because it's the classifier which produced the best results so far, with hard assignments (logictic regression did pretty good results aswell). $\endgroup$
    – mprl
    Commented May 4, 2017 at 7:59
  • $\begingroup$ I think in theory you can use the soft assignments for training any classifiers. For example if you want to train a naive Bayes classifier when calculating the probabilities instead of counting (for a binomial or multinomial event model) you can add the soft assignments. $\endgroup$
    – Hooman
    Commented May 8, 2017 at 14:32
  • $\begingroup$ Do you know if the Naive Bayes algorithm has to be modified to do that ? For example, with logistic regression, it appears that the cost function has to be modified to handle training with non-binary classes. Am i wrong ? $\endgroup$
    – mprl
    Commented May 12, 2017 at 15:15

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.