Monday, June 22 2009 @ 00:00 +0200
Along the lines of active learning with python & libsvm, I added
support for calculating distance of a point from the separating
hyperplane to cl-libsvm. In binary classification there is only one
SVM involved and one hyperplane. However, with N class problems
there is a binary SVM for each of the N*(N-1)/2 pairs of classes and
there are as many separating hyperplanes, something the linked
python code fails to take into account. As per the libsvm FAQ, the
absolute value of the decision value (see
PREDICT-VALUES, wrapper of
svm_predict_values) divided by the norm of the normal vector of the
separating hyperplane is the distance. PREDICT-VALUES and MODEL-W2S
are sufficient to calculate it. Note that among the distributed
binaries only the linux-x86 version has been recompiled with the
necessary changes, but patched sources are also included for your
recompiling pleasure.