How to customize SVM kernel parameters in Matlab

Hi
I want to ask about how to customize SVM kernel parameters in Matlab.
For ex: I have linear kernel, polynomial kernel, and RBF kernel with:
C = 0.2;
gamma = 0.8;
r = 0.05;
d = 3;
My question is how do I customize it using svmstruct.
1. linear: ??
2. polynomial: ??
3. RBF:
svmstruct = svmtrain(data, groups, 'Kernel_Function', 'rbf', 'RBF_Sigma', 0.2, 'BoxConstraint', 0.8);
CMIIW about how to customize RBF kernel.
I'd really appreciate if anybody could help my research. Thanks.
Regards
Ikra

回答(2 个)

Documentation given by
help svmtrain
should give you all information you need. What is the meaning of your variable r?
1. the linear kernel has only parameter C
svmstruct = svmtrain(data, groups, 'Kernel_Function', 'linear', 'BoxConstraint', 0.2);
2. polynomial has parameters C and polyorder
svmstruct = svmtrain(data, groups, 'Kernel_Function', 'polynomial', 'polyorder',3,'BoxConstraint', 0.2);
3. RBF
you might have mixed up the constants C and gamma in your code

6 个评论

and what about "r parameter" ?
as i know:
linear has C parameter
polynomial has C, gamma, r, d
rbf has C and gamma
It looks like Matlab's svmtrain function only supports homogeneous polynomial kernels. You can however, define an arbitrary kernel function and pass a handle of it to svmtrain. See section kernel_function -> @kfun in the documentation for description and example.
can you give me an example how to use @kfun
i have tried many times but still error
Using an anonymous function of a linear kernel would be:
svmstruct = svmtrain(data, groups, ...
'Kernel_Function',@(x1,x2) x1*x2','BoxConstraint', 0.2);
Note, that your kernel function must lead to a valid kernel.
hi the combination of C and gamma how is implemented? in fitcsvnm or svmtrain we dont have any gamma factor how is the impact of it apllied to svm?

请先登录,再进行评论。

产品

提问:

2013-6-9

评论:

2015-7-5

Community Treasure Hunt

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

Start Hunting!

Translated by