dualmaxcovariance.m
来自「a function inside machine learning」· M 代码 · 共 24 行
M
24 行
function b = dualMaxCovariance(K, Kj, Y, Yj)
%A function to compute the maximum dual covariance vector between matrices Kj and Y
if (nargin ~= 4)
fprintf('%s\n', help(sprintf('%s', mfilename)));
error('Incorrect number of inputs - see above usage instructions.');
end
tol = 10^-3;
numExamples = size(K, 1);
if i == 1
b = Yj(:, 1);
elseif sum(sum(Yj.^2, 1), 2) < tol
b = zeros(numExamples, 1);
return;
else
OPTS.disp = 0;
OPTS.isreal = true;
[b, lambda] = eigs(Yj*(Yj'*Kj), 1, 'LM', OPTS);
end
%Scale so that ||u|| = ||X'b|| = 1
b = b/sqrt(abs(b'*K*b));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?