{"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/machine-unlearning-of-federated-clusters","title":"Machine Unlearning of Federated Clusters","arxiv_id":"2210.16424","date":"2022-10-28","proceeding":null,"authors":["Chao Pan","Jin Sima","Saurav Prakash","Vishal Rana","Olgica Milenkovic"],"abstract":"Federated clustering (FC) is an unsupervised learning problem that arises in a number of practical applications, including personalized recommender and healthcare systems. With the adoption of recent laws ensuring the \"right to be forgotten\", the problem of machine unlearning for FC methods has become of significant importance. We introduce, for the first time, the problem of machine unlearning for FC, and propose an efficient unlearning mechanism for a customized secure FC framework. Our FC framework utilizes special initialization procedures that we show are well-suited for unlearning. To protect client data privacy, we develop the secure compressed multiset aggregation (SCMA) framework that addresses sparse secure federated learning (FL) problems encountered during clustering as well as more general problems. To simultaneously facilitate low communication complexity and secret sharing protocols, we integrate Reed-Solomon encoding with special evaluation points into our SCMA pipeline, and prove that the client communication cost is logarithmic in the vector dimension. Additionally, to demonstrate the benefits of our unlearning mechanism over complete retraining, we provide a theoretical analysis for the unlearning performance of our approach. Simulation results show that the new FC framework exhibits superior clustering performance compared to previously reported FC baselines when the cluster sizes are highly imbalanced. Compared to completely retraining K-means++ locally and globally for each removal request, our unlearning procedure offers an average speed-up of roughly 84x across seven datasets. Our implementation for the proposed method is available at https://github.com/thupchnsky/mufc.","url_abs":"https://arxiv.org/abs/2210.16424v2","url_pdf":"https://arxiv.org/pdf/2210.16424v2.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":"machine-unlearning-of-federated-clusters","repo_url":"https://github.com/thupchnsky/mufc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"machine-unlearning","task_name":"Machine Unlearning"},{"task_slug":"quantization","task_name":"Quantization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2210.16424","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.16424"}},"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":"deterministic:regex_extraction","url":"https://github.com/thupchnsky/mufc","reach":null}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":7,"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":"da3651feb0814f25","entry":"load_dataset","repo":"thupchnsky/mufc","repo_kind":"official","path":"utils.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da3651feb0814f25"}},{"code_sha256_prefix":"da61bfc2e2692808","entry":"distance_to_set","repo":"thupchnsky/mufc","repo_kind":"official","path":"kfed.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/kfed.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da61bfc2e2692808"}},{"code_sha256_prefix":"e2cb6633bbbf7dbd","entry":"kmeans_pp","repo":"thupchnsky/mufc","repo_kind":"official","path":"kfed.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/kfed.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e2cb6633bbbf7dbd"}},{"code_sha256_prefix":"448e8d3b085326ff","entry":"awasthisheffet","repo":"thupchnsky/mufc","repo_kind":"official","path":"kfed.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/kfed.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"448e8d3b085326ff"}},{"code_sha256_prefix":"86a994e446e7514a","entry":"clustering_loss","repo":"thupchnsky/mufc","repo_kind":"official","path":"utils.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"86a994e446e7514a"}},{"code_sha256_prefix":"597dcf79adfbadbe","entry":"kfed","repo":"thupchnsky/mufc","repo_kind":"official","path":"kfed.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/kfed.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"597dcf79adfbadbe"}},{"code_sha256_prefix":"8c600bbc1a79229c","entry":"sample_points_in_bin","repo":"thupchnsky/mufc","repo_kind":"official","path":"utils.py","file_url":"https://github.com/thupchnsky/mufc/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c600bbc1a79229c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}