What "Kernel Scale" in svm really is?

49 vues (au cours des 30 derniers jours)
Zeynab Mousavikhamene
Zeynab Mousavikhamene le 9 Avr 2020
Commenté : PR le 2 Déc 2020
I checked several places in matlab tutorial but did not find explicit definition of "kernel scale". According to question like this or this or this that they are constants of kernels. Based on the definition of kernel from matlab it should be sigma which is "the width of kernel". So kernel scake is ONLY applied to RBF not to linear or polynomial. Am I right?
And what is the default value of kernel scale? According to this question the default value for kernel scale is 1. But according to here, it uses heuristic to determine the kernel scale.
I would appreciate your thoughts.

Réponses (1)

Hiro Yoshino
Hiro Yoshino le 21 Avr 2020
This gives you a clearer view for you:
Let me answer you questions.
  • Kernel scale is just for RBF kernel? Yes, you're right. This is a hyper parameter.
  • use 'KernelScale' to apply a kernel scale of your choice. The option 'auto' evokes the heuristic method.
  • according to the documentation, the default value for the kernel scale is 1.
It does not elaborate on the heuristic method but I bet it will use a method like cross validation.
I would optimize the parameter via hyper parameter tuning, e.g., bayes optimization.
  3 commentaires
Hiro Yoshino
Hiro Yoshino le 24 Août 2020
Hi, let me take back what I wrote before.
Looing into the documentation, I found the KernelScale not to be what I thought it would be. I thought it was one of the parameters used for RBF kernel.
Kernelscale is literally a scaling parameter for the input data.
The input data is recommended to be scaled with respect to a feature before being applied to the Kernel function. When the absolute values of some features range widely or can be large, their inner product can be dominant in the Kernel calculation. So this kernelScale can be used to prevent this from happening. It also helps maintain the information.
PR
PR le 2 Déc 2020
Hi Hiro. Thanks for the elaboration.
Can i get some information on the algorithm that Matlab uses to determine 'auto' kernel scale in SVM classification.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by