demo.m

来自「功能为neighborhood components analysis」· M 代码 · 共 57 行

M
57
字号
%% 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 + =
减小字号Ctrl + -
显示快捷键?