Default Value for LibSVM Cost Parameter C wrong?

Meisterb
Meisterb New Altair Community Member
edited November 5 in Community Q&A
Hi,

I am using Rapidminer within a text mining two-class classification project. The experiment also includes a SVM learner (i.e. LibSVM).
I noticed that the default value for the cost parameter C is zero (0) within Rapidminer.

An article* by the developers of LibSVM, however, states that C "must" be larger than zero “C > 0” (p. 2). Now my question: Is it simply wrong to use C = 0 and what implications might it have to do so? Why was the default value set to zero or is it not zero in fact?

Thank you very much for your support.

* A Practical Guide to Support Vector Classifciation (http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf)
Tagged:

Answers

  • IngoRM
    IngoRM New Altair Community Member
    Hi,

    yes, the value for C of course has to be positive. The value 0 has a special meaning, namely in this case C is calculated as the number of examples divided by the sum of all kernel function values k(x_i, x_i) for each example x_i. For the RBF kernel this would result in one but for the linear kernel this is a good heuristic for estimating a value for C. As far as I remember, Hastie and Tibshirani (and Friedman?) were the first who proposed this.

    In previous RapidMiner versions, there were no parameter dependencies and hence we used the value 0 for indicating that this heuristic should be used. Today we would add a boolean parameter "use heuristic for C" and show the parameter C only if the heuristic should not be used.

    Cheers,
    Ingo
  • Meisterb
    Meisterb New Altair Community Member
    Thanks for the help and the fast reply!!!