J'essaie d'implémenter le Johnson-Lindenstrauss lemma. J'ai cherché le pseudocode ici mais je n'ai rien trouvé.Implémentation correcte du lemme de Johnson-Lindenstrauss
Je ne sais pas si je l'ai implémenté correctement ou non. Je veux juste que les gars qui comprennent le lemme vérifient mon code pour moi et me conseillent sur la bonne implémentation de matlab.
n = 2;
d = 4;
k = 2;
G = rand(n,d);
epsilon = sqrt(log(n)/k);
% Projection in dim k << d
% Defining P (k x d)
P = randn(k,d);
% Projecting down to k-dim
proj = P.*G;
u = proj(:,1);
v = proj(:,2);
% u = P * G(:,5);
% v = P * G(:,36);
norm(G(:,1)-G(:,2))^2 * k * (1-epsilon);
norm(u - v)^2;
norm(G(:,1)-G(:,2))^2 * k * (1+epsilon);
qui lemme que vous essayez de coder . quelle est l'entrée et la sortie du code. J'ai vérifié la page que vous avez mentionnée mais il y a beaucoup de lemmes et de faits. – NKN
Le premier lemme. Le lemme qui contient ceci: (1- \ epsilon) \ | uv \ |^2 \ le \ | f (u) -f (v) \ |^2 \ le (1+ \ epsilon) \ | uv \ |^2. – elizwet