Gaussian kernel scale for RBF SVM

Hi All, I'm using RBF SVM from the classification learner app (statistics and machine learning toolbox 10.2), and I'm wondering if anyone knows how Matlab came up with the idea that the kernel scale is proportional to the sqrt(P) where P is the number of predictors. Additionally, it says "The software divides all elements of the predictor matrix X by the value of KernelScale", does this mean the kernel scale is simply 1/sigma^2? source: https://www.mathworks.com/help/stats/templatesvm.html#input_argument_namevalue_KernelScale. Thanks!

 Accepted Answer

Assuming the RBF kernel function with scaling parameter (gamma) as follows:
Then, the SVM model should be set using "KernelScale" like this.
mdlSVM = fitcsvm(..., 'KernelScale', 1/sqrt(gamma));

7 Comments

Awesome! Thanks.
I hope I can get an answer from this thread. How do you define gamma using fitcsvm?. I've been looking for a name-value and there is no gamma definition. Thanks
Hi Jorge-san,
In fitcsvm function, default value of gamma is 1. If you want to use other value, you should define gamma by yourself, like:
gamma = 0.8;
mdlSVM = fitcsvm(..., 'KernelScale', 1/sqrt(gamma));
Can you please share the code of above equation? I need that code for my project... I need help
fitcsvm is one of many useful functions which the "Statistics and Machine Learning Toolbox" provides. More details and some sample code can be found in the following documentation page.
what about the svm classify?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!