{"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/learning-with-complementary-labels-revisited","title":"Learning with Complementary Labels Revisited: The Selected-Completely-at-Random Setting Is More Practical","arxiv_id":"2311.15502","date":"2023-11-27","proceeding":null,"authors":["Wei Wang","Takashi Ishida","Yu-Jie Zhang","Gang Niu","Masashi Sugiyama"],"abstract":"Complementary-label learning is a weakly supervised learning problem in which each training example is associated with one or multiple complementary labels indicating the classes to which it does not belong. Existing consistent approaches have relied on the uniform distribution assumption to model the generation of complementary labels, or on an ordinary-label training set to estimate the transition matrix in non-uniform cases. However, either condition may not be satisfied in real-world scenarios. In this paper, we propose a novel consistent approach that does not rely on these conditions. Inspired by the positive-unlabeled (PU) learning literature, we propose an unbiased risk estimator based on the Selected-Completely-at-Random assumption for complementary-label learning. We then introduce a risk-correction approach to address overfitting problems. Furthermore, we find that complementary-label learning can be expressed as a set of negative-unlabeled binary classification problems when using the one-versus-rest strategy. Extensive experimental results on both synthetic and real-world benchmark datasets validate the superiority of our proposed approach over state-of-the-art methods.","url_abs":"https://arxiv.org/abs/2311.15502v4","url_pdf":"https://arxiv.org/pdf/2311.15502v4.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":"learning-with-complementary-labels-revisited","repo_url":"https://github.com/wwangwitsel/scarce","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"binary-classification","task_name":"Binary Classification"},{"task_slug":"multi-class-classification","task_name":"Multi-class Classification"},{"task_slug":"weakly-supervised-learning","task_name":"Weakly-supervised Learning"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.15502","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.15502"}},"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/wwangwitsel/SCARCE","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wwangwitsel/scarce","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":5,"ran_honours":1,"ran":2,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":10,"samples":[{"code_sha256_prefix":"67f611252a0e63d0","entry":"SCARCE_loss","repo":"wwangwitsel/scarce","repo_kind":"official","path":"utils_algo.py","file_url":"https://github.com/wwangwitsel/scarce/blob/HEAD/utils_algo.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"67f611252a0e63d0"}},{"code_sha256_prefix":"80816bbb295555ac","entry":"SCARCE_loss","repo":"wwangwitsel/scarce","repo_kind":"official","path":"utils_algo.py","file_url":"https://github.com/wwangwitsel/scarce/blob/HEAD/utils_algo.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"80816bbb295555ac"}},{"code_sha256_prefix":"ef05b3a4f8c5a45c","entry":"accuracy_check","repo":"wwangwitsel/scarce","repo_kind":"official","path":"utils_algo.py","file_url":"https://github.com/wwangwitsel/scarce/blob/HEAD/utils_algo.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ef05b3a4f8c5a45c"}},{"code_sha256_prefix":"4629c54ceb172d36","entry":"accuracy_check","repo":"wwangwitsel/SCARCE","repo_kind":"official","path":"utils_algo.py","file_url":"https://github.com/wwangwitsel/SCARCE/blob/HEAD/utils_algo.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4629c54ceb172d36"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"wwangwitsel/SCARCE","repo_kind":"official","path":"cifar_models/resnet.py","file_url":"https://github.com/wwangwitsel/SCARCE/blob/HEAD/cifar_models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"b2f17be097773454","entry":"generate_compl_labels_random","repo":"wwangwitsel/SCARCE","repo_kind":"official","path":"utils_data.py","file_url":"https://github.com/wwangwitsel/SCARCE/blob/HEAD/utils_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b2f17be097773454"}},{"code_sha256_prefix":"818a2ecedf0e443c","entry":"logistic_loss","repo":"wwangwitsel/scarce","repo_kind":"official","path":"utils_algo.py","file_url":"https://github.com/wwangwitsel/scarce/blob/HEAD/utils_algo.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"818a2ecedf0e443c"}},{"code_sha256_prefix":"b10d7e0d8c6b027a","entry":"logistic_loss","repo":"wwangwitsel/scarce","repo_kind":"official","path":"utils_algo.py","file_url":"https://github.com/wwangwitsel/scarce/blob/HEAD/utils_algo.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b10d7e0d8c6b027a"}},{"code_sha256_prefix":"efa941da0bce2a64","entry":"class_prior","repo":"wwangwitsel/SCARCE","repo_kind":"official","path":"utils_data.py","file_url":"https://github.com/wwangwitsel/SCARCE/blob/HEAD/utils_data.py","link_basis":"harvester_set","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":"efa941da0bce2a64"}},{"code_sha256_prefix":"0ac9d8e2b2bf03ab","entry":"multiclass_noisify","repo":"wwangwitsel/SCARCE","repo_kind":"official","path":"utils_data.py","file_url":"https://github.com/wwangwitsel/SCARCE/blob/HEAD/utils_data.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":"0ac9d8e2b2bf03ab"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}