Clustering with SVD

362 Views Asked by At

I'm trying to do some clustering on a graph, which is represented by an adjacency matrix $B = A^2$, where $A$ is symmetric.

I tried several methods like taking the eigenvectors of the Laplacian $L = D - B$, or the eigenvectors of the normalized Laplacian $L_{sym} = I_n - D^{-\frac{1}{2}} B D^{-\frac{1}{2}}$, and then doing some K-means clustering, and it worked okay.

However, the embeddings I get are not the best with these methods, and the best results I have are when I compute the truncated SVD of $A = U S V^{\top}$, and then I take $U$ for my embeddings. $U S^{\alpha}$ for some values of alpha (between 0 and 0.5) actually gives me extremely good results.

However, I can't find any mathematical explanation of why this works, because basically taking $U$ is equivalent to taking the first eigenvectors of $B$ (since $B \approx U S^2 U^\top$), but I don't understand how it gives me good results.

I can't find any theory on this, any ideas?