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.