2015-10-21 4 views
-1

Я начинаю с Machine Learning и нужна помощь в реализации Gaussian RBF в Matlab.Реализация Gaussian RBF в Matlab

enter image description here

Я знаю, что он делает, но не знаете, как реализовать это в MATLAB

+1

'Как ____ в MATLAB? вопросы здесь не обсуждаются. Вы должны спросить их на [SO]. – gung

ответ

0
function K = rbf(coord,sig) 

%function K = rbf(coord,sig) 
% 
% Computes an rbf kernel matrix from the input coordinates 
% 
%INPUTS 
% coord = a matrix containing all samples as rows 
% sig = sigma, the kernel width; squared distances are divided by 
%  squared sig in the exponent 
% 
%OUTPUTS 
% K = the rbf kernel matrix (= exp(-1/(2*sigma^2)*(coord*coord')^2)) 
% 

n=size(coord,1); 
K=coord*coord'/sig^2; 
d=diag(K); 
K=K-ones(n,1)*d'/2; 
K=K-d*ones(1,n)/2; 
K=exp(K); 

%% Previous version: 
%% 
% n = size(coord,1); 
% for i=1:n 
%  K(i,i)=1; 
%  for j=1:i-1 
%   K(i,j)=exp(-norm(coord(i,:)-coord(j,:))^2/sig^2);% Should be 
%   % 2*sig^2! 
%   K(j,i)=K(i,j); 
%  end 
% end 

(Source)

Смежные вопросы