{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/spectralnet-spectral-clustering-using-deep","title":"SpectralNet: Spectral Clustering using Deep Neural Networks","arxiv_id":"1801.01587","date":"2018-01-04","proceeding":"ICLR 2018 1","authors":["Uri Shaham","Kelly Stanton","Henry Li","Boaz Nadler","Ronen Basri","Yuval Kluger"],"abstract":"Spectral clustering is a leading and popular technique in unsupervised data\nanalysis. Two of its major limitations are scalability and generalization of\nthe spectral embedding (i.e., out-of-sample-extension). In this paper we\nintroduce a deep learning approach to spectral clustering that overcomes the\nabove shortcomings. Our network, which we call SpectralNet, learns a map that\nembeds input data points into the eigenspace of their associated graph\nLaplacian matrix and subsequently clusters them. We train SpectralNet using a\nprocedure that involves constrained stochastic optimization. Stochastic\noptimization allows it to scale to large datasets, while the constraints, which\nare implemented using a special-purpose output layer, allow us to keep the\nnetwork output orthogonal. Moreover, the map learned by SpectralNet naturally\ngeneralizes the spectral embedding to unseen data points. To further improve\nthe quality of the clustering, we replace the standard pairwise Gaussian\naffinities with affinities leaned from unlabeled data using a Siamese network.\nAdditional improvement can be achieved by applying the network to code\nrepresentations produced, e.g., by standard autoencoders. Our end-to-end\nlearning procedure is fully unsupervised. In addition, we apply VC dimension\ntheory to derive a lower bound on the size of SpectralNet. State-of-the-art\nclustering results are reported on the Reuters dataset. Our implementation is\npublicly available at https://github.com/kstant0725/SpectralNet .","url_abs":"http://arxiv.org/abs/1801.01587v6","url_pdf":"http://arxiv.org/pdf/1801.01587v6.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"spectralnet-spectral-clustering-using-deep","repo_url":"https://github.com/kstant0725/SpectralNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"spectralnet-spectral-clustering-using-deep","repo_url":"https://github.com/yuhanghe01/OpenClustering","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"spectralnet-spectral-clustering-using-deep","repo_url":"https://github.com/shaham-lab/SpectralNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"stochastic-optimization","task_name":"Stochastic Optimization"}],"methods":[{"method_slug":"spectral-clustering","method_name":"Spectral Clustering"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1801.01587","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}