📄 dualpcatest.m.svn-base
字号:
% 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -