What is the right formula for the RBF 'KernelScale' of fitcsvm?

17 vues (au cours des 30 derniers jours)
Sofiane Kharbech
Sofiane Kharbech le 4 Mai 2018
Modifié(e) : Leon le 7 Avr 2025
RBF kernel function is defined as exp(-1/(2*sigma^2) ....
The option 'KernelScale' of the Matlab function fitcsvm, does it refer to sigma, sigma^2, 2*sigma^2, or sqrt(2)*sigma ?

Réponse acceptée

Ayush Anand
Ayush Anand le 12 Jan 2024
Modifié(e) : Ayush Anand le 12 Jan 2024
Hi,
The RBF kernel function is defined as :
The "KernelScale" option in the function "fitcsvm" refers to σ (sigma) in the above equation.
You can read more through the definition of parameters of the "fitcsvm" function here:
Hope this helps!
  1 commentaire
Leon
Leon le 7 Avr 2025
Modifié(e) : Leon le 7 Avr 2025
KernelScale is not quite the same as sigma: KernelScale = sqrt(2) * sigma, see my answer below.

Connectez-vous pour commenter.

Plus de réponses (1)

Leon
Leon le 7 Avr 2025
Modifié(e) : Leon le 7 Avr 2025
The RBF (Gaussian) kernel can be defined with either gamma or sigma:
or
where sigma is the standard deviation of the Gaussian distribution.
According to the fitcsvm documentation, instead of using sigma or gamma, the prediction data is simply divided by KernelScale before training, and
Therefore,
KernelScale = 1/sqrt(gamma)
as clarified by MathWorks staff here:
And:
KernelScale = sqrt(2) * sigma

Community Treasure Hunt

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

Start Hunting!

Translated by