[Can the SVM be modify to classify a dataset to more than 1 class?
Is it even theoretically possible?]
Martin,
There are several ways to do this.
i) Build 46 two-class classifiers, for each class k, learn a classifier: k
vs the rest.
f_k(x) = sign(w_k.x+b)
Then for a new example, x, take the class j which maximizes the
unthresholded output w_j.x+b
ii) Build (46*45)/2 pairwise classifiers f_jk and for a new example, x, take
the class j for which f_jk(x) = +1 the most times
iii) Build one multi-class SVM, see:
J. Weston and C. Watkins, Support Vector Machines for Multi-Class Pattern
Recognition. Proceedings of the Sixteenth International Joint Conference on
Artificial Intelligence, July 1999, Stockholm, Sweden.
See also page 123 of the SVM book by Cristiani & Shawe-Taylor, and
p.437 of Vapnik's 1998 book. (I recommend consulting these two first
for any basic SVM query.)
There are probably some better ways now. Try looking at the NIPS
proceedings and workshops.
Rgds
Robert
|