📄 demo.m
字号:
%% demonstrate NCA optimization proceedure for finding nice linear projection%% charless fowlkes% fowlkes@cs.berkeley.edu% 2005-02-23%N = 300;X = [rand(N/2,3); rand(N/2,3)+[0.5*ones(N/2,1) zeros(N/2,1) 1.1*ones(N/2,1)]];Y = [ones(N/2,1) zeros(N/2,1); zeros(N/2,1) ones(N/2,1)];[val,class] = max(Y');sym = 'rgbky';figure(1); clf; hold on;for i = 1:size(Y,2) ind = find(class == i); plot3(X(ind,1),X(ind,2),X(ind,3),[sym(i) '.'],'MarkerSize',12);end;hold off;grid on; axis image;camorbit(-45,-75); axis vis3dtitle('original 3D data');figure(2); clf;A = [1 0 0; 0 1 0];[Anew,fX,i] = minimize(A(:),'nca_obj',5,X,Y);Anew = reshape(Anew,2,3);figure(2); clf;subplot(2,2,1);perr = class_error((A*X')',Y);AX = (A*X')';scatter(AX(:,1),AX(:,2),30,perr,'filled')title('initial projection')subplot(2,2,3); hold on;for i = 1:size(Y,2) ind = find(class == i); plot(AX(ind,1),AX(ind,2),[sym(i) '.'],'MarkerSize',12);end;hold offsubplot(2,2,2);perr = class_error((Anew*X')',Y);AX = (Anew*X')';scatter(AX(:,1),AX(:,2),30,perr,'filled')title('final projection')subplot(2,2,4); hold on;for i = 1:size(Y,2) ind = find(class == i); plot(AX(ind,1),AX(ind,2),[sym(i) '.'],'MarkerSize',12);end;hold off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -