can we perform SVD in spectral clustering to get top-$k$ eigenvector?

105 Views Asked by At

In spectral clustering, we need to compute top-k eigenvector for k-means clustering

I have been told that SVD and eigendecomposition is equal for symmetric matrix here page 9.

I try in matlab

a = rand(4,4);
a = a + a';
[t,t1]= eig(a)

t =



-0.3154    0.1601    0.7063   -0.6132
    0.2735   -0.8645   -0.0458   -0.4192
   -0.5975    0.0612   -0.6654   -0.4433
    0.6847    0.4724   -0.2370   -0.5018


t1 =

   -1.7108         0         0         0
         0   -0.7419         0         0
         0         0   -0.1196         0
         0         0         0    4.9958

>> [t,t1]= svd(a)

t =

   -0.6132    0.3154   -0.1601    0.7063
   -0.4192   -0.2735    0.8645   -0.0458
   -0.4433    0.5975   -0.0612   -0.6654
   -0.5018   -0.6847   -0.4724   -0.2370


t1 =

    4.9958         0         0         0
         0    1.7108         0         0
         0         0    0.7419         0
         0         0         0    0.1196

It seems that there are a slight different. Can we still use the singular vectors as eigenvector in spectral clustering?