Options

Default Value for LibSVM Cost Parameter C wrong?

MeisterbMeisterb Member Posts: 3 Contributor I
edited November 2018 in Help
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)

Answers

  • Options
    IngoRMIngoRM Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, Community Manager, RMResearcher, Member, University Professor Posts: 1,751 RM Founder
    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
  • Options
    MeisterbMeisterb Member Posts: 3 Contributor I
    Thanks for the help and the fast reply!!!
Sign In or Register to comment.