{"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/self-pu-self-boosted-and-calibrated-positive","title":"Self-PU: Self Boosted and Calibrated Positive-Unlabeled Training","arxiv_id":"2006.11280","date":"2020-06-22","proceeding":"ICML 2020 1","authors":["Xuxi Chen","Wuyang Chen","Tianlong Chen","Ye Yuan","Chen Gong","Kewei Chen","Zhangyang Wang"],"abstract":"Many real-world applications have to tackle the Positive-Unlabeled (PU) learning problem, i.e., learning binary classifiers from a large amount of unlabeled data and a few labeled positive examples. While current state-of-the-art methods employ importance reweighting to design various risk estimators, they ignored the learning capability of the model itself, which could have provided reliable supervision. This motivates us to propose a novel Self-PU learning framework, which seamlessly integrates PU learning and self-training. Self-PU highlights three \"self\"-oriented building blocks: a self-paced training algorithm that adaptively discovers and augments confident positive/negative examples as the training proceeds; a self-calibrated instance-aware loss; and a self-distillation scheme that introduces teacher-students learning as an effective regularization for PU learning. We demonstrate the state-of-the-art performance of Self-PU on common PU learning benchmarks (MNIST and CIFAR-10), which compare favorably against the latest competitors. Moreover, we study a real-world application of PU learning, i.e., classifying brain images of Alzheimer's Disease. Self-PU obtains significantly improved results on the renowned Alzheimer's Disease Neuroimaging Initiative (ADNI) database over existing methods. The code is publicly available at: https://github.com/TAMU-VITA/Self-PU.","url_abs":"https://arxiv.org/abs/2006.11280v1","url_pdf":"https://arxiv.org/pdf/2006.11280v1.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":"self-pu-self-boosted-and-calibrated-positive","repo_url":"https://github.com/TAMU-VITA/Self-PU","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2006.11280","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.11280"}},"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/TAMU-VITA/Self-PU","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"ran_draft_wrong":1,"unverified":10},"by_repo_kind":{"official":{"samples":12,"ran":2,"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":"b1f9cebf0d177140","entry":"boolean_string","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"evaluation.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/evaluation.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1f9cebf0d177140"}},{"code_sha256_prefix":"a2f6a25906e664c5","entry":"to_var","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"meta_models.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/meta_models.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a2f6a25906e664c5"}},{"code_sha256_prefix":"cef805581fe303e5","entry":"accuracy","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"evaluation.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/evaluation.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":"cef805581fe303e5"}},{"code_sha256_prefix":"34af99b20768b442","entry":"all_np","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"cifar_datasets.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/cifar_datasets.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":"34af99b20768b442"}},{"code_sha256_prefix":"d09e61188cf9beba","entry":"binarize_cifar_class","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"cifar_datasets.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/cifar_datasets.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":"d09e61188cf9beba"}},{"code_sha256_prefix":"971b15d61f9e214c","entry":"binarize_mnist_class","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/datasets.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":"971b15d61f9e214c"}},{"code_sha256_prefix":"e9ae7b09751b4912","entry":"decode_params","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"functions.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/functions.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":"e9ae7b09751b4912"}},{"code_sha256_prefix":"7b168938d2cbecc0","entry":"make_cifar_dataset","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"cifar_datasets.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/cifar_datasets.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":"7b168938d2cbecc0"}},{"code_sha256_prefix":"e02ed376dff8b120","entry":"make_dataset","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/datasets.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":"e02ed376dff8b120"}},{"code_sha256_prefix":"4b6074d01efc94cc","entry":"softmax_kl_loss","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"mean_teacher/losses.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/mean_teacher/losses.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":"4b6074d01efc94cc"}},{"code_sha256_prefix":"151e679b55203c9e","entry":"softmax_mse_loss","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"mean_teacher/losses.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/mean_teacher/losses.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":"151e679b55203c9e"}},{"code_sha256_prefix":"d75345cece6fcc81","entry":"symmetric_mse_loss","repo":"TAMU-VITA/Self-PU","repo_kind":"official","path":"mean_teacher/losses.py","file_url":"https://github.com/TAMU-VITA/Self-PU/blob/HEAD/mean_teacher/losses.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":"d75345cece6fcc81"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}