I am carrying out SVM and was interested in knowing the parameters that could be varied for each kernel. I am using 3 kernels: RBF, linear and polynominal.
These are the parameters that i think can be changed:
For Linear : C
For RBF: C and gamma
For Polynominal : C and gamma
Would like to hear some feedback whether i am wrong or correct. If there are any other parameters, do tell me… Thanks.
Best Answer
C is the slack parameter for SVM, regardless of kernel chosen, it has nothing to do with the kernel. It determines the tradeoff between a wide margin and classifier error. Large C means you are allowing little slack and the model will fit tighter to your data, small C means you are allowing a lot of slack and the model will have more error on the training set, but be less sensitive to noise.
Linear Kernel: No parameters
Polynomial: (gamma*u'*v + coef0)^degree (using libsvm's nomenclature) Degree is the main parameter here, but you can also vary gamma & coef0 to make the kernel non-symmetric. If you are just starting out, I recommend you stick to varying degree.
RBF: exp(-gamma*|u-v|^2) Gamma is the main parameter.