次の関数はガウス カーネルを計算し、私が書いたカーネル リッジ回帰アルゴリズムの一部です。実行時間を改善するために、この関数を適切に変更するにはどうすればよいでしょうか (つまり、2 つの for ループを取り除くことができます)。何か案は?
function [K] = calculate_krr_gaussiankernel(Xi,Xj,S)
K = zeros(size(Xi,1),size(Xj,1));
for Ixi = 1:size(Xi,1),
for Ixj = 1:size(Xj,1),
K(Ixi,Ixj) = exp((-norm(Xi(Ixi,:) - Xj(Ixj,:)) .^ 2) ./ (2 * (S .^ 2)));
end
end
end
編集:式: