{"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/rethinking-graph-autoencoder-models-for","title":"Rethinking Graph Auto-Encoder Models for Attributed Graph Clustering","arxiv_id":"2107.08562","date":"2021-07-19","proceeding":null,"authors":["Nairouz Mrabah","Mohamed Bouguessa","Mohamed Fawzi Touati","Riadh Ksantini"],"abstract":"Most recent graph clustering methods have resorted to Graph Auto-Encoders (GAEs) to perform joint clustering and embedding learning. However, two critical issues have been overlooked. First, the accumulative error, inflicted by learning with noisy clustering assignments, degrades the effectiveness and robustness of the clustering model. This problem is called Feature Randomness. Second, reconstructing the adjacency matrix sets the model to learn irrelevant similarities for the clustering task. This problem is called Feature Drift. Interestingly, the theoretical relation between the aforementioned problems has not yet been investigated. We study these issues from two aspects: (1) there is a trade-off between Feature Randomness and Feature Drift when clustering and reconstruction are performed at the same level, and (2) the problem of Feature Drift is more pronounced for GAE models, compared with vanilla auto-encoder models, due to the graph convolutional operation and the graph decoding design. Motivated by these findings, we reformulate the GAE-based clustering methodology. Our solution is two-fold. First, we propose a sampling operator $\\Xi$ that triggers a protection mechanism against the noisy clustering assignments. Second, we propose an operator $\\Upsilon$ that triggers a correction mechanism against Feature Drift by gradually transforming the reconstructed graph into a clustering-oriented one. As principal advantages, our solution grants a considerable improvement in clustering effectiveness and robustness and can be easily tailored to existing GAE models.","url_abs":"https://arxiv.org/abs/2107.08562v3","url_pdf":"https://arxiv.org/pdf/2107.08562v3.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":"rethinking-graph-autoencoder-models-for","repo_url":"https://github.com/nairouz/R-GAE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"graph-clustering","task_name":"Graph Clustering"},{"task_slug":"node-clustering","task_name":"Node Clustering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/graph-clustering-on-citeseer","task":"Graph Clustering","dataset":"Citeseer","model":"R-DGAE","rank_in_archive_order":1,"of":9,"metrics":{"ACC":"70.5","ARI":"47.1","NMI":"45.0"},"uses_additional_data":false},{"leaderboard":"/sota/graph-clustering-on-citeseer","task":"Graph Clustering","dataset":"Citeseer","model":"R-GMM-VGAE","rank_in_archive_order":2,"of":9,"metrics":{"ACC":"68.9","ARI":"43.9","NMI":"42.0"},"uses_additional_data":false},{"leaderboard":"/sota/graph-clustering-on-cora","task":"Graph Clustering","dataset":"Cora","model":"R-GMM-VGAE","rank_in_archive_order":1,"of":9,"metrics":{"ACC":"76.7","ARI":"57.9","NMI":"57.3"},"uses_additional_data":false},{"leaderboard":"/sota/graph-clustering-on-cora","task":"Graph Clustering","dataset":"Cora","model":"R-DGAE","rank_in_archive_order":2,"of":9,"metrics":{"ACC":"73.7","ARI":"54.1","NMI":"56.0"},"uses_additional_data":false},{"leaderboard":"/sota/graph-clustering-on-pubmed","task":"Graph Clustering","dataset":"Pubmed","model":"R-GMM-VGAE","rank_in_archive_order":1,"of":7,"metrics":{"ACC":"74.0","ARI":"37.9","NMI":"33.4"},"uses_additional_data":false},{"leaderboard":"/sota/graph-clustering-on-pubmed","task":"Graph Clustering","dataset":"Pubmed","model":"R-DGAE","rank_in_archive_order":4,"of":7,"metrics":{"ACC":"71.4","ARI":"34.6","NMI":"34.4"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2107.08562","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.08562"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nairouz/R-GAE","reach":null}],"summary":{"ran_fixture":1,"ran_honours":2},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"f0a154bc489cc4ec","entry":"generate_unconflicted_data_index","repo":"nairouz/R-GAE","repo_kind":"official","path":"R-DGAE/model_citeseer.py","file_url":"https://github.com/nairouz/R-GAE/blob/HEAD/R-DGAE/model_citeseer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0a154bc489cc4ec"}},{"code_sha256_prefix":"ec5655d1b9135cd8","entry":"q_mat","repo":"nairouz/R-GAE","repo_kind":"official","path":"R-DGAE/model_citeseer.py","file_url":"https://github.com/nairouz/R-GAE/blob/HEAD/R-DGAE/model_citeseer.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ec5655d1b9135cd8"}},{"code_sha256_prefix":"cacfa3eae432e39e","entry":"random_uniform_init","repo":"nairouz/R-GAE","repo_kind":"official","path":"R-DGAE/model_citeseer.py","file_url":"https://github.com/nairouz/R-GAE/blob/HEAD/R-DGAE/model_citeseer.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cacfa3eae432e39e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}