dualpcatest.m.svn-base
来自「a function inside machine learning」· SVN-BASE 代码 · 共 43 行
SVN-BASE
43 行
% A script to test dualPCA object code
clear all;
rand('state',0);
tol = 10^-6;
numExamples = 20;
numFeatures = 10;
X = rand(numExamples, numFeatures);
d = data;
d = addDataField(d, 'X', X, 'examples');
T = min(9, rank(X));
params.iterations = T;
params.X.kernel = getDefaultLinearKernel;
[subspaceInfo, trainInfo] = dualPCATrain(d, params);
[testInfo, projectionInfo] = dualPCAProject(d, d, subspaceInfo, params);
%Now do normal PCA and compare
[V, D] = eigs(X'*X, T, 'LM');
newX = X*V(:, 1:T);
if norm(abs(newX) - abs(getDataFieldValue(testInfo.data, 'X'))) > tol
error('KPCA features are wrong on training set');
end
%Now try projecting on another dataset and test
X2 = rand(numExamples*2, numFeatures);
d2 = data;
d2 = addDataField(d2, 'X', X2, 'examples');
[testInfo2, projectionInfo] = dualPCAProject(d, d2, subspaceInfo, params);
newX2 = X2*V(:, 1:T);
if norm(abs(newX2) - abs(getDataFieldValue(testInfo2.data, 'X'))) > tol
error('KPCA features are wrong on test set');
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?