regarding the kernel weight output of libsvm operator
I applied libsvm operator for several data sets, and found that the kernel weight values of the built model tend to be always positive. For instance, I can have
However, according to SVM theory, the weight vector should satisfy equation of
i 1.9108829072778841 cp 1.762460806463015 medimmune 1.630318586802012 |
wx+b =0The x is the points located on the decision hyperplane. The entries in the weight vector cannot always be larger than zero. Does the weight vector output by Rapidminer has a different physical meaning than the SVM theory?
Tagged:
0
Answers
-
Well, if you have negative values in x, then w does not necessarily need negative values.
E.g. w=(1,1,1), b = 0 specifies a plane where x1 + x2 + x3 = 0, which is perfectly realizable.
Best regards,
Marius0 -
Marius, thanks.
With respect to the data set, the feature vectors are constructed using binary occurrence for text files, which cannot have any negative x values. However, all of the weight values are still bigger than zero. I tried several data sets and observed the same scenario. Thanks.Marius wrote:
Well, if you have negative values in x, then w does not necessarily need negative values.
E.g. w=(1,1,1), b = 0 specifies a plane where x1 + x2 + x3 = 0, which is perfectly realizable.
Best regards,
Marius0 -
Well, good point. Without any further investigation I can only guess: maybe the libSVM operator only outputs the absolute values of the weights.
But despite of the weight representation, the libSVM obviously does quite a good job. However, if you need signed weights, you should try the Support Vector Machine operator (without any additions to the name).
Best regards,
Marius0