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

20 ビュー (過去 30 日間)
Sofiane Kharbech
Sofiane Kharbech 2018 年 5 月 4 日
編集済み: Leon 2025 年 4 月 7 日
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 ?

採用された回答

Ayush Anand
Ayush Anand 2024 年 1 月 12 日
編集済み: Ayush Anand 2024 年 1 月 12 日
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 件のコメント
Leon
Leon 2025 年 4 月 7 日
編集済み: Leon 2025 年 4 月 7 日
KernelScale is not quite the same as sigma: KernelScale = sqrt(2) * sigma, see my answer below.

サインインしてコメントする。

その他の回答 (1 件)

Leon
Leon 2025 年 4 月 7 日
編集済み: Leon 2025 年 4 月 7 日
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

カテゴリ

Help Center および File ExchangeClassification についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by