何時間も試しましたが、解決策が見つかりません。
「2 つのドーナツ」データ サンプル (変数「X」) があります。
リンクの下のファイルをダウンロードできます
下の画像のように2D形状に広がります
最初の 250 ポイントはドーナツの内側にあり、最後の 750 ポイントはドーナツの外側にあります。
スペクトル クラスタリングを実行する必要があります。
(類似行列「W」)をガウス類似度距離で作りました。
そして、「W」の各生の合計で次数行列を作成しました
そして、固有値(E)と固有ベクトル(V)を計算しました
「V」の形が良くありません。
私の試用版の何が問題になっていますか???
わかりません。
load rings.mat
[D, N] = size(X); % data stored in X
%initial plot data
figure; hold on;
for i=1:N,
plot(X(1,i), X(2,i),'o');
end
% perform spectral clustering
W = zeros(N,N);
D = zeros(N,N);
sigma = 1;
for i=1:N,
for j=1:N,
xixj2 = (X(1,i)-X(1,j))^2 + (X(2,i)-X(2,j))^2 ;
W(i,j) = exp( -1*xixj2 / (2*sigma^2) ) ; % compute weight here
% if (i==j)
% W(i,j)=0;
% end;
end;
D(i,i) = sum(W(i,:)) ;
end;
L = D - W ;
normL = D^-0.5*L*D^-0.5;
[u,s,v] = svd(normL);