{"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/fair-machine-unlearning-data-removal-while","title":"Fair Machine Unlearning: Data Removal while Mitigating Disparities","arxiv_id":"2307.14754","date":"2023-07-27","proceeding":null,"authors":["Alex Oesterling","Jiaqi Ma","Flavio P. Calmon","Hima Lakkaraju"],"abstract":"The Right to be Forgotten is a core principle outlined by regulatory frameworks such as the EU's General Data Protection Regulation (GDPR). This principle allows individuals to request that their personal data be deleted from deployed machine learning models. While \"forgetting\" can be naively achieved by retraining on the remaining dataset, it is computationally expensive to do to so with each new request. As such, several machine unlearning methods have been proposed as efficient alternatives to retraining. These methods aim to approximate the predictive performance of retraining, but fail to consider how unlearning impacts other properties critical to real-world applications such as fairness. In this work, we demonstrate that most efficient unlearning methods cannot accommodate popular fairness interventions, and we propose the first fair machine unlearning method that can efficiently unlearn data instances from a fair objective. We derive theoretical results which demonstrate that our method can provably unlearn data and provably maintain fairness performance. Extensive experimentation with real-world datasets highlight the efficacy of our method at unlearning data instances while preserving fairness.","url_abs":"https://arxiv.org/abs/2307.14754v2","url_pdf":"https://arxiv.org/pdf/2307.14754v2.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":"fair-machine-unlearning-data-removal-while","repo_url":"https://github.com/ai4life-group/fair-unlearning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"machine-unlearning","task_name":"Machine Unlearning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2307.14754","atlas_url":"https://app.syntology.ai/?focus=2307.14754","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.14754"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/ai4life-group/fair-unlearning","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"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":"9bd1c7742f259ab7","entry":"fair_loss","repo":"ai4life-group/fair-unlearning","repo_kind":"official","path":"fair_retraining.py","file_url":"https://github.com/ai4life-group/fair-unlearning/blob/HEAD/fair_retraining.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9bd1c7742f259ab7"}},{"code_sha256_prefix":"9c144e3059e282fa","entry":"log_exact","repo":"ai4life-group/fair-unlearning","repo_kind":"official","path":"fair_retraining.py","file_url":"https://github.com/ai4life-group/fair-unlearning/blob/HEAD/fair_retraining.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9c144e3059e282fa"}},{"code_sha256_prefix":"7501e0a9a3de740a","entry":"retrain","repo":"ai4life-group/fair-unlearning","repo_kind":"official","path":"fair_retraining.py","file_url":"https://github.com/ai4life-group/fair-unlearning/blob/HEAD/fair_retraining.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7501e0a9a3de740a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}