I am using an SVM polynomial kernel (statistics toolbox) with order ranging (say) from 3 to 9. When we perform cross validation with rbf function, we intend to determine the sigma and C values. With the best sigma and cost factor value, the trained network is tested on the test set. Do we determine cost function and sigma as well while performing cross-validation using SVM polynomial kernel? The commands that I intend to use are

structtr = svmtrain(z1, trainoutput, 'Kernel_Function', 'Polynomial', 'Polyorder', i,
                    'showplot', false);
grouparousallat = svmclassify(structtr, w1, 'showplot', false);

With a RBF kernel you use crossvalidation to determine the best {C;sigma} pair (where C is the regularization/cost parameter and sigma is the standard deviation/shape parameter for your kernel).
However, with a polynomial RBF you don't have a sigma since you don't have a Gaussian (or Gaussian-like) kernel (shape).
For the polynomial kernel you might want to determine the best {C;d} pair (where d is the degree of your polynomial).

  • $\begingroup$ You could perhaps also consider CV over alternative choices of $\kappa$ constant in $(\kappa+x^Tx^\prime)^d$ $\endgroup$
    – Sycorax
    Mar 23 '16 at 20:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.