⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pca_error_plots_separated.m

📁 image separation using neural net
💻 M
字号:

%
% David Gleich
% CS 152 - Neural Networks
% 12 December 2003
%

% initialize random number generator
rand('seed', 2);

k = 4;

% load PCA data
A = pcadata('separated');

fprintf('Computing PCA using APEX\n');
[Wapex, errapex] = apex(A, k, 'rate', 0.01, 'adjrate', 1, 'niter', 10);

fprintf('Computing PCA using GHA\n');
[Wgha, errgha] = gha(A, k, 'rate', 0.01, 'niter', 10);

[ferrapex, minerr] = pcaerr(A, Wapex);
[ferrgha] = pcaerr(A, Wgha);

fprintf('Final APEX error: %f\n', ferrapex);
fprintf('Final GHA error: %f\n', ferrgha);
fprintf('Minimum error: %f\n', minerr);

xx = 1:length(errgha);
plot(xx, errapex, '-', xx, errgha, '-');
xlabel('Iteration');
ylabel('Approximate Average Reconstruction Error');
legend('APEX', 'GHA');

% components in Wgha are in "wrong" order
Wgha = Wgha(:,k:-1:1);

% compute exact
[V D] = eig(cov(A'));
V = V(:,end:-1:1);

% normalize signs
for (ii = 1:k)
    if (V(1,ii)*Wgha(1,ii) < 0)
        Wgha(:,ii) = -Wgha(:,ii);
    end;
    
    if (V(1,ii)*Wapex(1,ii) < 0)
        Wapex(:,ii) = -Wapex(:,ii);
    end;
end;

% compute norm of matrix difference
fprintf('APEX Deviation from Exact: %f\n', norm(V(:,1:k) - Wapex, 'fro'));
fprintf('GHA Deviation from Exact: %f\n', norm(V(:,1:k) - Wgha, 'fro'));
    
    

⌨️ 快捷键说明

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