How to write gaussian kernel function for fitcsvm?

I tried to write the gaussian (RBF) kernel function for Support Vector Machine functions (like fitcecoc or fitcsvm) and my code was:
function G = myGaussianFunc(U,V)
global sigma
[m p] = size(U);
[n, ~] = size(V);
UX = repelem(U,n,1);
VX = repmat(V,m,1);
T = (UX - VX).^2*ones(p,1);
G = exp(-reshape(T,m,n)/(2*sigma^2));
end
I made sigma (kernel scale) global so I can optimize it using some algorithm. Is my code accurate or do I have some mistakes in it? (By the way, I avoided the for loop and tried to vectorize the code to speed it up)

답변 (0개)

카테고리

제품

질문:

2020년 3월 23일

편집:

2020년 3월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by