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

11 Ansichten (letzte 30 Tage)
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 ?

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Leon
Leon am 7 Apr. 2025
Bearbeitet: Leon am 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