The code for the spectral graph clustering concepts presented in the following papers is implemented for tutorial purpose:
1. Ng, A., Jordan, M., and Weiss, Y. (2002). On spectral clustering: analysis and an algorithm. In T. Dietterich, S. Becker, and Z. Ghahramani (Eds.), Advances in Neural Information Processing Systems 14 (pp. 849 – 856). MIT Press.
2. P. Perona and W. T. Freeman, "A factorization approach to grouping",In H. Burkardt and B. Neumann, editors, Proc ECCV, pages 655-670, 1998.
3. J. Shi and J. Malik, "Normalized Cuts and Image Segmentation", In Proc. IEEE Conf. Computer Vision and Pattern Recognition, pages 731-737, 1997.
4. G.L. Scott and H. C. Longuet-Higgins, "Feature Grouping by Relocalisation of Eigenvectors of the Proxmity Matrix", In Proc. British Machine Vision Conference, pages 103-108, 1990.
Evolution of spectral clustering methods and the various concepts proposed by the above authors are demonstrated in this implementation.
@JohnDapper: The code is correct. Your interpretation and understanding of the original research paper is wrong. Ignore the comment in the file which is confusing you and read the research paper again and compare it to the code not the comment in the code.
Your code is wrong. You're keeping the smallest eigenvectors instead of the largest. The largest eigenvectors are associated with the smallest eigenvalues. The matlab "eigs" function returns the eigenvectors/values in ascending order.
no change (version 1.0 was first released on 12-Jan-2010)
A comment in the file Shi_Malik has been updated to avoid confusion.
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.