Embedding data points problem

1 Ansicht (letzte 30 Tage)
Desiree
Desiree am 6 Apr. 2020
Bearbeitet: Shlok am 5 Dez. 2024
Hello. I wrote this following which I have theta data column points (1024 in my case)and finds the eigenvectors of the Laplace-Beltrami operator using density invariant normalization.
theta=0:2*pi/1023:2*pi;
t=-1.5:3/511:1.5;
P=my_data(theta,t);
B=(1/size(P,2))*sum(P,2);
U=zeros(size(P));
for l=1:size(P,2)
U(:,l)=B;
end
X=P-U;
epsilon=0.01
W=zeros(size(P,2),size(P,2));
T=zeros(size(P,2),size(P,2));
for i=1:size(P,2)
for j=1:size(P,2)
W(i,j)=exp(-norm(X(:,i)-P(:,j))/(sqrt(2*epsilon)));
end
end
a=(sum(W,2))';
D=zeros(size(W,1),size(W,2));
for k=1:size(W,2)
D(k,k)=a(k);
end
T=inv(D)*W*inv(D);
b=(sum(T,2))';
D2=zeros(size(W,1),size(W,2));
for m=1:size(W,2)
D2(m,m)=b(m);
end
Anorm=inv(D2)*T;
G=(D2^(-0.5))*T*(D2^(-0.5));
[V,gamma]=eig(G);
Now I need to make embedding of each column of X onto the first 3 and 4 non trivial eigenvectors excluding V(:,1) but I don’t know how to do it. Help is greatly appreciated!

Antworten (1)

Shlok
Shlok am 5 Dez. 2024
Bearbeitet: Shlok am 5 Dez. 2024
Hi Desiree,
To embed each column of Xonto the eigenvectors, the approach is to extract out the desired eigenvectors and perform matrix multiplication with them. To achieve this, follow the following steps:
  • Exclude the first eigenvector “V(:,1)using indexing, and then extract next 3 and 4 eigenvectors.
V_non_trivial = V(:, 2:end);
V_first_3 = V_non_trivial(:, 1:3);
V_first_4 = V_non_trivial(:, 1:4);
  • Now, project the data by multiplying “X” with the transpose of selected eigenvectors to obtain the embedding.
embedding_3 = V_first_3' * X;
embedding_4 = V_first_4' * X;
This is how we can embed the data points (columns of X) into a lower-dimensional space using the first 3 or 4 non-trivial eigenvectors.
To know more about indexing in MATLAB, refer to the following documentation link:

Kategorien

Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by