I am training a problem such that my output (y) could be more than one class. For example, the SVM could say, this input vector is class 1, but it could also say, this input vector is classes 1 AND 5. This is not the same as a multiclass SVM problem, where the output could be ONE of multiple classes. My output could be ONE or SEVERAL of multiple classes.

Example: My training data looks like (for each training vector X)

X_1   [1 0 0 0]
X_2   [0 1 1 0]
X_3   [0 0 0 1]
X_4   [1 1 0 1]

Where the right side is the Y to be predicted (here I am showing an example with 4 classes, where a 1 indicates class membership).

I understand that I need to probably use a structural SVM such as discussed here: http://www.robots.ox.ac.uk/~vedaldi/svmstruct.html

However, this is all very confusing to me.

I do NOT want to simply do one-vs-all classifiers for each of the possible output classes, however. I need to somehow take into account class relationships, so I guess what I need is a structural SVM. My training data will have some instances tagged with single classes and other instances tagged with multiple classes.

I guess I'm asking how to tackle this problem and if you know any packages to do so in MATLAB or python.


closed as off-topic by Yuval Filmus, David Richerby, vonbrand, Luke Mathieson, D.W. Feb 21 '16 at 18:56

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about software development or programming tools are off-topic here, but can be asked on Stack Overflow." – Yuval Filmus, David Richerby, vonbrand, Luke Mathieson, D.W.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ Unfortunately this seems off-topic since it's about programming rather than concepts. $\endgroup$ – Yuval Filmus Feb 20 '16 at 17:43

Browse other questions tagged or ask your own question.