Solved – Parameters to change for different kernels for SVM

kernel trickmachine learningsvm

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.