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

23 visualizzazioni (ultimi 30 giorni)
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 ?

Risposta accettata

Ayush Anand
Ayush Anand il 12 Gen 2024
Modificato: Ayush Anand il 12 Gen 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 Commento
Leon
Leon il 7 Apr 2025
Modificato: Leon il 7 Apr 2025
KernelScale is not quite the same as sigma: KernelScale = sqrt(2) * sigma, see my answer below.

Accedi per commentare.

Più risposte (1)

Leon
Leon il 7 Apr 2025
Modificato: Leon il 7 Apr 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