The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
Default Value for LibSVM Cost Parameter C wrong?
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)
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)
0
Answers
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