{"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/deep-clustering-based-fair-outlier-detection","title":"Deep Clustering based Fair Outlier Detection","arxiv_id":"2106.05127","date":"2021-06-09","proceeding":null,"authors":["Hanyu Song","Peizhao Li","Hongfu Liu"],"abstract":"In this paper, we focus on the fairness issues regarding unsupervised outlier detection. Traditional algorithms, without a specific design for algorithmic fairness, could implicitly encode and propagate statistical bias in data and raise societal concerns. To correct such unfairness and deliver a fair set of potential outlier candidates, we propose Deep Clustering based Fair Outlier Detection (DCFOD) that learns a good representation for utility maximization while enforcing the learnable representation to be subgroup-invariant on the sensitive attribute. Considering the coupled and reciprocal nature between clustering and outlier detection, we leverage deep clustering to discover the intrinsic cluster structure and out-of-structure instances. Meanwhile, an adversarial training erases the sensitive pattern for instances for fairness adaptation. Technically, we propose an instance-level weighted representation learning strategy to enhance the joint deep clustering and outlier detection, where the dynamic weight module re-emphasizes contributions of likely-inliers while mitigating the negative impact from outliers. Demonstrated by experiments on eight datasets comparing to 17 outlier detection algorithms, our DCFOD method consistently achieves superior performance on both the outlier detection validity and two types of fairness notions in outlier detection.","url_abs":"https://arxiv.org/abs/2106.05127v1","url_pdf":"https://arxiv.org/pdf/2106.05127v1.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":"deep-clustering-based-fair-outlier-detection","repo_url":"https://github.com/brandeis-machine-learning/FairOutlierDetection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"deep-clustering","task_name":"Deep Clustering"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"outlier-detection","task_name":"Outlier Detection"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.05127","atlas_url":"https://app.syntology.ai/?focus=2106.05127","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.05127"}},"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/brandeis-machine-learning/FairOutlierDetection","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":3,"ran":1,"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":3,"samples":[{"code_sha256_prefix":"3fdd6f608ca5c48c","entry":"distance_euclidean","repo":"brandeis-machine-learning/FairOutlierDetection","repo_kind":"official","path":"code/FairLOF/FairLOF.py","file_url":"https://github.com/brandeis-machine-learning/FairOutlierDetection/blob/HEAD/code/FairLOF/FairLOF.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3fdd6f608ca5c48c"}},{"code_sha256_prefix":"f1e37c945fecb8bb","entry":"Train","repo":"brandeis-machine-learning/FairOutlierDetection","repo_kind":"official","path":"code/FairOD/FairOD.py","file_url":"https://github.com/brandeis-machine-learning/FairOutlierDetection/blob/HEAD/code/FairOD/FairOD.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1e37c945fecb8bb"}},{"code_sha256_prefix":"d09d5555fa413faf","entry":"run","repo":"brandeis-machine-learning/FairOutlierDetection","repo_kind":"official","path":"code/FairLOF/FairLOF.py","file_url":"https://github.com/brandeis-machine-learning/FairOutlierDetection/blob/HEAD/code/FairLOF/FairLOF.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d09d5555fa413faf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}