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 + -
显示快捷键?