dualgreedygsproject.m.svn-base

来自「a function inside machine learning」· SVN-BASE 代码 · 共 33 行

SVN-BASE
33
字号
function [testInfo, projectionInfo] = dualGreedyGSProject(trainData, testData, subspaceInfo, params)
%Find the projections for greedy Gram Schmidt

if (nargin ~= 4)
    fprintf('%s\n', help(sprintf('%s', mfilename)));
    error('Incorrect number of inputs - see above usage instructions.');
end

[nameX, nameY] = getSpaceNames(params); 
[numTestExamples, numFeatures] = getDataFieldSize(testData, nameX);

%Store parameters
T = params.iterations; 
kernelFunction = char(params.X.kernel.name); 
kernelParams = params.X.kernel.params; 

%Now compute projections on the test data 
testK = feval(kernelFunction, getDataFieldValue(testData, nameX), getDataFieldValue(trainData, nameX), kernelParams);
predictedX = zeros(numTestExamples, T); 

predictedX = testK*subspaceInfo.X.a;

% for i=1:T
% 	predictedX(:, i) = testK*subspaceInfo.X.b(:, i);
%     testK = testK - testK*subspaceInfo.X.b(:, i)*subspaceInfo.X.tau(:, i)';
% end

testInfo = struct; 
testInfo.data = data; 
testInfo.data = addDataField(testInfo.data, 'X', predictedX, 'examples'); 

projectionInfo = struct; 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?